音声認識と音声録音を行うためにうまく機能するソリューションを手に入れました。ソリューションの動作を示すために作成した単純な Android プロジェクトへのリンクを次に示します。また、アプリを説明するために、プロジェクト内にいくつかの印刷画面を配置しました。
私が使用したアプローチを簡単に説明しようと思います。そのプロジェクトでは、Google Speech API と Flac レコーディングの 2 つの機能を組み合わせました。
Google Speech API は、HTTP 接続を介して呼び出されます。Mike Pultzが API について詳しく説明しています。
「(...) 新しい [Google] API は全二重ストリーミング API です。これが意味することは、実際には 2 つの HTTP 接続を使用するということです。1 つの POST リクエストは、コンテンツを「ライブ」チャンク ストリームとしてアップロードします。結果にアクセスするための 2 番目の GET リクエスト。これは、より長いオーディオ サンプルやストリーミング オーディオの場合にはるかに理にかなっています。」
ただし、この API が正常に動作するには、FLAC サウンド ファイルを受信する必要があります。これで、第 2 部に進みます。Flac レコーディングです。
そのプロジェクトでは、AudioBoo というオープン ソース アプリからいくつかのコードとライブラリを抽出して適応させることで、Flac レコーディングを実装しました。AudioBoo はネイティブ コードを使用して、flac 形式の録音と再生を行います。
したがって、flac サウンドを録音して Google Speech API に送信し、テキストを取得して、録音したばかりのサウンドを再生することができます。
私が作成したプロジェクトには、それを機能させるための基本原則があり、特定の状況で改善することができます。別のシナリオで動作させるには、Google Chromium-dev グループの一員として取得される Google Speech API キーを取得する必要があります。そのプロジェクトには、機能していることを示すためだけに 1 つのキーを残しましたが、最終的には削除します。誰かがそれについてさらに情報が必要な場合は、この投稿に 2 つ以上のリンクを配置できないため、お知らせください。