소프트웨어 프로젝트/Lexie - 포르투갈어_사전_번역_프로젝트

[프로젝트] Say4Me V2 - 음성 명령 기능

미래지기 2018. 1. 6. 03:48


  Say4Me Voice 안드로이드 앱은 스마트폰에 잘 설치하셨나요? 아직 설치하지 않으셨다면 http://livros.tistory.com/250 에서 받아 설치하세요.


1. Say4Me Voice 환경 설정하기

  앱을 설치하고 나면 먼저 설정을 해 주어야 쓸 수 있습니다. 앱 화면의 왼쪽 밑에 있는 톱니바퀴 아이콘을 터치해서 아래와 같은 환경 화면을 엽니다.

  설정은 간단합니다. Say4Me가 설치되어 있는 컴퓨터의 아이피(IP)와 포트(PORT) 번호를 넣고 [설정 저장]을 누르면 설정은 끝납니다. 예를 들어 위 사진에 있는 아이피는 같은 LAN에 있는 컴퓨터를 말합니다. 만약 고정 아이피나 고정 아이피 서비스를 쓴다면 라우터 (aka 공유기) 설정에서 포트를 열어두고 (포트 포워딩) 개방해 두세요. 전세계 어디에서든 Say4Me로 메세지 (텍스트)를 보내 음성으로 출력할 수 있습니다.

참고 : 외부IP에서 내부IP 접속 환경 설정 : http://studyforus.tistory.com/27

  위의 사진처럼 내부 아이피를 설정해야 하는데, Say4Me가 설치되어 있는 컴퓨터의 아이피를 모른다면 Say4Me의 <환경설정>을 열고 [메세지 수신 / 전달] 탭으로 이동한 다음 체크 아이콘 (이 컴퓨터의 로컬 IP 찾기)을 누르세요. 바로 왼쪽으로 Say4Me 컴퓨터의 IP가 표시됩니다. <이 컴퓨터의 IP> 바로 밑의 아이피와 포트 번호를 위의 앱 환경설정에 옮겨 적고 [설정 저장]을 누릅니다.

  Say4Me Voice 앱의 환경 설정은 이게 전부입니다. 이제는 Say4Me 프로그램에서 앱이 보내는 메시지를 받도록 설정해 주어야 합니다. 위의 Say4Me <환경설정>에서 [네트워크 수신 mode]를 켜고 (체크하고) [설정 저장]을 누르시면 됩니다. 이 네트워크 수신 모드는 언제는 쉽게 끄고 켤 수 있습니다. 네트워크 수신 모드를 꺼두면 앱이나 네트워크의 그 어떤 곳에서 메시지를 보내더라도 받지 않습니다. 메세지를 받는 컴퓨터, 즉 Say4Me 쪽에서 이 기능을 꺼둔 줄 모르고 메세지를 보낸다면 보내는 사람은 에러 메세지를 보게 됩니다.


2. Say4Me Voice로 음성 명령 내리기

  이제 테스트를 해 볼까요? Say4Me Voice 앱에 있는 시계나 달력 아이콘을 누르면 현재 시간과 날짜를 음성으로 출력해 줍니다. (물론 윈도 제어판에서 한국어 음성 파일을 정상적으로 설치하고 기본 음성으로 설정해 놓아야 제대로 들리겠지요?) 헤드폰 모양의 아이콘을 터치하면 <MP3멘트> 기능을 시작하고, 그 옆의 오랜지색 아이콘은 <RSS 읽기> 기능을 시작합니다. 이런 기능을 쓰려면 아래 사진처럼 먼저 재생할 곡을 Say4Me에서 선택해 주어야 하며, RSS 주소도 등록해 주어야 합니다.



  아이콘을 터치하지 않고 음성으로 명령을 전달해 볼까요? 앱 화면 가운데 자리한 커다란 마이크 아이콘을 터치하세요. 그리고 구글 음성 인식기가 나올 때 아래와 같이 원하는 명령을 내리세요.

