0

歌声からピッチを抽出したいです。問題のトラックにはボイスが 1 つだけ含まれており、他のサウンドは含まれていません。

特定の時点でのラウドネスと知覚されるピッチ周波数を知りたいです。したがって、次のようなものです。

0.0秒 400Hz -20dB
0.1秒 401Hz -9dB
0.2秒 403Hz -10dB
0.3秒 403Hz -10dB
0.4秒 404Hz -11dB
0.5秒 406Hz -13dB
0.6秒 410Hz -15dB
0.7秒 411Hz -16dB
0.8秒 409Hz -20dB
0.9秒 407Hz -24dB
1.0秒 402Hz -34dB

どうすればそのような出力を達成できますか? 特定の音価に当てはめたときの周波数のわずかな変化に興味があります。私は DSP の知識があり、C++ と Python でプログラミングできますが、できれば車輪の再発明は避けたいと思っています。

4

2 に答える 2

1

この記事 http://audition.ens.fr/adc/pdf/2002_JASA_YIN.pdfを読むことをお勧めします 。これはピッチ検出の最も簡単な方法の1つであり、非常にうまく機能します。また、信号の瞬時電力を測定する場合は、信号の絶対値を取得し、1 /√2(RMS値を与える)で除算してから平滑化することができます(通常は1次ローパスフィルター)。これがお役に立てば幸いです。幸運を!

于 2011-11-13T19:57:59.873 に答える
1

Hz 単位の周波数と知覚されるピッチのわずかな変化は、同じものではない場合があることに注意してください。知覚されるピッチ解像度は、絶対周波数、持続時間、ラウドネスによって異なるようです。これ以上の精度が必要な場合は、各声門閉鎖間の時間を推定する研究論文がいくつかあるかもしれません (おそらくデコンボリューションまたはパターン マッチング技術を使用して)。これにより、ある種のピッチ周期が得られます。最も単純なピッチ推定は、重み付けされた自己相関の何らかの形式である可能性があり、多くの定型アルゴリズムとコードが利用可能です。

dB は対数スケールであるため、この測定値は知覚されるラウドネスにいくらか近いかもしれませんが、測定の一定期間にわたって何らかの知覚周波数応答曲線でスペクトル的に重み付けする必要があります。

これらのトピックの両方に関する研究論文や、人間の音声認識や一般的なオーディオ DSP 技術に関する多くの教科書があるようです。

于 2011-03-16T18:36:39.157 に答える