7

音声コマンドを認識できる Android アプリが必要なクライアントがいます。私が理解していることから、組み込みの音声からテキストへの機能は実際にデータを Google のサーバーに送信し、Google のサーバーからテキストの翻訳が返されます。音声データは非常に機密性が高いため、これは大きな問題です (データが Google との間で送受信されるときに暗号化されている場合を除きますが、暗号化されているとは思えません)。

私が考えることができる2つのオプションがあります。1 つ目は、Android で音声をテキストに変換することですが、これは非常にコストのかかる操作のように思えます。2 番目の可能性は、ローカル サーバーにデータを変換させることです (音声データが送受信されるときに、音声データと翻訳を暗号化できます)。これは CMU Sphinx がやってのけることができるものですか? アスタリスクサーバーにもアクセスできることは注目に値するかもしれませんが、これはおそらくこれを支援する可能性があります(わかりません)。

実際には、認識が必要な単語は 200 語までしかないはずです。私はオープンソース/フリー ソフトウェア ソリューションを好みますが、商用ソリューション (おそらく FlexT9) にもオープンです。理想的には、オーディオ ストリームをどこかに送信して、テキストである文字列を取得し、その文字列を解析して他のことを行うことができます。

私は過去にアンドロイドや音声認識の開発をあまり行っていないので、誰かが少なくとも私を正しい方向に向けることができることを願っています. ありがとう!

4

2 に答える 2

10

CMUSphinxは、アプリケーションの構築に使用できるオープン ソースの音声認識ツールキットです。これには、音声アプリケーションの構築を可能にするツール、ライブラリ、およびデータが含まれています。CMUSphinx の詳細については、上記の Web サイトを参照してください。

Android では、CMUSphinx を使用するためのいくつかのオプションがあります。

  1. デバイスのオーディオを認識します。そのために、Android 用の Pocketsphinx エンジンをコンパイルできます。詳細については、このブログ投稿を参照してください

  2. サーバー上のオーディオを認識します。サーバーとして、Pocketsphinx または Sphinx4 のいずれかを使用できます。オーディオを圧縮された flac 形式で送信するか、デバイスで音声認識機能を抽出して機能ストリームをサーバーに送信できます。

CMUSphinx は、英語、フランス語、北京語、ドイツ語、オランダ語、ロシア語などの複数の言語でオーディオを認識できるようにするいくつかの音響モデルを提供します。

適応ツールを使用して認識結果を改善することもできます。

CMUSphinx について質問がある場合は、コミュニティ フォーラムで質問してください

于 2012-01-31T12:37:25.640 に答える
4

クローズド ソースですが、Microsoft の音声エンジンは無料です。背景については、「System.Speech.Recognition と Microsoft.Speech.Recognition の違いは何ですか?」を参照してください。. いくつかの背景については、https://stackoverflow.com/a/4217638/90236を試すことができます

Microsoft Server Speech Platform 11 の完全な SDK は、http://www.microsoft.com/download/en/details.aspx?id=27226で入手できます。音声エンジンは無料でダウンロードできます。

于 2012-01-31T16:01:07.527 に答える