2005/10/20

Prediction



最近外國老闆要我開始寫一些跟聲音、音樂有關的辨識程式,
研究的方向是 Prediction,也就是除了辨識聲音、音樂樣本之外,還要能做到一些預測的功能。

要進行聲音或音樂的辨識,首先要先有一些音樂的樣本,
由於第一階段的程式只能處理非類比式的聲音資料,
所以這幾天上班時間的工作,就是上網找尋樂譜,然後讀譜、再將曲譜改成電腦可以播放的格式,
所謂電腦可以播放的格式,就是將音符(Note)的 Pitch、Duration、Tempo 一一確認之後,
改成使用頻率 Frequency 加上 Duration 來播放。

我在唸小學之前有學過兩三個月的風琴、
彈過一兩本拜爾的小朋友鋼琴教本 - 這是我對於五線譜僅存的印象了。:P
看著一篇一篇的樂譜、簡譜,慢慢認音符、抓拍子、再轉換成對應的頻率,
有些不同調子的曲譜還得自己修改,兩三天下來已經改到快掛了..Orz

目前共計完成下列歌曲:

1.少女的祈禱(垃圾車音樂)
2.聖誕快樂(C大調 4/4)- Jingle Bells..Jingle Bells..
3.依比亞亞(C大調 4/4)- 依比亞亞依比依比亞..依比亞亞依比依比亞..
4.依比亞亞(G大調 4/4)- 依比亞亞依比依比亞..依比亞亞依比依比亞..
5.體操歌(C大調 4/4)- 頭耳肩膀膝腳趾..膝腳趾..膝腳趾..
6.青春舞曲(F大調 4/4)- 太陽下山明朝依舊爬上來..花兒謝了明天還是一樣的開..我的..
7.鳳陽花鼓(D大調 4/4)- 左手鑼..右手鼓..手拿著鑼鼓來唱歌..別的歌兒我也不會唱...
8.天空之城(C大調 4/4)..*這首超難*
9.More then I can say(C大調 4/4)

以及完成音頻對應表 Frequency Table 的推算(八個音階、96 音符)。


音樂辨識的程式比想像中要來得難寫,以「少女的祈禱」為例:
會影響電腦辨識結果的 Sample 有三種,

一是音量大小的變化:大聲播放的「少女的祈禱」跟小聲的「少女的祈禱」、
在電腦看來是完全不一樣的東西,
但是對人腦來說,大聲的「少女的祈禱」跟小聲的「少女的祈禱」都是「少女的祈禱」。

二是音調的變化:C 大調的「少女的祈禱」跟 D 大調的「少女的祈禱」、
在電腦看起來就是不一樣的東西,
但是由人來聽的時候,C 大調的「少女的祈禱」跟 D 大調的「少女的祈禱」都是「少女的祈禱」。

二是節拍的變化:一小節 4 拍的「少女的祈禱」跟一小節 8 拍的「少女的祈禱」、
在電腦看起來就是不一樣的東西,
但是對人來說,它們全部都是「少女的祈禱」。

以上還是由正常 Sample 可以進行模擬測試的部份,
至於走音的「少女的祈禱」,或是搶拍、慢拍的「少女的祈禱」,目前還沒想到該怎麼處理。

結論..人類的大腦真是強到沒話說。


按照外國老闆的說法,如果研究能順利進行並達成設定的目標,
應該能找到一些新的音樂儲存格式,不過..這當然不知道是多久之後才會發生的事情。XD

2 則留言:

張貼意見時,請記得選擇發表留言的身份
若無相關帳號,可於下拉選單選擇「名稱/網址」項目直接填寫暱稱,感謝!