[問題] wav adpcm

看板C_and_CPP (C/C++)作者 (哈哈哈)時間14年前 (2011/12/30 01:50), 編輯推噓0(006)
留言6則, 3人參與, 最新討論串1/1
現在敝人想用fft來讀取wav檔的頻譜 int data fseek(f,0x2C,SEEK_SET); fread(&data,200,1,f); 但是用int資料型式讀出來的pcm時域音訊 讀出來的值好像是10進位的東西... 要怎麼樣才能化成010111.....的型式呢???? 用字串好像也不對@@? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.37.18.48

12/30 02:00, , 1F
你是要把 10 進位的 data 轉成 2 進位來看?
12/30 02:00, 1F

12/30 02:08, , 2F
喔對好像還有這種方法!
12/30 02:08, 2F
那再問一個問題 為什麼 --------------------- int data=0; fread(&data,200,1,f); 輸出:-65536 --*-*--*-*-*-*-*-*-*-*--*-*----- 改成下面>> -*-*--**--*-*-*-*-*-*--*-*-*----- int data; fread(&data,200,1,f); 卻輸出:-858993460 ----------------------------- 這是??而且讀出來的東西好像也怪怪的 我知道int的範圍是負到正 還是PCM編碼的關係??? ※ 編輯: wowrz 來自: 114.37.18.48 (12/30 02:18)

12/30 02:20, , 3F
sizeof(int) 沒有 200 你怎麼參數傳 200
12/30 02:20, 3F
剛剛改成 int data=0; fread(&data,sizeof(int),1,f); 還是輸出:-65536 @@??是為什麼呢 ※ 編輯: wowrz 來自: 114.37.18.48 (12/30 02:24)

12/30 02:26, , 4F
我的整個WAV大小是24264972bytes 所以我想說取一段來做fft
12/30 02:26, 4F

12/30 02:30, , 5F
你該先去查 fread 的正確用法,自然會知道卡在哪.
12/30 02:30, 5F

12/30 02:31, , 6F
瞭解
12/30 02:31, 6F
文章代碼(AID): #1E_AXUDk (C_and_CPP)
文章代碼(AID): #1E_AXUDk (C_and_CPP)