精華區beta Python 關於我們 聯絡資訊
你可以查一下 struct.unpack 的用法。 ※ 引述《buganini (霸格尼尼)》之銘言: : 我用Pymedia讀一個wav檔 : readframes(1) : 會傳回4bytes的data(應該是一個int吧) : 我想把他轉成真正的int : 也就是可以拿來做數學運算 : 請問要怎麼轉啊? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.59.19.17
buganini:來去試試 先謝了 03/11 03:07
buganini:哈哈成功了...不過目前只會弄出回音和雜音...囧 03/11 04:23
buganini:弄回音的時候會有long int轉int overflow的問題 03/11 04:24
buganini:因是加上前一段時間的資料,想說/2就ok,但又會跑出雜音= = 03/11 04:29
ykjiang:Python 處理 wave 沒有 Matlab 方便,有空可以幫忙包一包 03/11 11:38
ykjiang:對了,你可以在運算前轉成浮點數格式,利用 float(.) 即可 03/11 11:41
ykjiang:不過直覺上,/2 應該也是滿適當的作法 :p 03/11 11:44
buganini:恩...我後來覺得wave.readframes是return float 03/11 16:02
buganini:但也不是很確定,只是感覺..因為視為float的時候雜音較小 03/11 16:03
buganini:現在在懷疑讀進來的資料是不是logscale的..因為float/2 03/11 16:07
buganini:雜音還是頗嚴重 03/11 16:08
buganini:不知道有沒有辦法模擬電容的行為,直接處理頻域資料 03/11 16:51
buganini:還是說一定要經過Fourier Transform..? 03/11 16:52
ykjiang:你讀進的是 .wav 檔嗎? .wav 應該不至於用 logscale 吧 03/11 18:13
ykjiang:FFT 可以參考這兩篇 http://tiny.pl/cpg1 03/11 18:15
buganini:嘻嘻...剛剛也有找到這一篇....好文章! 03/11 19:50
buganini:現在有新的疑問..Stereo的data我讀進來是怎樣的format?? 03/11 19:56
buganini:我發現我對訊號做的改變似乎都是作用在右聲道耶!? 03/11 20:21
buganini:我懷疑我對readframes的return format的猜測根本就是錯的 03/11 20:24
buganini:查查看好了 03/11 20:25
buganini:最後確認每個sample是signed short (2 bytes) 03/14 04:40
buganini:且左右聲道交替出現 03/14 04:41
ykjiang:我知道的也是左右聲道交替出現,只是不記得佔幾 byte :p 03/16 12:57