問題タブ [pocketsphinx-android]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 文字列ベースの文法から文法規則をインポートする
Androidでポケットフィンクスを使用しています。.gram
また、あるファイルのルールを別のファイルにインポートすることも、.gram
を指定してルールを使用することString
もできましたが、2 つを組み合わせることができないようです。つまり、文字列ベースの文法からファイル ベースの文法をインポートすることはできません。Failed to find grammar
エラーが発生し続けます。
文法を文字列として指定する場合:
文字列は次のようなものです。
私は得る
相対的に検索するベースファイルがないため、これはどういうわけか予想されます。
私が試したこと:1)完全なパッケージ名を使用し、2)完全なパスを使用します(ポケットフィンクス独自のアセット同期ユーティリティから取得したもの)。
パッケージ名の使用import
パスを
変更すると
私は得る
フルパス付き
次のエラーが表示されます (パッケージ部分が別のディレクトリに変換されたことに注意してください)。
pocketphinx のソースでは、ドットをスラッシュに置き換えていることがわかります。
インポートしようとしているファイルの場所を pocketphinx-android に知らせるにはどうすればよいですか? 関数SpeechRecognizer
もにもありませんDecoder
。文法ファイルを探す場所を構成で指定する方法があるのではないかと考えていますが、それが見つからないようです。SpeechRecognizerSetup
またはConfig
?にパラメータを追加します。または、Config/Setup オブジェクトに文字列パラメーターとして追加できる、ポケットスフィンクスのコマンド ライン パラメーターはありますか?
java - PocketSphinx Androidでremove_noiseを実装するには?
Android アプリケーションで PocketSphinx を使用して音声認識を実装しました。認識機能が敏感すぎることを除いて、すべて正常に動作します。アプリケーションの結果 (音声テキスト変換) が正しく機能しませんでした。
しきい値は、取得できる最低値である 1f まで変更済みです。
私は英語を使用し、特定の文法を持つ限られたライブラリを使用し、Sphinx Knowledge Base Tool を使用して独自の辞書を作成しました。
cmuSphinx のデモの音響モデル en-us-ptm を使用しましたが。
Sphinx が remove_noise 関数を持っていることをいくつか調査しましたが、それを見つけることができるようです。または、ポケットフィンクス認識機能を改善する他の方法はありますか?
ありがとうございました。
android - Android ディクテーション アプリの PocketSphinx
Keith Vertanen の言語モデルの 1 つと組み合わせて、Android で PocketSphinx を使用して「ディクテーション」機能を実装しようとしています。サンプルを次のように変更しました。
lm_csr_5k_nvp_2gram.arpa
Keith Vertanen のサイトの 5K NVP 2-gram ダウンロードからの場所です 。
次のエラーが表示されます。
台詞
lm_csr_5k_nvp_2gram.arpa
ファイルが正しくフォーマットされていないか何かだと思います。ファイルは次のようになります。
これは、少なくともサンプル ファイルのように見えます。
私の他の唯一の考えは、おそらく拡張子が間違っているということでした。
言語モデルは、テキスト ARPA 形式、バイナリ形式 BIN、バイナリ DMP 形式の 3 つの異なる形式で保存およびロードできます。ARPA フォーマットはより多くのスペースを必要としますが、編集することは可能です。ARPA ファイルの拡張子は .lm です。バイナリ形式は、スペースが大幅に少なくて済み、読み込みが高速です。バイナリ ファイルの拡張子は .lm.bin です。フォーマット間の変換も可能です。DMP 形式は廃止され、推奨されません。
lm_csr_5k_nvp_2gram.lm
これにより、ファイルの名前を の代わりに付ける必要があるように聞こえますlm_csr_5k_nvp_2gram.arpa
。ただし、例外を変更することなく、ファイルの名前を変更しようとしました。
これを行う正しい方法は何ですか?
java - androidのポケットフィンクスで大きな声(言葉)だけを認識する方法
私は、常に(常に)声を聞き、ヘルプなどのキーワードをキャッチする必要があるAndroidアプリを構築しています。私は現在 MediaRecorder を使用して振幅を取得しています。音量が大きい場合 (例: 20000)、 pocketphinx speechrecognizer を呼び出します。問題は、speechrecognizer がキーワードをキャッチした (またはキャッチしなかった) ときに、MediaRecorder に戻ることができず、アプリがクラッシュすることです。もちろん、私のアプリはバックグラウンド (1 日 24 時間) で動作する必要があるため、実装は Service にあり、MediaRecorder は別のスレッドにあります。私は、ポケットフィンクスが振幅(悲鳴)もチェックできることを知っていますが、どのようにそれを作るのですか? そして、音声認識エンジンをトリガーするためのポケットフィンクス(振幅の取得)のより良い解決策はありますか?私のクラスの下で、私は何か助けていただければ幸いです。
java - Android オフラインの音声とテキストの比較
基本的な英単語を教えるためのアプリを作成しようとしています。オーディオをキャプチャしてテキストに変換できる必要がありますが、これはオフラインで行いたいと考えています。私は pocketphinx-android について知っていますが、私の問題は、 Pocketphinx がそれを事前定義されたセットの単語と関連付けようとすることです。これは私が欲しいものではありません。私は、アプリケーションが単語をテキストに翻訳するだけで、どの単語が最も似ているかを理解しようとせず、単一の単語と照合することを望んでいます。したがって、プログラムはユーザーが言おうとしていることの意味を見つけようとするのではなく、単純に比較する必要があります。また、逆のこともできるようにしたい(テキストを音声に変換する)。これを行うための利用可能な API はありますか、またはポケットフィンクスでこれを行うことができますか?
android - ポケットスフィンクスアンドロイドから出力テキストを取得する方法
私は Android プロジェクトに取り組んでおり、オフラインの Speech to Text API が必要でした。Pocket sphinx android を選択しました。私がスフィンクスにやりたいことは、音声で入力テキスト(SpeechRecognizerクラスの「startListening」メソッドに渡す必要があります)をチェックしないように、変換されたテキスト出力を返すことです。では、どうすればそれを行うことができますか?