【发布时间】:2014-01-10 06:09:14
【问题描述】:
我正在为一个学校项目编写和弦识别器。我必须从 mp3 文件中提取特征并使用带有和弦标签的 SVM。
如何从音频文件中提取频率。
是否有任何 scipy 包可以让我击败同步色度。
【问题讨论】:
标签: scipy svm pattern-recognition feature-extraction
我正在为一个学校项目编写和弦识别器。我必须从 mp3 文件中提取特征并使用带有和弦标签的 SVM。
如何从音频文件中提取频率。
是否有任何 scipy 包可以让我击败同步色度。
【问题讨论】:
标签: scipy svm pattern-recognition feature-extraction
如果要获取一些原始流(包括 WAV 文件,它只是一个原始流和围绕它的信封),即使使用自制工具,解码也会变得更加容易。在通常的类 Unix 下,您可以这样做,例如与mpg123 -s、mplayer -ao pcm:fast:file=$outfile 等等。但我怀疑你能找到一个最终支持所有压缩音频格式的库。
(另外,SoX 可以很好地在所有未压缩格式之间进行转换。)
【讨论】:
您可以考虑计算一个色谱图,它就像一个频谱图,但在 Y 轴上使用音符而不是频率。 Librosa python 库有一个内置函数来计算它。 https://librosa.github.io/librosa/generated/librosa.feature.chroma_stft.html
【讨论】:
您正在寻找我的朋友,Librosa。它非常适合音频特征提取和操作。 它有一个单独的功能子模块。您可以在最低级别提取特征,并且他们的文档有一些非常容易理解的教程。
这是他们网站的链接。连同示例代码
https://librosa.github.io/librosa/index.html
import librosa
audio_file = 'your_audio_file.wav'
signal , sampling_rate = librosa.load(audio_file, sr=16000)
print(type(signal), type(sampling_rate)
len(signal), sampling_rate
【讨论】: