問題タブ [pitch-tracking]
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.
c# - 高調波積スペクトルのオクターブエラーを修正するには?
私は音声トレーニング アプリを作成しており、FFT を使用して信号を時間領域から周波数領域に変換しました。FFT を適用する前に、ブラックマン-ハリス ウィンドウを使用して信号をウィンドウ処理しました。次に、高調波積スペクトルを使用して基本周波数を抽出しました。最低周波数は F2 (87.307 Hz) で、最高周波数は C6 (1046.502 Hz) です。FFT 長は 8192 で、サンプリング周波数は 44100 Hz です。
オクターブ エラーを修正するために、ここで言及されているルールを適用しました。
ノコギリ波を使用してシステムをテストしたところ、オクターブ エラーがまだ表示されていることがわかりました。87.307 Hz ~ 190 Hz では、オクターブの高いエラーが発生します。G5 (783.991) 上に、1 オクターブ下を示すことがあります。
結果の一部を次に示します。結果 | エラー
これを修正するのを手伝ってください。これは、ユーザーへのシステムの最終的なフィードバックにひどく影響するためです。