要讓聲音稍有變化,除了調整波形,也要調整振幅。
振幅和音量有關。我們抓住一個大原則:振幅大則大聲、振幅小則小聲。(人類的聽覺系統相當複雜,振幅與音量的對應方式相當複雜,這裡我們暫且不提。)
聲音有強弱變化,隨著時間而變化。例如鋼琴的振幅變化。敲擊琴鍵時,振幅急遽上升、急遽下降;按住琴鍵時,振幅幾乎不變;放開琴鍵時,振幅快速下降,接著瞬間歸零。
計算學家使用函數來描述聲音的強弱變化。橫軸是時間,縱軸是振幅(倍率)。本題當中,一倍定為32767。
sine wave每個數值乘上函數得到新數值,就完成了聲音強弱變化。
給你一個音名,請你根據給定的函數來調整振幅,製作一秒的聲音。基本波形是sine wave,振幅是32767。
一個音名:三個字元或者兩個字元。第一個字元是ABCDEFG其中一個。第二個字元是#b其中一個,第二個字元可有可無。第三個字元是1234567其中一個。
一個函數:一個整數 P (2 <= P <= 10) ,是函數點數量。後面有 P 個數對 x 與 y (0.0 <= x, y <= 1.0)。x是時間,單位為秒;y是振幅的倍率,1倍是32767。方便起見,函數點之間以直線相連(即線性內插)。x嚴格遞增,第一個x總是0.0,最後一個x總是1.0。
一段聲音:兩個整數 R N (R = N = 8000),是取樣頻率與訊號數量。下一行有 N 個整數,是訊號數值 (-32768 ~ +32767)。
C#4 3 0.0 0.0 0.2 1.0 1.0 0.0
8000 8000 0 4 17 37 63 91 119 143 161 171 (後面省略)
編號 | 身分 | 題目 | 主題 | 人氣 | 發表日期 |
沒有發現任何「解題報告」
|