如何用計算機生成一段隨機的音樂?

我用mathematica試了一下(新手,不會用),好像不行,代碼如下:

t = 0;

For[i = 0, i &< 100, i++, r = RandomReal[];

EmitSound[

Sound[(*Append[#,

"Violin"]/@*){SoundNote[

RandomChoice[{"A", "B", "C", "D", "E", "F", "G"}]

, {t, r}]}]]; t = t + r]

謝謝


2011年的Chuck Ronco獲獎作品...大概是這個思路:

rule=ArrayRules[ToString/@{C,D,E,F5,G,A1,B3,C5,D5,C3}];
length=Sound[SoundNote@@@Table[{{RealDigits[N[Pi,#]][[1,i]]},.46,"NewAge"},{i,#}]/.rule];
length[100]

你的思路的話...還不如

Sound[SoundNote[#,RandomReal[],"Violin"]/@RandomChoice[{"A","B","C","D","E","F","G"},100]]

好像能聽的樣子...

範例里就有好多...你還自己瞎造輪子......

送你個起床鈴....

Sound[SoundNote[DeleteCases[3 Range[21]Reverse[#],0]-24,.1]/@Transpose[CellularAutomaton[90,{{1},0},20]]]

不過我感覺還是這個最魔性...

Sound[Table[SoundNote[RandomInteger[7],.2,RandomChoice[{"Piano","Guitar","Violin"}]],1000]]


這個很簡單吧,定幾個固定長度、固定頻率,不過我覺得還是確定節奏生成隨機樂句後,進行組合比較好,否則和噪音差不多


隨機生成音樂只能娛樂,不能用來聽。

因為根本沒法聽。生成的隨機的旋律根本無法表達作曲者的思想感情。


隨機生成音樂不難,關鍵是能聽


推薦閱讀:

如何從Deemo遊戲中提取音樂的midi文件?
如何看待「Mathematica 只是一個高級計算器」的說法?
如何找到mathmatica最新幾版的學習教材教程?

TAG:音樂 | 演算法 | 計算機 | WolframMathematica |