b466. 簡譜演奏程式
標籤 : 聲音處理
通過比率 : 12人/12人 ( 100% ) [非即時]
評分方式:
Tolerant

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

內容

 

簡譜是把音樂化成數字的方法,而電腦/計算機擅於計算數字。本題我們來做個極簡易的簡譜演奏程式。

簡譜  1      2      3      4      5      6      7
唱名 Do Re Mi Fa Sol La Si
頻率 261.63 293.66 329.63 349.23 392.00 440.00 493.88

本題的一拍設定成0.25秒。簡譜的每一個字元,長度都是一拍。

1234567是音符,每一個音符都是sine wave,從0開始振動,振幅32767。

0是休止符,沒有任何聲音。數位訊號當中,無聲時,訊號數值保持相同。本題為求方便,無聲時,數值為零。

-是延音線,延長音符時間,波形連綿不間斷。延音線不會出現在簡譜開頭。

輸入說明

一個極簡易的簡譜,只有01234567-九種字元,長度小於50。

輸出說明

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

 

範例輸入 #1
1010505060605--04040303020201--
範例輸出 #1
8000 62000
0 6686 13090 18944 24001 28047 30914 32480 32680 31504 (後面省略)
測資資訊:
記憶體限制: 64 MB
提示 :

1. 這是我自己寫的小工具,各位可以將本題的輸出數據存檔後拖曳至此,將本題的輸出數據轉換成聲音。

2. 兩個音符之間,波與波沒有緊密銜接,就會產生破音,「啪」的聲音。本題沒有處理破音,所以你會聽到許多破音。



3. 本題當中,Sol和La的波形碰巧銜接,所以連續的Sol和La碰巧變成連音。解決之道是聲音衰退、斷音。

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

本題狀況 本題討論 排行

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