問題タブ [cmusphinx]
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.
cmusphinx - PocketSphinx は何も出力しませんでした
中国語の音声認識アプリを作りたいです。チュートリアルを元に言語モデル(CMUCLMTKを使用)と音響モデルを構築します
http://cmusphinx.sourceforge.net/wiki/tutoriallm
http://cmusphinx.sourceforge.net/wiki/tutorialam
しかし、使用中に何も出力されませんでした
のような出力
wav ファイルのフォーマットを確認しましたが、16it 16KHz mono です。また、./scripts_pl/decode/slave.pl
コマンドを使用すると、結果は 40% のエラー率になります (私のモデルとトレーニング セットは非常に小さいです)。PocketSphinx を英語モデルでテストしたところ、非常にうまく機能したため、私のデバイスはうまく動作しています。
他に何がその奇妙な結果につながる可能性がありますか?
speech-recognition - OpenEars / PocketSphinx による声門閉鎖のマーキング
声門閉鎖の特定に役立つライブラリを探していたところ、CMUSphinx について知りました。
PocketSphinx または関連する OpenEars でこの問題にアプローチする方法は何ですか?
その情報をマークしながら、音声の他のプロパティを簡単に取得できますか?
machine-learning - CMU Sphinx の信頼スコアを確率に変換する際のバイアス
CMU Sphinx のレコグナイザーの出力 (つまり、リスト < 仮説 (つまり、句)、スコア (対数) > test_ps_nbest.c を微調整して取得) を次の形式に変換しようとしています: リスト < 仮説 (つまり、句)、「確率」 (間0 と 1) >
私が現在使用している簡単な方法は次のとおりです。
- 各信頼スコアを言語の重みで割ります (例: 11)
- ログドメインの信頼スコアのリストを正規化します
- 出力確率 = exp(正規化された信頼スコア)
問題は、上記の方法からの出力確率が偏っていることです。確率の偏りを得るために使用できる提案はありますか?
バイアスを修正するために実装する必要があるメソッドの例:
vector < double > getBias(vector < string > phrases, vector < double > logConfidenceScores)
上記の説明の入力例:
< "HE GOT IN OUR HEAD HEART LUNG AND HE MARKED IT", -43278 >
< "彼は私たちのクラスでお金を手に入れ、それをマークしました", -43449 >
< 彼は心臓の肺に力を入れ、それをマークしました", -43368 >
android - Windows で Android 用にコンパイルする PocketSphinx
Android 用の PocketSphinx サンプルをビルドして実行する必要があります。
Windows 7 + Eclipse での Android 開発用の私のシステム
NDK と Cygwin をインストールしましたが、Cygwin には現在 gcc または g++ がありません。cygwin でこれらのコンパイラが必要ですか?
私はすでにこれらのモジュールを入れています - bison - make - automake - libiconv - libtool - python インタープリター
その上で。
sphinxbase と pocketphinx に対して次の手順を実行する必要があるかどうか混乱していますか? 提案されているようにhttp://cmusphinx.sourceforge.net/2011/05/building-pocketsphinx-on-android/comment-page-2/#comments
./autogen.sh ./configure make make install
もしそうなら、cygwin で gcc または g++ が必要ですか?
お知らせ下さい、
ありがとう、アーメド
speech-recognition - ポケットフィンクスを使用した音素の抽出
pocketphinx の助けを借りて話し言葉の音素を抽出することは可能ですか?
speech-recognition - Pocketsphinx を適切に構成する
Debian Squeeze を実行している VM に Pocketsphinx0.7 をインストールしています。これで問題なく動作し、ファイルから音声を認識できるようになりました。これを使用して、取得した一連のファイルを認識し、単語のエラー率を推定する Python スクリプトをいくつか作成しました。これらは、このチュートリアルで説明されているように gstreamer を使用します。
これまでのところ、ポケットフィンクスの tarball にあったオリジナルの hmm を使用しています。この辞書には、テスト データの単語と、教授から入手した最適化された言語モデルが含まれています。これは、実稼働システムでも実行されているため、機能するはずです。私の問題は、認識パフォーマンスがまだひどいことです。私の単語エラー (WER) 率は約 85% です。
私が知りたいのは、どうすれば WER を改善できるかということです。どのような手順を踏むことができますか?
発生し、おそらくパフォーマンスに影響を与えるもう 1 つのことは、全員が読み取り、書き込み、実行できるように hmm にアクセスできるようにしたにもかかわらず、ポケットフィンクスが hmm にアクセスする権限がないことを通知することです。
誰がこれがどこから来るのか考えていますか? どんな種類の助けにも感謝します。さらに情報が必要な場合は、お知らせください。
編集:
小さなテストセットを作成し、ポケットフィンクスを実行しました。これは、ファイルと結果を見つけることができる場所です。元のテスト セットからいくつかの例を示すことができました。ここで見つけることができます。
これらは最悪の例です。1 ~ 2 語の短い発話が適しています。申し訳ありませんが、これまで大きなテスト セットを作成できませんでした。時間は非常に限られています。
speech-recognition - 有限状態文法(JSGF)を使用したCMUスフィンクスの音響モデルのトレーニング
自分の音響モデルをトレーニングする必要があります。公式ウィキでは、このプロセスはDMP形式のngrammモデルについて説明されていますが、JSGF形式で提供される(文法)言語モデルを使用する必要があります。そのような可能性はありますか?もしそうなら、あなたはこの主題に関するチュートリアルを与えることができますか?
java - Java Swing アプリケーションに sphinx 4 を含める方法
sphinx4 を私の Java Swing プロジェクトに含める方法を誰か教えてもらえますか? また、gson と json をインストールする方法を見つけることができません。
linux - オーディオ ソースとオープン ソース ツールを使用して、事前に書き起こした音声の時間インデックスを効率的に生成する
TED.com には文字起こしがあり、文字起こしの一部をクリックすると、ビデオの適切なセクションに移動します。
OSS を使用した Linux で、所有している 80 時間のオーディオと文字起こしに対してこれを実行したいと考えています。
これは私が考えているアプローチです:
- 30 分のサンプルから始めましょう
- 音声を 2 分間の WAV ファイル形式のチャンクに分割します (単語が分割されている場合でも)
- トランスクリプトを使用して、各チャンクで CMU Sphinx の long-audio-aligner からフレーズ スポッターを実行します。
- 各ビットで見つかった識別された単語/フレーズの時間インデックスを取得し、元のオーディオ ファイル内の ngram の実際の推定時間を計算します。
これは効率的なアプローチのように思えますか? 誰かが実際にこれをやったことがありますか?
十分に正確である可能性のある愚かな単語カウントのように、試す価値のある代替アプローチはありますか?
voice-recognition - ささやくときの簡単な音声認識
pocketphinx を使用して、単純な音声からテキストへのマッピングを試みています (。文法は次のように非常に単純です。
例えば:
収量
私は音響モデルを適応させ (私の外国語訛りを考慮に入れました)、その後、まともなパフォーマンス (~94% の精度) を得ることができました。約 3 分のトレーニング データセットを使用しました。今、私は同じことをしようとしていますが、マイクに向かってささやきます. 精度は、トレーニングなしで最大 50% に大幅に低下しました。アクセントのトレーニングで、私は〜60%を得ました. ノイズ除去や音量を上げるなど、他の考えを試しました。ドキュメント全体を読みましたが、パフォーマンスを向上させるためにどの方向に進むべきかをよりよく知ることができるように、誰かがいくつかの質問に答えることができるかどうか疑問に思っていました.
1) チュートリアルでは、hub4wsj_sc_8k 音響モデルを適応させています。「8k」はサンプリングパラメータだと思います。sphinx_fe を使用する場合は、「-samprate 16000」を使用します。16k サンプリング レートのデータを使用して 8k モデルをトレーニングするために意図的に使用されましたか? 8k サンプリングのデータが使用されていないのはなぜですか? パフォーマンスに影響はありますか?
2) sphinx 4.1 では (pokesphinx と比較して) WSJ_8gau_13dCep_16k_40mel_130Hz_6800Hz.jar などの異なる音響モデルがあります。それらのモデルはポケットフィンクスで使用できますか? 16k サンプリングの音響モデルは、通常、16k サンプリング レートのデータでパフォーマンスが向上しますか?
3) トレーニングにデータを使用する場合、通常のスピーキング モード (私のアクセントのみに適応するため) またはささやきモード (ささやきと私のアクセントに適応するため) を使用する必要がありますか? 私は両方のシナリオを試してみましたが、結論を引き出すための違いに気付かなかったと思いますが、ポケットフィンクスの内部構造がわからないので、何か間違っている可能性があります。
4) 次のスクリプトを使用して、チュートリアルから適応トレーニングとテスト データを記録しました。
Control-C を押すたびに、このキープレスが記録されたオーディオで異なり、エラーが発生することに気付きました。オーディオをトリミングすると、代わりに他のエラーを修正したり、発生させたりするのに役立つ場合があります。各録音には、話す前後に数秒の間隔を空ける必要がありますか?
5) 観測カウントを蓄積するときに、パフォーマンスを改善するためにいじることができる設定はありますか?
6) 半連続モデルと連続モデルの違いは何ですか? ポケットフィンクスは連続モデルを使用できますか?
7) sphinx4 の「mixture_weights」ファイルは、pokesphinx-extra で取得したものと比較してはるかに小さいことに気付きました。違いはありますか?
8) ホワイト ノイズを除去する別の組み合わせを試しました (「sox」ツールキットを使用、たとえば sox noise.wavfiltered.wav noisered profile.nfo 0.1)。最後のパラメータによっては、少し改善される場合もあれば (~3%)、悪化する場合もあります。ノイズを除去するのは良いことですか、それともポケットスフィンクスが行っていることですか? 私の環境では、音声がささやき声を録音したときに、より多くのインパックを持つことができると思われるホワイト ノイズしかありません。
9) 音量 (ゲイン) だけを上げても、ほとんどの場合、パフォーマンスが少し悪くなるだけであることに気付きました。避けるべきですか?
10) 全体として、さまざまな組み合わせを試してみましたが、ノイズのみを除去した場合に得られた最良の結果は ~65% であり、わずか (5%) の改善にとどまりました。以下にいくつかの統計を示します。
私がデータをテストするためだけに行っていたこれらの処理。トレーニング データを同じ方法で処理する必要がありますか? やってみたと思いますが、ほとんど違いがありませんでした。
11) これらすべてのテストで、ARPA 言語モデルを使用しました。JGSFの結果を使用すると、通常ははるかに悪い結果になります(最新のポケットフィンクスブランチがあります)。何故ですか?
12) 各文の最大数は '999' で名前は 3 つまでであるため、JSGF を修正し、繰り返し記号 '+' を括弧内の内容を手動で繰り返すことで置き換えました。今回はARPAにかなり近づいた結果。正規表現のように繰り返しの最大数を伝える文法の方法はありますか?
13) ARPA モデルを使用する場合、すべての可能な組み合わせを使用して生成しました (辞書は固定されており、非常に小さいため: ~15 単語) が、テストしても、Tom Anna などの不正な結果が返されることがあります (必要な数はありません)。ARPA モデルを使用して何らかの構造を強制する方法はありますか?
14) 辞書はこれらの ~15 語のみに制限する必要がありますか、それとも完全な辞書は速度にのみ影響し、パフォーマンスには影響しませんか?
15) ささやき声の認識を改善するには、辞書 (音素) を変更する必要がありますか? (私は専門家ではありませんが、私たちがささやくとき、いくつかの言葉が違うように聞こえるかもしれませんか?)
16) 精度を向上させるためのその他のヒントは本当に役に立ちます!