71

サードパーティのアプリケーション用にGoogle Nowからオフライン音声認識を利用できるようになったようです。それはthe app named Utterによって使用されています。Android(JellyBean)でのオフライン音声認識

このオフラインスピーチレコーディングで簡単な音声コマンドを実行する方法を見た人は誰ですか?通常のSpeechRecognizer APIを使用するだけで、自動的に動作しますか?

+0

私たちが言語をダウンロードする限り、コードを変更する必要はありませんか? –

答えて

66
から

Googleは静かにその検索更新でオフライン認識を有効でしたが、内の利用可能なAPIまたは追加のパラメータは、(まだのように)ありませんSpeechRecognizer class{この記事の最後にある編集を参照してください}機能は追加のコーディングなしで利用できますが、ユーザーのデバイスを正しく構成して作業を開始する必要があります。これは問題が存在する場所であり、彼らは「何かを見失っている」と考えている。

Googleでは、特定のJelly Beanデバイスがハードウェアの制約のためにオフライン認識を使用することを制限しています。これに該当するデバイスは文書化されていませんが、実際には何も文書化されていないため、ユーザーの機能を構成することは試行錯誤の問題であることが判明しています。それはすぐに働きます - そうでないものについては、私がそれらを提供する「ガイド」です。

  1. Androidの音声認識器をGoogleに設定されているデフォルト値を確認してくださいません サムスン/ Vlingo
  2. アンインストール任意のオフライン認識はすでにAndroidのアプリケーション設定にGoogleの音声検索設定
  3. 行くから がインストールされているファイルGoogle検索とGoogle Voice Search アプリケーションのアップデートを のアンインストールできるかどうか確認してください。
  4. 上記を行うことができない場合は、Playストアにアクセスして、 オプションがあるかどうかを確認してください。
  5. Playストアから
  6. 更新Google検索やGoogle音声検索(あなたは2、3または4を達成している場合)を再起動します(更新は、とにかく利用可能である場合は、3または4以上を達成し 場合)。
  7. 再起動します(あなたが6を達成している場合)
  8. は英語英国オフライン言語ファイルをインストールし
  9. 機内モードへの接続
  10. スイッチで再起動
  11. 使用utter!、それが動作したら、それを試し
  12. を与えます、他の言語のオフライン認識、英語のような USはあまりにも仕事を開始する必要があります。

EDIT:一時的にデバイスのロケールを英語に変更するイギリスでは、これもいくつかの点で問題があるようです。

ユーザーの中には、作業を開始する前に何度も再起動しなければならないと報告したユーザーもいますが、最終的にはすべてが謎に包まれています。公開ドメインまたはAOSPの一部。

Googleは、私が確立できることから、オフラインまたはオンラインのどちらを使用するかを決定する前に、接続の可用性をテストします。接続が最初に利用可能で応答前に失われている場合、Googleは接続エラーを返しますが、オフラインにはフォールバックしません。補足として、ネットワーク合成音声の要求が行われた場合、失敗した場合にエラーを出力することはありません。無音になります。

Google検索のアップデートでは、Google Nowに追加の機能はありませんでした。実際にインターネットに接続しないで使用しようとするとエラーになります。能力が静かに出現し、生産に依存してはならないかどうか疑問に思ったので、これについて言及します。

SpeechRecognizerクラスの使用を開始する予定の場合は、それに関連付けられたかなりのmajor bugがあります。これには独自の実装が必要です。

オフライン= trueは、データ接続を操作しなくてもこの機能を制御することはできません。ごみ。なぜ何も簡単にできない理由を尋ねる何百ものユーザーメールが届きます!

EDIT:APIレベル23の新しいパラメータは、Googleの認識サービスが付着するように見えるんEXTRA_PREFER_OFFLINEを追加されましたので。

上記が役に立ちますようお願いいたします。

+0

これは私のためにうまくいくし、実装が非常に簡単でした。ここでこのサンプルを出発点として使用しました。 http://www.jameselsey.co.uk/blogs/techblog/android-how-to-implement-voice-recognition-a-nice-easy-tutorial/ – rmooney

+0

@brandallどの言語を選択することができますか?私は認識をしますか?オフライン言語ファイルは私の言語(ベトナム語)をサポートしています!自分の言語(vietnamese)でオフラインの音声認識を行うアプリを作ってみたい!それは可能ですか?とても感謝しております! – truongnm

+1

@truongmn - これは役に立ちますか? http://stackoverflow.com/q/10538791/1256219そうでない場合は、新しい質問をして私にリンクしてください。私が助けることができるかどうかわかります – brandall

8

要するに、実装はしていませんが説明はあります。

