node.js로 자작 스마트 스피커 만들기

스마트 스피커로 음악을 좀 듣고 싶은데, 본인이 듣는 음악의 절대다수는 국내에서 발매되지 않는다. 시판되는 상용 스마트 스피커들은 스트리밍 판매수익 때문에, 애석하게도 개인이 가지고 있는 mp3파일을 재생하는 기능이 없다. (물론 블루투스 스피커로 쓰면 되긴 된다.) 내가 말하는 음악을 재생해주는 스피커를 만들 수 없을까 궁리를 좀 해봤다.

일전에 만든 스마트 거울[1]은 크롬에서 https 사이트가 아니면 마이크 인식이 안 되도록 보안 업데이트를 하는 바람에 annyang이 더 이상 작동하지 않아 음성인식이 되지 않았다.

일전에 메이커스 매거진 부록으로 라즈베리 파이로 만든 스마트 스피커[2]를 어떻게 써먹어 볼 수 없을까 싶었는데, 본인이 node.js를 전혀 할 줄 모르기 때문에 어떻게 손을 댈 수가 없었다. ㅋㅋ 그래도 산 게 왠지 아깝구만 젠장.

뭐 여하간 어찌 되겠지 싶어서, node.js에 대해 검색을 열라게 해 봤다. 진짜 구글링을 일억 번은 한 듯-_-

그래서 어째저째 작동하는 물건을 만들었다. stt와 tts 부분은 일단 KT 서버를 활용한다. 일단 음성을 텍스트화한 후에는 특정 키워드가 들어있으면 그에 해당하는 정보를 쏴 주고, 없으면 KT의 대화서버로 보내서 나온 결과를 쏴 주도록 코드를 작성했다. 근데 node.js에 대해 아는 게 없으니 너무 멘땅에 헤딩 식으로 코딩했다. 이것 때문에 3일이 그냥 날라갔구만-_-

재생시간 1분 21초.

와 요거 만드는데 그 수많은 고생을 하다니-_- 아직 음악 재생 부분은 구현도 못했고, 코드는 100줄 남짓인데 하도 코드 수정을 많이해서 들여쓰기도 엉망이고 주석도 거의 없다-_- 어쨌든 음성인식 결과를 웹브라우저에 쏴 줄 수도 있으니 이런저런 이미지나 다양한 효과는 가능할 듯 하다. 참고로 서버의 데이터를 클라이언트의 웹브라우저에 출력하는 방법은 SSE라는 걸 사용했는데, 이런 게 있는 줄 처음 알았네. ㅎㅎ 어느 친절한 분이 설명[3]을 잘 해 두었으니 참고 바람.

참고로 hotword인 ‘기가지니’는 네 글자인데, 너무 길어서 ‘지니야’로 하니까 자꾸 아이패드의 시리가 반응한다-_- 본인은 아이패드의 siri와 네이버 wave[4]로 mBox[5]를 음성제어하고 있기 때문에 ‘기가지니’를 선택할 수 밖에 없었다.

근데 하드웨어가 안 좋은건지 몰라도, 음성인식률이 너무 떨어져서 실사용은 어려울 것 같다. 아 이걸로 음악 좀 듣고 싶은데, 아무래도 어려울 듯.

.


[1] 내 백과사전 음성인식 스마트 거울 만들기 2016년 11월 2일
[2] 내 백과사전 메이커스 매거진 부록 AI Maker Kit​ 2018년 8월 12일
[3] [웹개발] SSE ( Server-Sent Events) 란 무엇인가 (hamait.tistory.com)
[4] 내 백과사전 네이버 wave 사용 소감 2018년 9월 8일
[5] 내 백과사전 mBox : 음성으로 적외선 리모컨 신호 제어 2018년 12월 8일

One thought on “node.js로 자작 스마트 스피커 만들기

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Google photo

Google의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

%s에 연결하는 중

This site uses Akismet to reduce spam. Learn how your comment data is processed.