問題タブ [mfcc]
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.
java - Sphinx を使用して Wave ファイルから MEL 係数を取得する方法
Java ベースの特徴抽出ライブラリが必要で、Sphinx を見つけましたが、操作方法がわかりません。基本的に、wav ファイルを MEL 係数に変換する必要があります。一度Matlabでやったことがありますが、Javaに詳しくないので、コードの使い方や特徴の抽出方法がわかりませんでした。
ところで、もしそれがすぐにできるオープンソースのライブラリを他に知っていたら、非常に助かります。
更新: Android で使用するので、PocketSphinx を使用する方が良いことがわかりました。(デモアプリをダウンロードしようとしましたが、デバイス(Nexus 5)で実行されませんでした。アクティビティを開こうとしましたが、すぐに閉じられました。)これらの手順も実行しましたが、まだ利益はありません。
誰かがそれを設定する方法を理解するのを手伝ってくれたら素晴らしいでしょう. 知っておくべきこと: 1- どのモジュールを使用する必要があるか、2- 自分のプロジェクトでライブラリを使用するにはどうすればよいですか? 3- ライブラリのセットアップ方法: どの関数をどのように使用する必要があるか。
前もって感謝します。
使用するステップバイステップガイドはありますか
c - 最初の MFCC 係数が間違っているように見え、信頼性が低い
このライブラリhttps://code.google.com/p/libmfcc/を使用して、振幅二乗パワー スペクトルから MFCC 係数を生成しています。
ただし、私が理解しているように、最初の係数は全体のエネルギーを表す必要があります。これは私の結果には当てはまりません。これにより、機能セット全体が疑わしくなります。
F0: -3.77、F1: -2.78、F2: 2.13、F3: 4.47、F4: 2.76、F5: -0.00、F6: -0.58、F7: 0.76、F8: 1.49、F9: 0.62、F10: -0.44、F11 : -0.26、F12: 0.58
- これらは、リフターが適用される前の生の MFCC 機能です。
この係数が必要な唯一の理由は、プロジェクトで問題となっている機能を排除するのに役立つことです。- 16000hz でサンプリングされた、長さ 256 の実数 (元は 512 FFT) のマグニチュード パワー スペクトルを渡します。テストを実行して生成される周波数を確認したので、FFT が正しいことは確かです。
これらの機能を使用して話者認識を実行しようとしていますが、現在、誤検知が続いています。生成された機能をニューラルネットワーク、ベクトル量子化、および単にブルートフォースのユークリッドとスピアマンの比較で使用してみました。ボイス間の係数の一意性を引き出すために私がしていることは何もないように見えます。誤検知で終わる。
私はこれで何ヶ月も立ち往生しており、私の機能のせいだと感じています. どんな助けでも大歓迎です!
java - Java で MFCC 機能を抽出する方法
MATLABからJavaコードへの音声認識プロジェクトの変換に取り組んでいます。ここで提供されている Java の例を使用して、 .wavファイルを ( -1 から 1の範囲の値のベクトルとして)読み取ることができました。これは、 MATLABの関数 wavread とまったく同じように機能します。
次のタスクは、元のサンプル ベクトルからMFCC特徴ベクトルを抽出することです。MATLAB では、Voiceboxを使用してこれを簡単に実現しましたが、同等のJavaを見つけることができませんでした。Voicebox を使用すると、次のようなコードがあります。
「サンプル」の各行には、各 .wav サンプルを表すベクトルが含まれています。このメソッドは、各サンプルのMFCC特徴の 2 次元マトリックスを返します。
Sphinxを見たことがありますが、このタスクでの使用方法を理解できませんでした。Sphinxまたはその他のJavaソリューションの使用に関するヘルプをいただければ幸いです。
matlab - MATLAB Murphy の HMM ツールボックス
私は HMM GMM の実装を学習しようとしており、特定の音 (動物の鳴き声など) を検出するための単純なモデルを作成しました。
MATLAB で GMM (ガウス混合物) を使用して HMM (隠れマルコフ モデル) ネットワークをトレーニングしようとしています。
いくつか質問がありますが、情報を見つけることができませんでした。
1)mhmm_em()
各 HMM 状態のループで関数を呼び出す必要がありますか、それとも自動的に実行されますか?
そのような:
2)
最後のパラメーターは、ガウスの数または number_of_states-1 である必要がありますか?
3)最尤法を探している場合、ビタビの出番はどこでしょうか?
抽出した音響特徴ベクトルを使用してモデルをトレーニングした後、特定の種類の動物/人間の鳴き声を検出したい場合、テスト モードで Viterbi アルゴリズムが必要でしょうか?
少し混乱しています。この部分の説明をいただければ幸いです。
HMM GMM ロジックに関するコードのコメントも歓迎します。
ありがとう
これが私の MATLAB ルーチンです。