[英]Extracting an amplitude list from *.wav file for use in Python
我在编程和转换方面有点麻烦。 我正在设计一种AI,以识别乐器演奏的音符,并且需要从wave文件中提取原始声音数据。 我的目标是对文件中的大部分时间执行FFT操作,以供AI使用。 为此,我需要音频文件的振幅列表,但似乎找不到能够起作用的转换技术。 这些文件以MP3开头,然后将它们转换为wav文件,但是我总是以压缩文件结尾,当我尝试读取该文件时会吐出乱码。 有谁知道我如何将wav文件转换为与Python的wave模块兼容的文件,甚至直接将数据转换为幅度列表的文件?
默认的Python wave模块不是很完整。 您可以尝试使用scipy中包含的替代方法。
如果您打算对音频进行任何数值繁重的操作,那么scipy可能是您的最佳选择。
我相信Python可以读取.dat文件。 您可以使用SoX将mp3或wav或其他格式转换为.dat文件,这些文件只是“时间-左放大器-右放大器”的文本列表
代码就是sox soundfile.mp3 soundfile.dat
Sox是命令行-我在Mac上使用Terminal来运行它,但是任何了解Bash或Linux命令的东西都可以工作,具体取决于您所使用的cpu。
希望有帮助!
您可能也想看看Pure Data,它在直观的图形编程语言中内置了一些不错的FFT转换。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.