這是我第一次使用波形文件。 問題是我不完全明白如何正確讀取存儲的數據。我的用於讀取的代碼:在應用FFT之前從wav文件讀取數據
uint8_t* buffer = new uint8_t[BUFFER_SIZE];
std::cout << "Buffering data... " << std::endl;
while ((bytesRead = fread(buffer, sizeof buffer[0], BUFFER_SIZE/(sizeof buffer[0]), wavFile)) > 0)
{
//do sth with buffer data
}
樣品文件頭給我的信息數據是PCM(1個信道),每個樣品8位和採樣速率爲11025Hz。
輸出數據給我(更新後)從0到255的值,所以對於8位調製,值是合適的PCM值。但是,有什麼想法BUFFER_SIZE會正確讀取這些值prefinrable?我使用
WAV文件:http://www.wavsource.com/movies/2001.htm(daisy.wav)
TXT輸出:https://paste.ee/p/pXGvm
您的意思是-128到127(而不是172)?你看到有符號值的原因是你將它們存儲在已簽名的int8中。 uint8是無符號 – Borgleader
是真的,我的錯,我改變了我的代碼。現在它給了我四個不同的值:128,127,87,0。我仍然不知道它是怎麼回事? – user3038744
我們沒有你的數據,所以我沒有看到我們如何知道這些值是否正確。 – Borgleader