簡體   English   中英

從* .wav文件中提取振幅列表以用於Python

[英]Extracting an amplitude list from *.wav file for use in Python

我在編程和轉換方面有點麻煩。 我正在設計一種AI,以識別樂器演奏的音符,並且需要從wave文件中提取原始聲音數據。 我的目標是對文件中的大部分時間執行FFT操作,以供AI使用。 為此,我需要音頻文件的振幅列表,但似乎找不到能夠起作用的轉換技術。 這些文件以MP3開頭,然后將它們轉換為wav文件,但是我總是以壓縮文件結尾,當我嘗試讀取該文件時會吐出亂碼。 有誰知道我如何將wav文件轉換為與Python的wave模塊兼容的文件,甚至直接將數據轉換為幅度列表的文件?

默認的Python wave模塊不是很完整。 您可以嘗試使用scipy中包含的替代方法。

檢出: 在Python中讀取* .wav文件

如果您打算對音頻進行任何數值繁重的操作,那么scipy可能是您的最佳選擇。

我相信Python可以讀取.dat文件。 您可以使用SoX將mp3或wav或其他格式轉換為.dat文件,這些文件只是“時間-左放大器-右放大器”的文本列表

代碼就是sox soundfile.mp3 soundfile.dat

http://sox.sourceforge.net/

Sox是命令行-我在Mac上使用Terminal來運行它,但是任何了解Bash或Linux命令的東西都可以工作,具體取決於您所使用的cpu。

希望有幫助!

您可能也想看看Pure Data,它在直觀的圖形編程語言中內置了一些不錯的FFT轉換。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM