Data Analysis for Investment & Control
라즈베리파이(Raspberry Pi) 2로 아마존 알렉사(Alexa) 음성 서비스 이용하기 본문
라즈베리파이(Raspberry Pi) 2로 아마존 알렉사(Alexa) 음성 서비스 이용하기
아슈람 2017. 2. 9. 23:25이미 영화 아이언맨의 자비스와 같이 음성 언어 인터페이스를 갖는 인공 비서 서비스에 대한 개념은 생소한 것이 아니다. 더욱이 최근에는 애플, 마이크로소프트, 아마존, 구글 등 외국 IT 기업이나 SK 텔레콤, 네이버와 같은 국내 기업에서도 음성 인식 및 합성 인터페이스 기반의 서비스 플랫폼을 개발, 제공하고 있다.
하지만 자비스처럼 집안 어느 곳에서나 명령을 인식하고 처리할 수 있도록 하려면 이동 경로 곳곳에 디바이스를 배치해야 한다.
이런 관점에서 음성 언어 인터페이스 기반의 인공지능 비서 서비스에 대해 구상은 하고 있었는데, 왠걸... 이미 아마존에서 알렉사 보이스 서비스 기반의 에코닷이라는 걸 판매하고 있더라..ㅜㅜ
그래도 나중에 자체 개발한 인공지능 플랫폼을 붙여야 하기 때문에 올해부터 디바이스 개발을 시작하기로 했다.
작년에 사두고 쳐 박아 놓은 라즈베리파이2 모델B가 있으니 마이크와 스피커만 사서 붙여놓으면 하드웨어 구성은 되겠다 싶어 바로 구매하였다.
하드웨어 구성은 다음 사진과 같다.
4개의 USB 포트에는 키보드, 마우스, 무선랜, 마이크를 연결해 놓았고, 3.5mm 오디오 잭에 스피커를 연결해 놓았다.
본격적인 개발에 앞서 아마존 알렉사 보이스(Alexa Voice Service, 이하 AVS) API를 이용하여 라즈베리 파이 보드 기반으로 동작하는 예제를 알게되어 테스트 해보았다.
1. 라즈베리안 설치
오랬동안 사용하지 않았기 때문에 SD 카드를 포맷하고 최신 라즈비안으로 설치했다.
https://www.raspberrypi.org/downloads/raspbian/ 로 가서 Raspbian Jessie With Pixel을 다운 받아 설치한다. 설치 방법은 다음 링크를 참조하거나 구글링을 하면 많이 나오기도 하니 찾아서 진행하도록 하자.
http://kbc20000.blog.me/220923788944
2. alexa-avs-sample-app 설치하기
설치 및 설정 방법은 다음 링크를 통해 자세히 설명되어 있다.
https://github.com/alexa/alexa-avs-sample-app/wiki/Raspberry-Pi
시작하기에 앞서 AVS를 이용하려면 아마존 개발자 계정이 있어야 하는데, 다음의 링크를 참조하여 미리 계정 생성과 AVS 서비스 신청을 하는 것을 추천한다.
https://github.com/alexa/alexa-avs-sample-app/wiki/Create-Security-Profile
메뉴얼에 따라 Step by Step으로 진행하면 문제는 없을 텐데, 처음에는 설치 과정에 뭘 잘못 눌렀던지 alexa-avs-sample-app/samples/javaclients/certs 디렉토리에 보안 관련 설정 파일들이 없어서 GitHub의 이슈에서 다른 사람이 Trouble shooting 하는 것을 한참 읽어보다가 아예 처음부터 다시 설치했더니 정상적으로 설치가 되는 것을 확인 하였다.
중간에 npm 명령어가 안먹었는데, 뭔지 잘 모르고 있다가 node.js 관련 명령어 NPM(Node Package Manager)임을 알고 node.js 관련 설치를 했다. 혹시 애초에 node.js 관련 패키지들이 안깔려 있어서 AVS 설치 및 설정이 제대로 안된 건지도 모르겠다.
node.js와 npm 설치에 관해서는 다음 블로그에 도움을 받았다.
http://programmingsummaries.tistory.com/374
정상적으로 Step 7까지 설정을 완료한 것으로 일련의 설치를 마치고 음성 테스트를 시작했다.
3. Alexa 보이스 서비스 테스트 하기
가이드 대로 설치가 되었다면, 화면에 Alexa Voice Service 대화 상자가 떠 있는 것이 보일 것이다. 이를 통해 Alexa가 음성 입력이 되고 있는지를 파악할 수 있다.
wakeWordAgent 콘솔을 통해 음성 언어 인터페이싱에 대한 진행 상황을 출력하게 된다.
테스트 언어는 영어로 진행하였으며 테스트 방법은 먼저 사용자가 "Alexa"라고 불러 AVS가 들을 준비가 되면 스피커를 통해 "띠링" 소리와 함께 AVS 대화 상자 상태가 바뀐다.
그런 다음 사용자가 영어로 원하는 질문을 하여 인식을 하게 되면 그에 맞는 대답을 음성으로 출력하게 된다. 리스닝 상태에서 한동안 음성이 탐지 되지 않으면 자동으로 Idle 모드로 돌아가게 된다.
간단히 몇 가지 질문을 해본 결과 받은 인상은 애플의 시리 수준으로 인식 및 대화 능력이 뛰어나다는 것이다. 물론 한국어 서비스가 안되는 것이 아쉽긴 하지만 API 기반의 음성 서비스가 어떻게 동작하는지 이해할 수 있는 좋은 예제 인듯 하다.
(이 글이 마음에 드신다면 아래 버튼을 눌러 주세요~~^^)