"지금 몇 시야?"
"오늘 날씨는?"
"음악 틀어!"
"RSS 읽어줘!"
"모든 기능을 꺼!"
"20분 뒤에 알람 맞춰줘!"
"볼륨 올려!"
"볼륨 내려!"
"볼륨 가장 작게!"

  Say4Me에게 내릴 수 있는 명령을 몇 가지 모아서 아래 사진처럼 메뉴에 모아 놓았습니다. 이 메뉴는 명령어를 보여줄 뿐 만 아니라, 선택하면 메뉴에 표시된 기능이 곧 바로 실행됩니다.


  어떤 명령을 보냈는지, 어떤 명령을 제대로 알아듣지 못했는지 궁금하면 [기타 기능] - [이벤트 목록 보기]를 선택하세요.
Say4Me가 받은 텍스트와 음성 명령을 모두 볼 수 있습니다.



  Say4Me <환경설정>의 [음성 명령] 탭에 나만의 사이트 세 개를 등록할 수 있습니다. 아래 사진처럼 등록한 다음 "홈페이지", "날씨", "이메일"이라고 명령하면 해당 사이트가 열리며, 예약된 사이트도 사진에 있는 것처럼 그 이름만 부르면 그 사이트가 바로 열립니다. 음성 명령으로 인터넷 검색도 할 수 있습니다. <검색엔진 이름 + 검색할 내용 + "검색">의 구조로 명령을 내리면 검색이 가능합니다. 문장 순서는 바뀌어도 상관 없습니다. 예를 들면 아래와 같습니다.

"페이스북"
"이메일"
"인스타그램"
"구글 어벤저스 검색"

"구글 검색 어벤저스"
"유튜브 신과 함께 해외 반응 검색"
"검색 유튜브 아이폰"
"위키 검색 소말리아"
"브런치 인공지능 검색"
'이미지 검색 세월호"
"2018년 키워드 검색 트위터"


3. 데스크톱에서 음성 명령 내리기

  스마트폰이 아니라 윈도가 설치된 컴퓨터에서도 Say4Me로 음성 명령을 내릴 수 있을까요? 윈도 7에는 한국어 음성 인식 도구가 없습니다. 윈도 10에서는 가능할지도 모르지만, 주로 테스트 한 컴퓨터가 윈도 7이었기에 다른 방법을 찾아보았습니다. 윈도 데스크톱에서 구글 크롬 브라우저의 음성 인식 기능을 활용하여 Say4Me에 명령을 내리는 방법이 있습니다. 이 환경을 만드는 방법은 아래와 같습니다.

  하나) voice notebook 크롬 확장 앱을 크롬 브라우저에 설치하고 아래 사진과 같이 한국어 / Transfer to clipboard / OS integration / Stay on top 옵션을 설정합니다. 


둘) http://voicenotebook.com 사이트를 열어 아래 사진과 같이 설정합니다.

  셋) Say4Me에서 <환경설정>이나 메뉴를 통해 <클립보드 TTS mode>를 켭니다.

  이제 준비가 되었습니다. 데스크톱이나 노트북에 설치한 마이크에 대고 명령을 하면 Say4Me가 명령어를 받아 실행하는 것을 확인하실 수 있습니다. 이 사이트가 열린 크롬 브라우저만 닫지 않는다면 자유롭게 방 안에서 (마이크가 소리를 인식할 수 있는 범위 안에서) 음성 명령으로 Say4Me를 활용할 수 있습니다.

* 이 꼼수의 조합의 작동 방식은 이렇습니다. voicenotebook 사이트가 구글 음성 인식 기능을 호출하여 마이크로 입력된 음성을 받아 클립보드로 전달합니다. 그러면 Say4Me가 이 클립보드의 내용을 주기적으로 읽어서 명령어를 해석하게 됩니다. 한번 받은 클립보드 메세지는 메모리에서 삭제되므로, <클립보드 TTS mode>가 작동하고 있는 동안에는 클립보드의 내용을 다른 어릎리케이션에서는 쓸 수 없게 된다는 점을 기억하시기 바랍니다.

궁금한 점이나 개선해야 할 부분이 있으면 댓글을 남겨주시기 바랍니다.

▨ mirejiki