google cloud speech api を使ってサンプルを実機iphone 6で動かしてみた
google の音声認識APIの精度が大幅にあがったと聞いてiphoneで試してみたくなりました.
swift, objective-Cに関する知識は皆無ですが,公式の解説が親切そうだったのでチャレンジ.
まずはこちらのサイトにアクセスしてみます.
クイックスタート曰く,
- Clone this repo and cd into this directory.
- Run ./INSTALL
- Build and run the app.
らしい.
環境は
- An OSX machine or emulator
- Xcode 8 beta 6 or later
- Cocoapods version 1.0 or later
があればいいらしい.
Macなので2個目,3個目は特に問題ないです.
手順は以下です.
- APIキーの取得
- cocoapodsのインストール
- リポジトリをクローン
- run ./install?よくわかんないのでpod install
- xcodeプロジェクトのAPIを書き換える
- エラーの出るところを書き換える
- 日本語にする
- 実機で動かす
- 実機に繋いでローンチ!
- エラーが出た場合はiphone側でアクセスを許可
APIキーの取得
google cloud platformに登録します.登録の詳しい手順は除きます.
さて,登録ができたらAPIキーの取得です
取得の順序はこちらの方の手順の3番の途中までを参考にさせていただきました。
2番までできたら,3番で「サービスアカウントキーの取得」ではなく「APIキー」を選びます.
現れたキーコードをコピーしてください.
これで取得完了です.
リポジトリをクローン
先程も挙げた
をクローンするわけですが,gitをインストールしている人はターミナルで
git clone https://github.com/GoogleCloudPlatform/ios-docs-samples.git
でOKと公式に(優しい).
一瞬でした.
run ./install?よくわかんないのでpod install
こちらできませんでしたが,やらなくても動作しました.
代わりに,というわけではないですが,/ios-docs-samples/speech/Swift/Speech-gRPC-Streamingにターミナルでcdして
pod install
をしました(podのファイルをアクティベートしてる感じかな?)
[追記]
もう一回やってみたらpod updateできなかった。
github.com
こちらの2/3のsamskiterさんの書き換えに従ったらできた
xcodeプロジェクトのAPIを書き換える
/ios-docs-samples/speech/Swift/Speech-gRPC-Streaming/Speechにある,SpeechRecognitionService.swiftを書き換えます.
このファイルを開いて,
let API_KEY : String = "YOUR KEY"
のyour key の中に先程取得したAPIキーをコピペしてセーブで完了です.
エラーの出るところを書き換える
エラー出たらswiftのわからない私には結構ピンチですが,出ました.
こちらの方のSTEP2を参考にさせていただき,
google/........./~~~~.h
のようになっているところを
googleapis/~~~~.h
に書き換え.
ビルド→エラーの出たところをこの法則で直す→ビルド→エラーの出たところをこの法則で直す...と繰り返してエラーがでなくなったらシミュレータでローンチできました!
日本語にする
できた!start streamingをクリックして話すと,認識された
…あれ,英語だ,,ということで日本語に直したい.
言語のサポート | Google Cloud Speech API | Google Cloud Platform
こちらによるとlanguageCodeをja-JPに書き換えればいいらしい!
そこでSpeechRecognitionService.swift内をxcodeのfindでlanguageCodeと検索し,
recognitionConfig.languageCode = "ja-JP"
に書き換え.
もう一度ビルドすると,かなりの精度で認識されました!
実機で動かす
でもなんとなくシミュレータでは味気ない,,,
ということで実機で動かしたくなりました,が,ここかなり手こずりました.
でも無料で実機テストできるのはいいですね,Androidを使う必要なくなりそうです