Google Cloud Speech API [音声をテキストに起こす] 利用方法
はじめに
今回は音声をテキストに起こしてくれるgoogleのapi「Google Cloud Speech API」
利用方法を紹介します。
基本的に、quick-start通りに進めます。
Google Cloud Platformアカウント作成
まずはGoogle Cloud Platformに登録します。
Google Cloud Platformに登録するためにはクレジットカードが必須です。
googleのアカウントを持ってない方はgoogleのアカウントから取得しましょう。
アカウント登録が済んだら、新規プロジェクトを立ち上げましょう。
quick-startには「プロジェクトの課金を有効にします。」とありますが、
しなくても使えていますので、課金するつもりのない方は有効にしなくて良いです。
Google Cloud PlatformからGoogle Cloud Speech APIを有効化します。
有効化したら、Cloud Speech API の認証情報を設定します。
この時、jsonファイルが作られるので、保存します。
CLOUD SDKインストール
次にコマンドラインからCloud Platformにアクセスするための、CLOUD SDKをインストールします。
CLOUD SDKのインストールはpython2.7で行わなくてはならないので、
それ以外の方はpyenv等を使ってバージョンをpython2.7にしておきましょう。
CLOUD SDKからCLOUD SDKをダウンロードして、解凍します。
Mac,linxならinstall.sh、windowsならinstall.batを叩いてインストールします。
インストールが終わると、gcloudコマンドが使えるようになります。
まずは初期化します。
gcloud init
次にapiのキーを作成します。
下で認証します。
gcloud auth activate-service-account --key-file="先ほど落としたjsonファイルのパス"
下でapiキーを発行します。
gcloud auth print-access-token
返ってきたAPIキーの情報をメモっておきます。
これで、Google Cloud Speech APIを使用する準備は整いました。
試してみる
本当はpythonで動かしたいですが、まずは確認。
Curlで動作の確認をします。
CurlはMac,linuxなら初期でコマンドラインから使えるコマンドです。
sync-request.jsonというファイルを下の内容で作成します。
{ "config": { "encoding":"FLAC", "sample_rate": 16000 }, "audio": { "uri":"gs://cloud-samples-tests/speech/brooklyn.flac" } }
コマンドラインから以下のコマンドでsync-request.jsonを叩きます。
curl -s -k -H "Content-Type: application/json" \ -H "Authorization: Bearer 上でメモったAPIキー" \ https://speech.googleapis.com/v1beta1/speech:syncrecognize \ -d @sync-request.json
成功していたら以下のメッセージが返ってきます。
{ "results": [ { "alternatives": [ { "transcript": "how old is the Brooklyn Bridge", "confidence": 0.98267895 } ] } ] }
以上です。
おわり
ひとまず、サーバーに上がっているサンプルの音声ファイルをテキスト化した。
APIキー発行部分で割と手間取ったので今日はここで終了。
ただこんなんじゃ、全然実用性ないので、
そのうちpythonで自前の音声ファイルをテキスト化するところまで行う予定。