進化的な音楽のサンプルコードを探している[非公開]
-
10-07-2019 - |
質問
音楽を生成するためのインタラクティブな進化アルゴリズムを実装したいと思います(おそらく、単純なメロディーから始めます)。
これには JFugue を使用します。そのウェブサイトは、進化的な音楽に適していると主張しているが、進化の例は見当たらない。
進化論的機構を提供するフレームワークをすでに持っています。私が探しているのは、音楽部分の実行可能なアプローチを示すシンプルで実用的なコードです(たとえば、進化した曲に適したエンコーディングと進化的演算子)。
それを達成する方法についてはいくつかのアイデアがありますが、音楽理論については特に知識がありません。そのため、まずは動作することがわかっているものを再実装したいと思います。
だから、誰もが進化音楽への1つ以上のアプローチを実証する自由に利用可能なコードを持っていますか、知っていますか?
編集:音楽合成に使用できる他の手法ではなく、進化的なコードを特に探しています。
解決 2
これまでのところ、これのみが見つかりました。 、Cの遺伝的プログラミングの例です。
更新(2010年1月):およびこのオンラインシステム。ソースコードを持っていますが、何が達成できるかの例です。また、 Grammidity を見つけました。これにより、MIDIイベントのシーケンスを文法から進化させることができます。
更新(2011年7月): MIT Open Coursewareサイトの関連するPythonコード 。
他のヒント
おそらく、 Markovチェーンを検討したいでしょう-進化のアルゴリズムよりも使いやすいでしょう。最高の繁殖のために出力の品質を判断することは、悪夢(主観的で時間がかかる)になり、進化的プログラミングと組み合わせるのに理想的です。
コーディングホラーに、優れた紹介があります。この記事では概念を説明し、驚くべき結果を示しています。コメントは音楽についてより多く言及しています(コメントやリンク先のサイトで何時間も失われました)。 ウィキペディアには、さらに具体的な詳細と詳細情報があります。
マルコフチェーンには確率の要素があるため、サイコロの目以外の選択肢を選択する方法を進化させることにより、進化的プログラミングと組み合わせることができます。
音楽を生成するためにセルラーオートマトンを使用する研究がいくつかあります。他のすべての音楽世代と同様に、それは実際には生成ではなくマッピングの問題です。マッピングを定義して「良い」ように聞こえる限り、ほとんど何でも入力として使用できます。 (まあ、おもしろい方が面白いと思います)。
グーグル「セルオートマトン音楽」かなりのヒットを与えます。別の情報源として、コンピュータミュージックジャーナルがあります。アーカイブにアクセスできる場合。