[英]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.