Google Cloud Speech APIをC#から叩いてStreamingしてみた

あすかです。

本日は平日なので記事の内容も雑ですあしからず。

Google Cloud Speech APIのStreamingをC#から直接呼び出すのに成功しました。

※4/12追記:もっと簡単な方法があるのに今更気づいたので記事内容を修正
※4/13追記:NAudioの記述を追加

概要

ソース

GitHubにあげてます。Google Cloud Speechの利用には、以下のパッケージが必要です。

Install-Package Google.Cloud.Speech.V1Beta1 -Pre

また、今回作成したプログラムでは、録音のためにNAudioというものを使っています。

Install-Package NAudio

別途、Google Cloud Speechのサーバーキーのjsonを用意し、「BP_CloudSpeechTest」フォルダ内に「SpeechTest-4db378c087bb.json」という名前で保存する必要があります。
(違うファイル名を使いたい場合は、Program.cs内にハードコーディングしているファイル名を変更し、Visual Studiojsonファイルのプロパティの「出力ディレクトリに」項目に「新しい場合はコピーする」を設定してやってください)
なお、サーバーキーの用意方法は、Java版の記事を参考にしてください。

github.com

このソースは、NugetパッケージGoogle.Cloud.Speech.V1Beta1に含まれている、GRPCを使うクラスを呼び出しています。
このGRPC呼び出しクラス自体は、ツールを使ってGRPC仕様をC#に変換したコードがもとになっているようです。なので、仕様はGoogleが公開しているCloud SpeechのGRPC APIに忠実であると思います。
Google Cloud SpeechのRPC APIガイドを参照して、いろいろいじってみてください。

画像

f:id:kmynews:20170411215442p:plain

えっ、これだけ?

詳しいお話は休日に投稿します。
取り急ぎ