b482: 音色(二)
Tags : 聲音處理
Accepted rate : 9人/9人 ( 100% ) [非即時]
評分方式:
Tolerant

最近更新 : 2015-08-27 17:01

Content

 

要讓聲音稍有變化,除了調整波形,也要調整振幅。

振幅和音量有關。我們抓住一個大原則:振幅大則大聲、振幅小則小聲。(人類的聽覺系統相當複雜,振幅與音量的對應方式相當複雜,這裡我們暫且不提。)

聲音有強弱變化,隨著時間而變化。例如鋼琴的振幅變化。敲擊琴鍵時,振幅急遽上升、急遽下降;按住琴鍵時,振幅幾乎不變;放開琴鍵時,振幅快速下降,接著瞬間歸零。

計算學家使用函數來描述聲音的強弱變化。橫軸是時間,縱軸是振幅(倍率)。本題當中,一倍定為32767。


sine wave每個數值乘上函數得到新數值,就完成了聲音強弱變化。

給你一個音名,請你根據給定的函數來調整振幅,製作一秒的聲音。基本波形是sine wave,振幅是32767。

Input

一個音名:三個字元或者兩個字元。第一個字元是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。

Output

一段聲音:兩個整數 R N (R = N = 8000),是取樣頻率與訊號數量。下一行有 N 個整數,是訊號數值 (-32768 ~ +32767)。

Sample Input #1
C#4
3 0.0 0.0 0.2 1.0 1.0 0.0
Sample Output #1
8000 8000
0 4 17 37 63 91 119 143 161 171   (後面省略)
測資資訊:
記憶體限制: 64 MB
公開 測資點#0 (33%): 1.0s , <1K
公開 測資點#1 (33%): 1.0s , <1K
公開 測資點#2 (34%): 1.0s , <1K
Hint :
Tags:
聲音處理
出處:
[管理者:
DJWS (...)
]


ID User Problem Subject Hit Post Date
沒有發現任何「解題報告」