얼마전 구글 음성인식 스피커 ‘구글홈(Google Home)’이 한국어 지원을 시작하였습니다.

이를 기념(?)하기위해 Google AIY Voice Kit(V1) 패키지로 ‘구글어시스턴트(Google Assistant SDK) + 라즈베리파이(Raspberry Pi 3)’ 조합의 구글홈(음성인식/AI스피커)을 세팅했습니다.

Voice Kit 패키지를 세팅하면서, 설치 가이드에는 나와있지 않은 한글폰트 설치, 자동 재부팅 등의 추가 설정 정보를 정리해봅니다.

1. 패키지 조립 및 구글어시스턴트 설정은 아래 링크를 통해 따라하시면 별 무리없이 설정이 가능합니다.

설치 가이드 웹사이트(영어) Google AIY Voice Kit V1
동영상 가이드(영어) Google AIY Voice Kit How-To Part 1
개봉기/설치가이드 1(한글) Google Voice Kit 2
설치가이드 2 (한글) 구글 AIY Voice Kit 조립해보기/라즈베리파이3/음성인식


2. 한글 표기를 위해 폰트를 추가 설치
– Google Assistant 가 설치되는 OS인 라즈비안은 기본적으로 영어로만 설정되어 있기 때문에, 한글의 입/출력을 위해서는 한글폰트를 추가 설치해야 합니다.

//라즈비안 시스템 패키지 목록 갱신
$sudo apt-get update
//설치된 패키지 최신버전 업그레이드
$sudo apt-get upgrade
//한글설치   
$sudo apt-get install fonts-unfonts-core ibus ibus-hangul

3. 프로그램 설치/관리를 원격으로 편리하게 하기 위해 VNC 설치

$sudo apt-get install tightvncserver
//vnc 서버시작
$vncserver :1
//서버종료는 vncsever -kill :1

자신의 OS에 맞는 vncviewer 프로그램을 설치하고, 해당 IP를 입력하여 연결을 합니다.연결에 성공했다면, 이제 라즈베리파이에 모니터와 키보드/마우스 연결 없이도 원격접속으로 Voice Kit을 제어할 수 있게됩니다. (참고. VNC로 접속하여 원격 제어하는 방법)

//재부팅 시 vnc 자동 실행을 위해 rc.local 환경설정 파일에 실행 명령어 등록
$sudo nano /etc/rc.local
//문서 하단 'fi ~ exit 0' 사이에 vnc 자동실행 명령어 입력
...
fi
su pi -c ‘tightvncserver :1’ &
exit 0

4. 부팅 시 Google Assistant 모듈 자동실행
– 라즈베리파이를 재부팅할 때마다 Assistant 모듈을 자동으로 실행하게 함으로써, Voice Kit을 전원에 연결하기만 하면 구글홈이 준비됩니다.

$sudo nano /etc/systemd/system/assist.service
[Unit]
Description=My awesome assistant app

[Service]
Environment=XDG_RUNTIME_DIR=/run/user/1000
ExecStart=/bin/bash -c 'python3 -u src/assistant.py'
WorkingDirectory=/home/pi/AIY-projects-python
Restart=always
User=pi

[Install]
WantedBy=multi-user.target
$sudo systemctl enable assist.service
$sudo systemctl start assist.service

5. Google Assistant 한국어 설정하기(Hotword)
Google Assistant 는 기본적으로 영어입니다. 영어가 익숙하거나, 영어학습이 목적이 아니라면, 아무래도 활용에 제약이 생깁니다. (맨날 “what is Weather~”만 말하게 될지도..)
다행히도 얼마전, ‘한국어’가 추가되어 편하게 사용할 수 있게 되었습니다.

스마트폰에 Google Assistant 앱을 설치 후, Google 계정으로 로그인합니다
이후 설정 > 환경설정 > 어시스턴트언어 에서 ‘한국어’를 추가하면 ‘OK google~’의 음성호출로(Hotword) 한국어를 사용할 수 있게됩니다.


6. cron 명령어를 사용하여 Voice Kit 자동 재부팅(매일 오전 6시) 스케쥴 추가
일상생활에서 언제든 ‘OK google~’을 부르기 위해서는 Voice Kit이 항상 켜져있어야 겠지요. 라즈비안은 리눅스기반의 OS로 재부팅 없이 장시간 운영이 가능하지만, 원활한 사용을 위해 재부팅을 한번씩 해주면 좀 더 쾌적하게 사용할 수 있습니다.
(참고 리눅스 반북 예약작업 cron, crontab)

$crontab -e
//에디트모드에서 스케쥴 추가(매일 06시 재부팅)
0 6 * * * reboot
//cron 서비스 재시작
$service cron restart // cron 서비스 재시작

AIY Voice Kit 이 아니더라도 라즈베리파이와 스피커, USB마이크가 있다면 당연히도 음성인식 스피커를 만들 수 있습니다.
라즈베리파이+Google Assistant 한국어 테스트

구글어시스턴트의 기능을 확장한 GassistPi 라는 프로젝트를 발견했습니다.
보다 나은 환경을 제공한다니 조만간 도전해 봐야겠습니다.
– GassistPi — Google Assistant for all Raspberry Pi Boards
– 라즈베리파이에 GassistPi 설치하기

update – 2주 정도 사용해 본 Google AIY Kit  (2018. 10. 28)
  • AIY Kit에 동봉된 ‘마이크 모듈’의 인식률이 그다지 좋지 못합니다. “오케이구글”을 반복적으로 불러야 할 때가 종종있네요.
  • Google Home 어플리케이션에서 아직 장치로 인식을 하지 못합니다. 때문에 크롬캐스트나 필립스휴 장비등을 제어할 때 번거롭거나, 어려움이 있습니다.
  • 결론은 AIY Kit은 전적으로 교육용이고, Google Home을 대체할 수 없습니다. AIY Kit으로 AI스피커에 흥미를 느꼈다면 Google Home을 사라는 마중물 프로젝트입니다. 세련되게 영악한거죠 :)




Show CommentsClose Comments

Leave a Reply