b465. Sine Wave
標籤 : 聲音處理
通過比率 : 20人/21人 ( 95% ) [非即時]
評分方式:
Tolerant

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

內容

 

聲音是由空氣振動構成。平穩的振動,得到清澈的聲音。在數學上,平穩的振動可以用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)。

範例輸入 #1
440 5
範例輸出 #1
8000 40000
0 11099 20886 28204 32187 32364 28714 21669 12062 1029 -10126 -20083 (後面省略)
測資資訊:
記憶體限制: 64 MB
公開 測資點#0 (25%): 1.0s , <1K
公開 測資點#1 (25%): 1.0s , <1K
公開 測資點#2 (25%): 1.0s , <1K
公開 測資點#3 (25%): 1.0s , <1K
提示 :

1. 這是我自己寫的小工具,各位可以將自己電腦裡的聲音/影音檔案拖曳至此,將聲音/影音轉換成本題的輸入格式。也可以將本題的輸出數據存檔後拖曳至此,將本題的輸出數據轉換成聲音。10秒鐘的聲音,檔案就高達1MB,請注意檔案大小。

2. 當你使用的音響、耳機比較差,則無法播放太低、太高的頻率,無法聽到聲音。

3. 如果你能一秒鐘穩定擺動手指440次,理論上可以發出「中音La」的聲音。

標籤:
聲音處理
出處:
[管理者: DJWS (...) ]

本題狀況 本題討論 排行

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