본문 바로가기
Tech/Cloud

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

by 타이호 2018. 3. 19.
반응형

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




반응형