我寫了一段代碼,該代碼應該讀取一個音頻文件作爲輸入,以便編寫包含每個樣本的csv文件。這是代碼:gnuplot - 軸上的物理尺寸
FILE *pipein;
pipein = popen("ffmpeg -i test1.wav -f s16le -ac 1 -", "r");
fread(buf, 2, sample_number, pipein);
pclose(pipein);
// Print the sample values in the buffer to a CSV file
FILE *csvfile;
csvfile = fopen("samples.csv", "w");
while (n<=sample_number) {
//if (buf[n]!=0) {
fprintf(csvfile, "%d %f\n", buf[cont], Sam_freq*cont);
cont++;
// }
n++;
}
fclose(csvfile);
這是CSV文件看起來像運行的代碼之後:
10 43.150544
-36 43.150567
11 43.150590
30 43.150612
-29 43.150635
61 43.150658
13 43.150680
46 43.150703
121 43.150726
61 43.150748
144 43.150771
128 43.150794
130 43.150816
131 43.150839
我試着用gnuplot的繪製samples.csv的數據,但我不明白該物理尺寸在y軸上表示。
我在其他帖子上看到,y軸上的值代表麥克風膜的變形。有沒有人知道一個數學關係,以從這些值中提取我需要的物理尺寸?
[PCM音頻幅度值?]可能重複?(https://stackoverflow.com/questions/5890499/pcm-audio-amplitude-values) – user8153