APIを利用できるようにする
- Cloud Platform ConsoleでCloud Speech APIを有効化
-
Set Up a Service Accountで認証キー(サービスアカウント)を作成
→JSON(Key file)はローカルに保持しておく
音源準備
- 音源を作成するために、sox, flacをbrewしておく
$ brew install sox
$ brew install flac
- wav録音
$ rec --bits 16 --channels 1 --rate 16000 sample.wav
"これはテストです。"で保存した。
bit => 16bit
rate => 16000Hz
AudioEncoding
- wavをflacへ変換
$ flac -V sample.wav
同一ディレクトリ内にsample.flacが作成される。
-
Google Cloud Storageに格納
ブラウザなどからバケット作成して、格納しておきます。 -
(念のため)格納されているか確認
$ gsutil ls -R gs://<your bucket name>/demo
gs://<your bucket name>/demo/:
gs://<your bucket name>/demo/
gs://<your bucket name>/demo/sample.flac
リクエストデータ作成
- Syncrecognize用のRequest Bodyを作成
$ more sync-request.json
{
"config": {
"encoding":"FLAC",
"sampleRate": 16000,
"languageCode": "ja-JP"
},
"audio": {
"uri":"gs://<your bucket name>/demo/sample.flac"
}
}
- サービスアカウントをアクティベート
$ gcloud auth activate-service-account --key-file=<your service account keyfile>
- Access Token取得
$ gcloud auth print-access-token
ya29.Ci9LA40J64Je5BmoFDPeexIKUcyAk4RdnEeTRLxqsNImU3xU0pZa_s94DsBMB2Oadw
- Curl実行
$ curl -s -k -H "Content-Type: application/json" -H "Authorization: Bearer ya29.Ci9LA40J64Je5BmoFDPeexIKUcyAk4RdnEeTRLxqsNImU3xU0pZa_s94DsBMB2Oadw" https://speech.googleapis.com/v1beta1/speech:syncrecognize -d @sync-request.json
{
"results": [
{
"alternatives": [
{
"transcript": "これはテストです",
"confidence": 1
}
]
}
]
}
補足
languageCode => ja-JPを指定したが、これを指定していないとうまく日本語変換してくれないかもしれない。
参考