Tech/Cloud

[GCP] Speech API를 이용하여 음성을 텍스트로 변환하기

타이호 2018. 3. 19. 10:44
반응형

Google Cloud Platform에서 제공하는 Cloud ML중 Speech API를 이용하여 음성파일로 저장한 것을 텍스트로 변환을 해본다.

회의시나 통화중 저장된 음성을 텍스트로 변환할 필요가 생겼는데 이러한 것을 손 쉽게 GCP내의 Speech API를 이용하여 진행한다.

1. 음성파일을 google cloud storage로 업로드를 한다.

gsutil cp <음성파일> gs://<bucket-name>

2. Node.js 환경 설치

   a. curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | bash

   b. Node.js 및 npm 설치

      nvm install stable

      nvm alias default stable 

      npm install --save express 

3. Sample Speech Git Source 다운로드

git clone https://github.com/googleapis/nodejs-speech.git

4. 복사한 디렉토리 아래 samples로 들어가서 dependency 설치

npm install --save @google-cloud/speech

* npm install만 실행하면 에러가 나서 위의 명령어를 통해 dependency module을 설치한다.

5. API를 사용하기 위한 서비스 Account 생성

Credentials -> Create credentials -> Service account key 로 들어가서 Key를 생성한다.

New service account를 아래와 같이 생성한다. 테스트 목적이기 때문에 권한은 Project Owner로 할당하였다

생성하고 나면 JSON Credential이 생성되고 해당 Json 키를 저장 후 GOOGLE_APPLICATION_CREDENTIALS 환경변수로 설정한다.

 export GOOGLE_APPLICATION_CREDENTIALS=/your_path/service_account_file.json

6. 설정이 다 되고 나면 해당 디렉토리에서 아래 명령어를 통해 음성파일을 변환해본다.

 node recognize.js --help 


참고로 speech api의 경우 Quota가 제한적이다.

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

Quota를 수정하는 곳은 아래에서 수정하면 된다

https://console.cloud.google.com/apis/api/speech.googleapis.com/quotas


그리고 열심히 소스코드 받아서 돌려보다가 보니 gcloud 명령어에서 위 기능을 지원해준다 -_-;;

https://cloud.google.com/sdk/gcloud/reference/ml/speech/recognize-long-running




반응형