Notice
Recent Posts
Recent Comments
Today
Total
03-29 01:50
Archives
관리 메뉴

Jeongchul Kim

Google Cloud Speech 음성인식 API python, nodejs 본문

스마트미러

Google Cloud Speech 음성인식 API python, nodejs

김 정출 2017. 8. 29. 00:46


Google Cloud Speech 음성인식 API python, nodejs

Google Cloud 프로젝트 생성하기

https://cloud.google.com/speech/

웹 사이트로 이동하여 VIEW CONSOLE 흰색 버튼을 클릭합니다.


상단부 메뉴에 프로젝트를 클릭합니다.


다음에 뜬 팝업창에서 + 버튼을 클릭합니다.



새 프로젝트에서 프로젝트 이름을 입력하고 ‘만들기' 파란색 버튼을 클릭합니다.




이후에 생성된 프로젝트로 이동합니다.



사이드 메뉴에서 APIs and Services 버튼을 클릭하고 Dashboard로 이동합니다.


대시보드 옆에 ENABLE APIS AND SERVICES 버튼을 클릭합니다.



Google Cloud 기계 학습

Speech API 파란색 버튼을 클릭합니다.


‘사용 설정' 파란색 버튼을 클릭합니다.


‘사용 중지' 버튼을 클릭하면 Google Cloud Speech API 사용을 중지합니다.

사이드 메뉴에서 ‘사용자 인증 정보' 버튼을 클릭합니다.


Google Cloud Speech API

https://console.cloud.google.com/flows/enableapi?apiid=speech.googleapis.com

다음의 사이트에서 위에서 만든 프로젝트를 선택하고 ‘계속' 파란색 버튼을 클릭합니다.


‘사용자 인증 정보로 이동' 파란색 버튼을 클릭합니다.


Google Cloud Speech API를 선택하고

Google Compute Engine을 사용 중인가요에 예를 선택하고

‘어떤 사용자 인증 정보가 필요한가요?’ 파란색 버튼을 클릭합니다.


‘완료'의 파란색 버튼을 추가합니다.


OAuth 클라이언트 ID를 만들기 위해서 제품 이름을 설정해야 합니다.

‘동의 화면 구성'의 파란색 버튼을 클릭합니다.



제품 이름을 입력합니다. ‘저장' 파란색 버튼을 클릭합니다.


애플리케이션 유형에서 웹 애플리케이션을 선택하고, 이름을 입력합니다.

‘생성'의 파란색 버튼을 클릭합니다.



생성된 OAuth 클라이언트의 ID와 Secret Key를 확인할 수 있습니다.


Google Cloud SDK 설치


https://cloud.google.com/sdk/?hl=ko

사이트로 이동합니다.

OS에 맞게 INSTALL FOR MAC OS X 파란색 버튼을 클릭하여 설치를 진행합니다.



$ mkdir GoogleCloudSDK

$ cd GoogleCloudSDK

$ wget https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/google-cloud-sdk-165.0.0-darwin-x86_64.tar.gz



$ tar -xzvf google-cloud-sdk-165.0.0-darwin-x86_64.tar.gz


$ sudo ./google-cloud-sdk/install.sh


Y를 입력합니다.


Y를 입력합니다.


Enter를 입력합니다.


$ source ~/.bash_profile

$ sudo gcloud init


Y 를 입력하여 로그인을 진행합니다.


구글 로그인 사이트로 이동합니다. 로그인을 진행합니다.


‘허용' 파란색 버튼을 클릭합니다.


허용 버튼을 클릭 후에 다음의 사이트로 이동합니다.

인증이 완료되었습니다.


터미널로 이동하면 프로젝트 ID가 보입니다.

인덱스 숫자를 입력합니다. 최근에 만든 prime-sign-175907인 1번을 입력합니다.


y를 입력합니다.



Google Cloud Account 생성

https://cloud.google.com/iam/docs/creating-managing-service-accounts


