Ruby
Gem
GoogleSpeechAPI

Google Speech APIをRubyから使う

More than 1 year has passed since last update.

githubにソースあり

https://github.com/github0013/google_speech_v2

やっていること

  1. 指定秒数間の音声をマイクから拾ってwavにする
  2. wavをflacにする
  3. APIを使いGoogleに問い合わせる
  4. 結果が返ってくる
  5. 結果から最適であろう音声認識テキストをブロックへ返す

事前事項

  1. ruby2である事
  2. arecord flac コマンドがあること
    元々 Raspberry Piで使うために作ったので、OSXではarecordが無いので使えません
    代わりにsoxを使えば出来そうですが、確認していません
  3. SpeechAPIを使うために、まず https://console.developers.google.com でプロジェクトを作る
  4. Speech APIを有効にする
    1. デフォルトではこのAPIは表示されないのでhttp://www.chromium.org/developers/how-tos/api-keys を読む
    2. chromium-devグループに参加する とSpeech APIが使えるようになるので、メール受信なしでいいので参加する
    3. google developer コンソールに戻ってSpeechAPIを有効にする
  5. ブラウザキーを作る
    1. 認証情報リンク
    2. 認証情報を追加
    3. APIキーを選択
    4. ブラウザキーを選択
    5. キーが発行

注意事項

API

  • このAPIは実験段階のようで、1日のアクセス制限は50回程度のよう
  • 1回の音声変換は10-15秒が最長のよう

gem

#speech_to_textは音声が届いている間をテキストにするのでは無く、指定秒数の音声のみを拾います。
#speech_to_textは指定秒数間程度、完全にスレッドが同期ブロックされます。非同期にしたいなら、別スレッドを作ってその中で実行するなどの工夫が必要です。