Ada*_* Xu 10 python audio feature-extraction scipy
我试图从音频文件中提取音高特征,我将用于分类问题.我使用python(scipy/numpy)进行分类.
我想我可以使用频率功能,scipy.fft但我不知道如何使用频率来近似音符.我研究了一下,发现我需要获得色度特征,这些特征将频率映射到12二进制位以获得半音阶的音符.
我认为有一个用于matlab的色度工具箱,但我不认为python有类似的东西.
我该怎么做呢?任何人都可以建议阅读我应该研究的材料吗?
您可以将频率映射到音符:
和是要计算的 MIDI 音符编号,
频率和
室内音高(在现代音乐中 440.0 Hz 很常见)。
您可能知道,单一频率并不能产生音高。“音高”源自对谐波声音基音的感觉,即主要由一个单一频率(=基音)的整数倍组成的声音。
如果您想在 Python 中使用色度功能,您可以使用Bregman Audio-Visual Information Toolbox。请注意,色度功能不会为您提供有关音高八度的信息,因此您只能获得有关音级的信息。
from bregman.suite import Chromagram
audio_file = "mono_file.wav"
F = Chromagram(audio_file, nfft=16384, wfft=8192, nhop=2205)
F.X # all chroma features
F.X[:,0] # one feature
Run Code Online (Sandbox Code Playgroud)
从音频中提取音调信息的一般问题称为音调检测。
| 归档时间: |
|
| 查看次数: |
11132 次 |
| 最近记录: |