kimjeongchul 이라는 Account 계정을 생성합니다.

$ sudo gcloud iam service-accounts create kimjeongchul --display-name "my service account"


$ sudo gcloud iam service-accounts list


위의 이메일 주소를 복사합니다.



Google Cloud Service Account Key 생성

https://cloud.google.com/iam/docs/creating-managing-service-account-keys


$ sudo gcloud iam service-accounts keys create ~/kimjeongchul_gcloud_service_accounts_key.json --iam-account kimjeongchul@프로젝트명.iam.gserviceaccount.com

keyfile.json


sync-request.json 파일을 만듭니다.

$ vi sync-request.json


{
 "config": {
     "encoding":"FLAC",
     "sampleRateHertz": 16000,
     "languageCode": "en-US"
 },
 "audio": {
     "uri":"gs://cloud-samples-tests/speech/brooklyn.flac"
 }
}



$ sudo gcloud auth application-default login



이동되는 Google Login에서 로그인을 하고 ‘파란색' 허용 버튼을 클릭합니다.


이후에 Credentials saved to file이 경로에 저장됩니다. 경로를 복사하여 export 합니다.


$ export GOOGLE_APPLICATION_CREDENTIALS=/Users/kimjungchul/.config/gcloud/application_default_credentials.json


Google Cloud Speech API를 python이나 node js에서 사용하기 위해서는 위의 application_default_credentials.json이 필요합니다.


$ sudo gcloud auth application-default print-access-token

다음과 같이 access-token이 발급됩니다.


다음의 명령어에서 access_token에 들어갈 부분에 위의 액세스 토큰키를 집어넣고 다음의 명령어를 입력합니다.

$ curl -s -H "Content-Type: application/json" -H "Authorization: Bearer access_token" https://speech.googleapis.com/v1/speech:recognize -d @sync-request.json



portaudio19 install

Linux Ubuntu

$ apt-get install portaudio19-dev


Mac OS X

http://portaudio.com/docs/v19-doxydocs/compile_mac_coreaudio.html

$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" < /dev/null 2> /dev/null


$ brew install portaudio

Google Cloud Speech Python

자 이제 실제로 직접 python 코드로 짜여진 음성인식 API를 호출해봅시다.


$ git clone https://github.com/GoogleCloudPlatform/python-docs-samples/


$ cd python-docs-samples/speech/cloud-client


$ virtualenv speech


$ source speech/bin/activate


$ pip -install -r requirements.txt


$ pip install pyaudio



$ python transcribe.py resources/audio.raw


이번에 스트리밍으로 실시간 마이크로 들어오는 음성을 인식해봅니다.

$ python transcribe_streaming_mic.py


$ vi transcribe_streaming_mic.py

main()함수에서 language_code 를 ‘en-US’에서 ‘ko-KR’로 변경하면 한국어로 작동됩니다.


$ python transcribe_streaming_mic.py


Google Cloud Speech Node js

https://www.npmjs.com/package/node-record-lpcm16#dependencies

Linux

$ sudo apt-get install sox libsox-fmt-all


Max OS X

$ brew install sox

GitHub


$ git clone https://github.com/GoogleCloudPlatform/nodejs-docs-samples


$ cd nodejs-docs-samples/speech


시스템 전체 node_module을 설치합니다.

$ npm install -g


이 프로젝트를 위해서도 npm install

$ npm install


$ vi ~/.bash_profile

마지막줄에 export GOOGLE_PROJECT=project_id를 입력합니다.

project_id는 프로젝트 정보 섹션 ‘프로젝트 ID’에서 확인할 수 있습니다.

https://console.cloud.google.com/


$ node quickstart.js


$ node recognize.js


$ node recognize.js listen


$ vi recognize.js

맨 밑으로 내려갑니다.

languageCode에서 default에 ‘ko-KR’ 로 수정합니다.


$ node recognize.js listen




Comments