2012-01-31 43 views
6

私は、音声コマンドを認識できるAndroid Appが必要なクライアントを持っています。私が理解していることから、内蔵の音声からテキストへの機能性は、実際にデータをGoogleのサーバーに送信し、それからテキスト翻訳を送り返します。これは大きな問題です。音声データは非常に敏感です(データがGoogleとの間で送受信される際に暗号化されている場合を除き、暗号化されているとは限りません)。CMU Sphinxは〜200語を認識できるように設定できます

私は考えることができる2つのオプションがあります。まず、Android上で音声をテキストに変換することですが、これは非常に高価な操作であるようです。 2番目の可能性は、ローカルサーバーが私のためにデータを変換するようにすることです(私は音声データとそれが送受信されるときの翻訳を暗号化できます)。これは何かCMUのスフィンクスが引き出すことができるのでしょうか?私がAsteriskサーバにアクセスできるようになることは注目に値するかもしれませんが、これはおそらくこれを助けることができます(私は知らない)。

実際には認識される必要がある単語は約200語に過ぎません。私はオープンソース/フリーソフトウェアソリューションを好むだろうが、商用ソリューション(おそらくFlexT9)も公開している。理想的には、オーディオストリームをどこかに送り、テキストであるStringを取得し、Stringで解析して他のことを行うことができます。

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

答えて

10

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

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

  1. は、デバイス上での音声を認識する。そのために、アンドロイド用のPocketsphinxエンジンをコンパイルすることができます。詳細はsee this blog postです。

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

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

また、アダプテーションツールを使用して認識結果を向上させることもできます。

CMUSphinxに関するご質問はask in our community forumsへようこそ。

4

閉鎖されたソースは無料ですが、Microsoft音声エンジンです。背景については、What is the difference between System.Speech.Recognition and Microsoft.Speech.Recognition?を参照してください。詳細については、お試しくださいhttps://stackoverflow.com/a/4217638/90236

Microsoftサーバースピーチプラットフォーム11用のSDKは、http://www.microsoft.com/download/en/details.aspx?id=27226で入手できます。スピーチエンジンは無料でダウンロードできます。

+0

Android用のMicrosoftのソリューションもありますか(あなたが提案しているもの)ですか? – srf

+0

これは単なるサーバー側コンポーネントです。オーディオをキャプチャしてサーバーに送信するには、独自のクライアント実装を構築する必要があります。 –

関連する問題