RPI로 KT Gigagenie AI 스피커 키트 만들기 - 3편

저번 시간에는 예제 구동을 위해 회원가입과 키 값 가져오기를 해봤습니다.

이번 시간에는 기본 예제들을 구동해 보도록 하겠습니다.

KT Ai Gigaginie 키트는 Node js와 python 2가지로 예제가 제공됩니다.

먼저 Python을 사용해 보도록 하겠습니다.

python 예제 사용 준비하기

$sudo apt-get install libasound-dev
$sudo apt-get install libportaudio0 libportaudio2 libportaudiocpp0 portaudiol9-dev

사운드 관련 라이브러리를 설치해 줍니다.

마지막의 portaudio19-dev의 1은 숫자 1 입니다.

$sudo apt-get install python3-pyaudio

Python으로 audio를 사용하기 위한 라이브러리입니다.

$sudo pip3 install grpcio grpcio-tools

gprc를 사용하기 위해 pip3를 이용하여 설치해 줍니다.

pip만 사용하면 python2버전으로 설치되니 주의해 주시기 바랍니다.

$sudo python3 -m easy_install ktkws-1.0.1-py3.5-linux-armv7l.egg

easy_install을 이용하여 ktkws를 설치해 줍니다.

이상으로 python3로 예제 구동을 하기 위한 준비가 끝났습니다.

예제 1번 기가지니 부르기

예제 1번은 기가지니를 호출하는 예제입니다.

$cd ~/ai-makers-kit/python
$python3 ex1_kwstest.py

python 예제가 있는 폴더로 이동하여 예제1번 ex1_kwstest.py를 실행시켜 줍니다.

기가지니라고 부르면 효과음을 내며 detect rc = 200과 함께 종료됩니다.

예제 2번 STT 기능 사용하기

Sound To Text(STT)를 사용하는 예제입니다.

텍스트에디터를 이용하여 CLIENT_ID, KEY, SECRET 값을 넣어줍니다.

이 값은 2번째 시간에 받은 clientKey.json파일 안에 있습니다.

$python3 ex2_getVoice2Text.py

예제 2번을 실행시켜 줍니다.

실행하면 ALSA 라이브러리가 실행되며 장치를 찾습니다.

에러가 아니므로 안심하셔도 됩니다.

말한 단어가 나오며 종료됩니다.

처음에 왜 말하기가 나가기로 인식되었는지 모르겠네요.

아무튼 잘 인식되는걸 볼 수 있습니다.

예제 3번 Text - Voice 변환 Url 가져오기

입력한 텍스트를 소리로 들을 수 있는 Url을 반환하는 예제입니다.

바로 4번으로 넘어가도 되지만 다른곳에 사용할 수 있으니 해보도록 하겠습니다.

2번 예제와 마찬가지로 CLIENT_ID, KEY, SECRET를 넣어줍니다.

$python3 ex3_getText2VoiceUrl.py

예제를 실행하면 Url이 하나 나옵니다.

이를 인터넷 브라우저를 열어 붙여넣어줍니다.

소리 파일이 실행되며 기본으로 설정되어있던 안녕하세요. 반갑습니다.가 재생됩니다.

예제 4번 Text - Voice 파일로 저장하기

예제 3번의 업그레이드 버전입니다.

입력된 텍스트를 소리 파일로 변환하는 예제입니다.

어김없이 CLIENT_ID, KEY, SECRET를 넣어줍니다.

밑으로 내려 안녕하세요. 반갑습니다.라고 되어있던 부분을 다른 텍스트로 바꿔주었습니다.

한글 입력의 경우 우측 상단의 키보드 모양을 누르면 태극문양으로 바뀌며 한글 입력이 가능합니다.

저는 텍스트를 소리로.를 넣고 저장해 주었습니다.

$python3 ex4_getText2VoiceStream.py

예제 4번을 실행시켜 줍니다.

200 코드와 함께 Audio Stream이 나왔다면 성공한 것입니다.

파일 목록중 testtts.wav라는 파일이 생성된 것을 확인할 수 있습니다.

$aplay testtts.wav

aplay 명령어를 이용하여 소리 파일을 실행시켜 줍니다.

입력했던 텍스트가 소리로 바뀌어 재생되는 것을 들을 수 있습니다.

예제 5번 텍스트로 query문 보내기

AI 스피커라면 전부 가지고 있는 query문(질문하기)이 나왔습니다.

텍스트로 질문을 보내면 텍스트로 답하는 예제입니다.

CLIENT_ID, KEY, SECRET를 넣는 과정은 생략하도록 하겠습니다.

$python3 ex5_queryText.py

예제 5번을 실행시키면 기본 query문인 안녕이 실행됩니다.

응답으로는 안녕하세요~~~가 온 것을 볼 수 있습니다.

예제 6번 소리로 query문 보내기

6번은 소리를 통해 query문을 보내는 예제입니다.

먼저 CLIENT_ID, KEY, SECRET를 넣어줍니다.

$python3 ex6_queryVoice.py

예제 6번을 실행시켜줍니다.

입력한 소리에 따라 *가 나오게 됩니다.

몇시야라는 질문을 해봤습니다. 대답이 잘 나오는걸 볼 수 있습니다.

이상으로 python으로 예제 실행하기 편을 마치도록 하겠습니다.

감사합니다.