b481. 音色(一)
標籤 : 聲音處理
通過比率 : 10人/10人 ( 100% ) [非即時]
評分方式:
Tolerant

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

內容

要讓聲音稍有變化,必須調整波形。

音樂家的策略是:採用不同材質的樂器、不同構造的樂器,以改變振動方式、改變波形。比方來說,百萬元的小提琴與千元的小提琴,差異就在於振動方式。

計算學家的策略是:以函數調整波形。首先把sin波的振幅暫時調整成1,然後利用f(x) = x3、f(x) = x5、f(x) = x1/3等函數來調整波形,sine wave每個數值代入函數得到新數值。由於最初振幅已是1,套用上述函數,振幅仍是1,只有波形被改變了。


另外,還可以進一步運用合音的概念,混和各種調整過的波形,得到複雜的波形。例如f(x) = x3 與 f(x) = x 進行合音,比例是0.7與0.3。這可以整合成一個多項式函數:f(x) = 0.7 x3 + 0.3 x。


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

輸入說明

一個音名:三個字元或者兩個字元。第一個字元是ABCDEFG其中一個。第二個字元是#b其中一個,第二個字元可有可無。第三個字元是1234567其中一個。

音名後面是三個浮點數 a5 a3 a1 (0.0 <= a5, a3, a1 <= 1.0) (a5 + a3 + a1 = 1.0),是多項式函數 f(x) = a5 x5 + a3 x3 + a1 x1 的係數。

輸出說明

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

 

範例輸入 #1
C#4 1.0 0.0 0.0
範例輸出 #1
8000 8000
0 15 437 2715 8576 17883 27448 32587   (後面省略)
測資資訊:
記憶體限制: 64 MB
公開 測資點#0 (33%): 1.0s , <1K
公開 測資點#1 (33%): 1.0s , <1K
公開 測資點#2 (34%): 1.0s , <1K
提示 :
標籤:
聲音處理
出處:
[管理者: DJWS (...) ]

本題狀況 本題討論 排行

編號 身分 題目 主題 人氣 發表日期
沒有發現任何「解題報告」