2010-02-05 52 views
27

注意:這不是一個「編程音樂」的問題。以編程方式合成編程音樂?

我的問題是:

我想寫一個計算機程序可以合成重複節拍(我可以通過命令行控制),以管樂進我的耳朵。

我很好奇,如果有現有的工具來做到這一點(如果不是,使用什麼庫)。

的總體思路是:

1)計算機知道我在做什麼(由我運行的命令 - 無論我在Vim中,我的程序是否被編譯,等等。)

2)計算機知道我的心情一般(計數的編譯器故障是由於「製作」號;內存設計缺陷的數量,非零退出代碼;混帳的數量提交)

3)計算機知道我的大腦狀態(取決於打字率;我是編碼或思考)

我很樂意將它們用於控制音樂的某種類型的生物反饋。

這也是爲什麼音樂需要以編程方式合成(而不僅僅是一些現有音軌)的原因。

+0

太棒了。 char min fill ... – bsneeze 2010-02-05 04:37:00

+0

哇...這是一個非常聰明的想法... fav。和+1。我很想看看這是怎麼回事。保持一些更新你的進步或發佈鏈接更多信息... – IAbstract 2010-02-05 05:22:31

+0

我認爲我喜歡音樂編造的間諜軟件的想法:) – Dolph 2010-02-05 17:57:39

回答

11

對於實際的音樂方面,請查看Chuck。它可以讓你編程合成聲音。 Here's一個YouTube視頻展示了Chuck在工作中的一個例子。 Another video突出顯示查克如何工作,以及如何產生基本的聲音。

+0

+1爲ChucK ...理想的概念證明,因爲它是在開放資源。雖然開發者似乎公開承認它可能會被炸燬,但你有機會看到你正在做什麼並能夠做出改進。 – IAbstract 2010-02-05 05:31:51

+0

我只是希望我的聲卡沒有損壞,所以我可以聽到YouTube剪輯...:/ – IAbstract 2010-02-05 05:33:45

8

你必須:

  • 收集,你將你的基礎上的音樂輸入數據。

  • 決定這些輸入變量如何影響音樂

  • 拿出的算法創建的旋律和節奏

  • 碼這一切,在音樂合成器包

你的物品「知道你的心情」和「知道你的大腦狀態」,如果你想在他們身上取得重大進展,可能是值得博士學位的開放研究問題!

一旦你到達最後一步,我建議Csound

Csound是一個完善的設計,音樂合成和信號處理系統,提供組合物和性能的設施在寬範圍的平臺。它不限於任何風格的音樂,在創作古典音樂,流行音樂,電子音樂,環境音樂,實驗音樂和(當然)電腦音樂以及電影和電視音樂方面已經使用了多年。

順便說一句,我曾經有過的視覺服務器房間應該應該ambiently反映服務器的狀態。所以我設置了基於平均負載頻率的板球chrips,登錄事件發出的狼嚎以及系統日誌中的owl hoots(當時相對不頻繁)的網頁命中...

在那種情況下,它只是在一些基本的日誌刮在Python一起...

0

我不知道我會怎麼做,但我可能會看看Bootchart,它做了一堆進程監控。這可能有助於弄清楚現在正在發生的事情。

1

檢出Boodler,「開源音景工具」。

1

JFugue是一種開放源代碼庫(Java/JVM),用於「編程沒有MIDI複雜性的音樂」。 see article

它很容易啓動,並且可以作爲節目的基礎,節奏和旋律。

+0

事實上,JFugue有一個Rhythm類,可以提供您所需要的。 – 2010-07-16 14:50:57

2

Music as Data是一個非常有趣的項目 - 顯然是受SuperCollider和Chuck的啓發。

它是專門設計的,因此很容易在現場進行破解/實驗 - 基本上是創建音樂DSL的工具包。