728x90
라즈베리파이 음성인식 - Google API nodejs sample 실행
구글은 음성인식 API를 nodejs sample로도 제공하고 있다.
아래와 같이 sample 코드를 실행해보는 것만으로도 구글 음성인식을 간단히 시험해볼 수 있다.
1. 샘플코드 다운로드
$ git clone https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git
2. API 인증키 발급 및 다운로드
- 구글 프로젝트 사이트 접속
- 메뉴 > API 및 서비스 > 사용자 인증 정보
- 사용자 인증정보 만들기 > 서비스 계정 키
- Compute Engine default service account > JSON > 생성 및 다운로드
- 메뉴 > API 및 서비스 > 라이브러리 > Speech API
- Google Cloud Speech API 사용 설정
사용 설정을 클릭하면 결재계좌를 등록하라는 화면이 나온다.
카드정보를 입력하면 1달러 결재 후 취소되므로 당장 돈이 들지는 않는다.
아직까지는 무료이용이 가능하지만 1년간 무료라는 단서가 붙어있다.
3. 샘플코드 설치 및 실행
필요한 패키지들을 설치하고
$ cd ~/nodejs-docs-samples/speech
$ npm install
다운로드 받은 서비스 계정 키 파일의 경로를 export 한 뒤
$ export GOOGLE_APPLICATION_CREDENTIALS=/home/cmlee/MyHomeProject-1ca7b59ffdf2.json
샘플코드 실행을 해보자.
$ cd ~/nodejs-docs-samples/speech
$ node recognize.js listen
만약 패키지 설치가 안되어 있다면 아래와 같은 오류들이 나온다.
module.js:339
throw err;
^
Error: Cannot find module 'yargs'
at Function.Module._resolveFilename (module.js:337:15)
at Function.Module._load (module.js:287:25)
at Module.require (module.js:366:17)
at require (module.js:385:17)
at Object.<anonymous> (/home/cmlee/nodejs-docs-samples/speech/recognize.js:445:13)
at Module._compile (module.js:435:26)
at Object.Module._extensions..js (module.js:442:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:311:12)
at Function.Module.runMain (module.js:467:10)
해당 모듈들은 대부분 npm 사이트에서 찾을 수 있고 설치 방법도 나와 있다.
오류가 발생하면 오류메시지의 패키지를 찾아 설치가이드대로 설치하자.
npm install을 하지 않았다면 아래의 패키지들을 설치해야 한다.
$ npm i yargs --save
$ npm i node-record-lpcm16
$ npm install --save @google-cloud/speech
단, 아래와 같이 Sound 처리를 위한 sox 라이브러리를 요구하는 오류가 발생할 경우는 apt로 설치가 필요하다.
$ node recognize.js listen
Listening, press Ctrl+C to stop.
events.js:141
throw er; // Unhandled 'error' event
^
Error: spawn rec ENOENT
at exports._errnoException (util.js:874:11)
at Process.ChildProcess._handle.onexit (internal/child_process.js:178:32)
at onErrorNT (internal/child_process.js:344:16)
at doNTCallback2 (node.js:439:9)
at process._tickCallback (node.js:353:17)
at Function.Module.runMain (module.js:469:11)
at startup (node.js:134:18)
at node.js:961:3
sox 라이브러리 설치
$ sudo apt-get install sox libsox-fmt-all
다시 샘플코드를 실행해 보자.
$ cd ~/nodejs-docs-samples/speech
$ node recognize.js listen
Listening, press Ctrl+C to stop.
Transcription: hello
Transcription: what is your name
성공! 콩글리쉬도 잘 알아듣는다.
이제 설정을 한글로 바꾸고, 샘플 코드를 발췌해서 기능들과 매핑시키면 된다.
728x90
'Raspberry pi' 카테고리의 다른 글
Alexa Pi (Raspberry pi + Alexa) 그리고 Bluetooth Speaker 로 Amazon Echo 만들기 (0) | 2017.12.24 |
---|---|
Wake on LAN으로 PC 켜기 (0) | 2017.10.24 |
라즈베리파이 음성인식 - 블루투스 프로파일 변경 (0) | 2017.09.04 |
라즈베리파이 음성인식 - 블루투스 스피커 연결 (3) | 2017.08.29 |
Swap 늘리기 (0) | 2017.06.15 |