我需要使用python获取音符或音调。我知道librosa.estimate_tuning,但是我不知道如何将其转换为hz。也许有人可以说我可以解决我的问题。

最佳答案

也许使用“aubio / pitch_tracking”。它具有python界面,并且音调跟踪可以以多个单位完成,包括频率(hz)或音符(midi)。

也许你可以在这里找到一些例子:
https://github.com/aubio/aubio/tree/master/python/demos

pip install aubio

aubio  pitch   /myfile/Audio_6.wav

0.000000    474.987762
0.005805    450.682312
0.011610    445.780945
0.017415    443.593994
0.023220    442.287903
0.029025    441.431763
0.034830    440.940826
0.040635    440.775452
0.046440    440.760834
0.052245    440.760803
0.058050    440.760773
0.063855    440.760742
0.069660    440.760773
0.075465    440.760773
0.081270    440.760803
0.087075    440.760803
0.092880    440.760803
0.098685    440.760773
0.104490    440.760773
0.110295    440.760834
0.116100    440.760803
0.121905    440.760773
0.127710    440.760773
0.133515    440.760742
0.139320    440.760834

如您所见,它将我的输入音频wav文件判断为440 Hz,即

关于python - 如何使用Python从单发音频样本中获得hz音符?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58933641/

10-13 00:06