聲音是由空氣振動構成。平穩的振動,得到清澈的聲音。在數學上,平穩的振動可以用sin函數來表示,稱做sine wave,正弦波。
例如,1000Hz的清澈聲波,就是一秒鐘上下振動1000次(1000個波峰、1000個波谷)的sin函數。上圖則是4Hz的清澈聲波示意圖。順帶一提,人類的聽力極限是20Hz到22050Hz,正常人類是聽不到4Hz的,而大多數人都能聽到1000Hz。
轉換成數位訊號,需要做兩件事:時間軸離散化、振幅軸離散化。時間軸離散化,是根據取樣頻率,從零開始,等距離取得數值。接著是振幅軸離散化,將數值四捨五入。
現在請大家製造清澈的聲音。
兩個整數 F T 。 F 是聲波的頻率,單位是赫茲Hz (100 <= F <= 4000)。 T 是時間長度,單位是秒 (1 <= T <= 10)。聲波的中央為0,振幅是32767。
一段聲音:兩個整數 R N (R = 8000) (1 <= N <= R*T),是取樣頻率與訊號數量。下一行有 N 個整數,是訊號數值 (-32768 ~ +32767)。
440 5
8000 40000 0 11099 20886 28204 32187 32364 28714 21669 12062 1029 -10126 -20083 (後面省略)
1. 這是我自己寫的小工具,各位可以將自己電腦裡的聲音/影音檔案拖曳至此,將聲音/影音轉換成本題的輸入格式。也可以將本題的輸出數據存檔後拖曳至此,將本題的輸出數據轉換成聲音。10秒鐘的聲音,檔案就高達1MB,請注意檔案大小。
2. 當你使用的音響、耳機比較差,則無法播放太低、太高的頻率,無法聽到聲音。
3. 如果你能一秒鐘穩定擺動手指440次,理論上可以發出「中音La」的聲音。
編號 | 身分 | 題目 | 主題 | 人氣 | 發表日期 |
沒有發現任何「解題報告」
|