gpt4 book ai didi

python - 从音频文件中提取音高特征

转载 作者:太空狗 更新时间:2023-10-29 18:31:34 25 4
gpt4 key购买 nike

我正在尝试从音频文件中提取音高特征,以用于分类问题。我正在使用 python(scipy/numpy) 进行分类。

我想我可以使用 scipy.fft 获得频率特征,但我不知道如何使用频率来近似音符。我进行了一些研究,发现我需要获取将频率映射到 12 bin 的色度特征,以获取半音音阶的音符。

我认为有一个适用于 matlab 的色度工具箱,但我认为没有任何类似的适用于 python 的工具箱。

我应该如何处理这件事?任何人都可以建议我应该阅读的阅读 Material 吗?

最佳答案

您可以将频率映射到音符:

n=12*log_2(f/Cp)+69

n是要计算的 MIDI 音符编号,f频率和Cp室内音高(在现代音乐中 440.0 Hz 很常见)。

如您所知,单一频率并不能构成音高。 “音调”源于谐波声音基音的感觉,即主要由一个单一频率(= 基音)的整数倍组成的声音。

如果你想在 Python 中使用 Chroma 功能,你可以使用 Bregman Audio-Visual Information Toolbox .请注意,色度特征不会为您提供有关音高 Octave 的信息,因此您只能获得有关 pitch class 的信息。 .

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

从音频中提取音高信息的一般问题称为pitch detection .

关于python - 从音频文件中提取音高特征,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20730133/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com