b488. Clipped Sine Wave
標籤 : 聲音處理
通過比率 : 5人/7人 ( 71% ) [非即時]
評分方式:
Tolerant

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

內容

聲音訊號的數值範圍是有上下限的。本系列的題目,使用16bit有號整數,範圍是[-32768, 32767]。

用麥克風錄製聲音時,當音量太大,超過麥克風的振動極限,那麼數值就會維持在上限(和下限)。

用音響播放聲音時,當音量太大,也一樣有這種現象。這跟電玩遊戲攻擊傷害9999是一樣的現象。


這種現象稱做截斷(clipping)。這裡有個Youtube影片,利用動畫說明了截斷的現象。

這是正常的中央C。



這是音量太大,被截斷的中央C。



給你一段截斷的聲音,你能修復它嗎?

輸入說明

一段聲音:兩個整數 R N (R = N = 8000),是取樣頻率與訊號數量。下一行有 N 個整數,是訊號數值 (-32768 ~ +32767)。聲音是某個音名的sine wave,可能截斷、可能沒有截斷。

輸出說明

請輸出處理過的聲音。振幅調整成32767。

 

範例輸入 #1
8000 8000
0 10029 19635 28416 32767 32767 32767 32767 (後面省略)
範例輸出 #1
8000 8000
0 6686 13090 18944 24000 28047 30914 32480 (後面省略)
測資資訊:
記憶體限制: 64 MB
公開 測資點#0 (20%): 1.0s , <1M
公開 測資點#1 (20%): 1.0s , <1M
公開 測資點#2 (20%): 1.0s , <1M
公開 測資點#3 (20%): 1.0s , <1M
公開 測資點#4 (20%): 1.0s , <1M
提示 :
標籤:
聲音處理
出處:
[管理者: DJWS (...) ]

本題狀況 本題討論 排行

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