라즈베리파이 음성인식 - Google API nodejs sample 실행
라즈베리파이 음성인식 - Google API nodejs sample 실행
구글은 음성인식 API를 nodejs sample로도 제공하고 있다.
아래와 같이 sample 코드를 실행해보는 것만으로도 구글 음성인식을 간단히 시험해볼 수 있다.
1. 샘플코드 다운로드
$ git clone https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git
2. API 인증키 발급 및 다운로드
구글 프로젝트 사이트 접속 https://console.cloud.google.com/
메뉴 > 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. (/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
성공! 콩글리쉬도 잘 알아듣는다.
이제 설정을 한글로 바꾸고, 샘플 코드를 발췌해서 기능들과 매핑시키면 된다.
from http://viewise.tistory.com/48 by ccl(A) rewrite - 2020-03-06 13:20:09
댓글
댓글 쓰기