Googleは、サードパーティのアプリケーションでオフライン音声認識を利用できないようにしました。オフライン認識は、キーボードを介してのみアクセス可能です。私は自分のキーボードを実装していたし、目に見えない編集 テキストをGoogle 音声入力とユーザーのデフォルトのキーボードを切り替えた

:ベン・ランドール(!全くの開発者)はAndroidの警察の記事で彼の回避策を説明しますフィールドと透明なアクティビティを使用して入力を取得します。汚いハック!オフライン音声入力のみIMEやシステムアプリケーション(それは私のルートハックだった)で をトリガすることができたよう

これは、それを行うための唯一の方法でした。 他のタイプの認識API ...それを起動せず、サーバーエラーのある が失敗しました。 ...回避策のために多くの作業が私のために無駄になった! しかし、少なくとも私は、実装のための準備ができていた...

Utter! Claims To Be The First Non-IME App To Utilize Offline Voice Recognition In Jelly Bean

+4

私は、最新のアップデートの前に彼が言っていたことを考えました。 "Randallは、SpeechRecognizerを使用して、開発者がアプリケーションの範囲でオフライン認識を使用できるようにしたSpeechRecognizerを使用していますが、以前のオフライン音声入力コードであるRecognizerIntentは有効なIMEトークンを必要としていたと説明しました。 – rmooney

+0

@rmooneyこれについてさらに情報がありますか? – xryl669

20

回答https://stackoverflow.com/a/17674655/2987828が画像とともにユーザーに送信するガイドを改善したいと思います。 「そうでない人にとって、これは私がそれらを提供する「ガイド」です。私が改善したいのです。その後、ユーザーは任意の言語を選択することができます

Go to your Android Application Settings, select Languages and input,edit Settings of Google Voice typing,select Download Offline speech recognition, select your languages in the ALL tab.

ユーザーは、これらのイメージに青色でハイライト表示され、4つのボタンをクリックしなければなりません。ダウンロードが完了したら、ネットワークから切断し、キーボードの「マイク」ボタンをクリックします。

私のために働いた(android 4.1。2)、リブートせずに言語認識が可能になりました。私は今ターミナルエミュレータのシェルに指示を指示することができます!また、ASUSのパッドフォン2ではオンラインより2倍高速です。

これらの画像は、cc by-sa 3.0の下でライセンス供与されており、帰属はstackoverflow.com/a/21329845/2987828です。これらの画像をこの属性とともにどこにでも追加することができます。

(このstackoverflow.comでのすべての画像とテキストの標準ポリシー)

2

私はこれを扱っていたと私はあなたの言語のためにオフラインパッケージをインストールする必要があることに気づきました。私の言語設定は「Español(Estados Unidos)」ですが、その言語のオフラインパッケージはありません。したがって、すべてのネットワーク接続をオフにしたとき、RecognizerIntentからGoogleに届かないという警告が表示されました。 "英語(米国)"(私は既にオフラインパッケージを持っているので)、ちょうどうまくいったRecognizerIntentを立ち上げました。

キー:言語設定==オフライン音声認識装置パッケージ

+0

使用したデバイスを知ることはできますか?それはGoogleのデバイスよりもむしろサポートしています。サムスン、Asusなど私はそれに取り組んでいるとオフライン他のデバイスでサポートされていません。 –

1

それは手動で直接ファイルをダウンロードし、手動で右の場所にそれらをインストールすることで、オフライン音声認識をインストールするには、明らかに可能です。私はこれがGoogleのハードウェア要件を回避する単なる方法だと思う。 しかし、個人的に私はリブートする必要はありませんでした。単にイギリスに戻って、もう一度やり直しました。

16

Androidでの簡単で柔軟なオフライン認識は、オープンソースの音声認識ツールキットであるCMUSphinxによって実装されています。それは純粋にオフラインで、速く、構成可能なそれはキーワードのために例えば、連続的に聞くことができる。

最新のコードとtutorial hereがあります。

+1

私はデモを試したところ、かなりうまく動作します。迅速で使いやすい。 – Micer

+2

こんにちは、インドアクセントの英語のCMUSphinxも機能しますか? – Kedarnath

+1

@Kedarnathそれは彼らのリストに高いと思われる、ここでの投票を参照してください:http://cmusphinx.sourceforge.net/ – Jerther

3

オフライン時にonPartialResultsを使用し、オンライン時にonResultsを使用して、オフライン機能で音声サービスを正常に実装しました。

+0

私はそれについてもっと知ってもいいですか?私はここにバグ関連のバグがありますhttp://stackoverflow.com/questions/32866239/offline-speech-recognition-in-android-not-recognizing-in-samsung-s5 –