アルゴリズム作曲法

アルゴリズム作曲法とは、読んで名の通り、アルゴリズムを用いた作曲である。

1. 概要
-----

アルゴリズムを駆使した作曲法、古来より数世紀にわたりおこなわれてきており、例えば西洋音楽の場合、対位法のルールにしたがった楽曲の声部進行  を記譜することは、アルゴリズム的な作業に帰趨するのである。しかし通常「アルゴリズム作曲法」といえば、とりもなおさず人間が介入せずに所定の形式的な過程により曲を発生させる方法に限られる。すなわちコンピュータを使って生成させたり、なんらかのランダム性にゆだねた作曲法である。

また、実践音楽にはてんで関連性があるとも思えないアルゴリズムでも、創造インスピレーションを得られる糧として作曲家にすすんで利用されている。フラクタル数学やL-system文法、統計学的モデルのアルゴリズムも試され、果てはなんら脈絡のない任意データを入力するのも、れっきとした音楽的解釈手段のうちとされている。このようなアルゴリズム過程がはたして「良い音楽」の提供源となりうるか否かは、概して作曲者が採用するマッピングシステムの良し悪しにかかっている。

2. アルゴリズム作曲法のモデル論
-----------------

作曲アルゴリズムを種目別に分類する万人共通なシステムはない。一つのアプローチは、そのアルゴリズムが作曲プロセスにどう関わりあうかで見分ける方法である。この場合、コンピュータが作曲する音楽と、コンピュータの支援で作曲された音楽に分けられる。作品の創作のうえであれこれ選択をおこなえるようなアルゴリズムは、コンピュータ作曲と見なしていい。

別の分類法としては、その成果の形態で見分ける方法がある。これだと別個の楽器に演奏させるためのを出力するものと、独自の音源で音楽を合成して演奏できるものに分けられる。

しかし、最も一般的な分類法は、アルゴリズムじたいの構造と、それが音楽データをどう処理するかによって細分類するやり方である。

最も細かい分類法のひとつでは、アルゴリズムを次の6つの種類に分けている:

数学モデル
知識ベースシステム
文法
進化的
学習能力のあるシステム
ハイブリッドシステム

2.1. 数学モデル
----------

数学モデルは、数学的な方程式や、ランダムな結果をともなう事象に基づいている。なかでも最も常套的なのが、確率過程  を使う手段である。その確率モデルでは、非決定的な実験の結果を用いて作曲をおこなう。このとき作曲家がコントロールするのは、確率パラメータの設定だけである。

確率アルゴリズムの好例としては、マルコフ連鎖、正規分布を色々と応用したものがある。

自然現象を利用した作曲もおこなわれている。これはカオス理論的モデルにより、調和・非調和の自然現象から曲を生成する。多くの自然現象が、フラクタル数学で用いる比較的単純なルーチンで表現できるのは周知のことなので、当然のことながら、アルゴリズム作曲法のこの分野でもフラクタルの研究は1970年代以降おこなわれてきている。

オンライン整数列大辞典は、任意の整数列を音楽として再生する手段を提供する。要するにどんなに大きな整数だろうと合同式を用いて1～88の整数に変換して、鍵盤の88の音符に対応させるという単純なものである。

2.2. 知識ベースシステム
--------------

ある音楽ジャンルの「美的法則 」 を解明しこれをもとに類似の曲を作成するのもひとつの方法であるが、知識ベースシステムは、特定の音楽ジャンルやスタイルについて、まえもって提唱されている一定の論証をもとに、同じジャンルや作風の作曲を試みようというものである。実践には、その作曲が、一定の判定法や規則を満たすことを要求するやり方が一般的である。

2.3. 文法
-------

音楽を、独自の文法集合セットを持った言語とみなして分析することも可能である。まず「音楽の文法」を構築し、これをもちいて鑑賞可能な音楽作品を作り出していく。文法は個々の音符の規則よりも、ハーモニーやリズムのようなマクロレベルのルールを包容することが多い。

2.4. 進化的
--------

進化的音楽は遺伝的アルゴリズムを土台とした作曲法で、進化的計算を用いて曲を生成する。異なる解が突然変異や自然淘汰を通じてひしめきあい、そうした進化をへてまともな音楽作品へと到達していく。アルゴリズムを反復的に適用して、粗悪な解を除去し、その過程に生存したものから新たな解を作り出していく。過程の結果は、クリティックと呼ばれる機能によって監視されており、アルゴリズムのなかで作品の品質管理という肝要な役割を果たしている。

2.5. 学習するシステム
-------------

//機械学習を参照//

学習システムは、取り組む音楽ジャンルについての予備知識はあらかじめ持たされないが、ユーザやプログラマから与えられた類例を教材に徐々にそれを学習していくプログラムである。そして教材を処理して、手本材料に似た作品を作り出していく。この種のアルゴリズム作曲法は、作風のアルゴリズムモデリング法、機械による即興 、認知科学やニューラルネットワークと強い関連性がある。

2.6. ハイブリッドシステム
---------------

単一のアルゴリズムモデルに依存したプログラムだと、なかなか美的観点から評価できる満足な結果を得られない。そこで、いくつかのアルゴリズムを併用して、その長所を合わせて互いの弱点を補うようなことがおこなわれる。ハイブリッドシステム作成という展開で、アルゴリズム作曲法には新たな道がひらけており、新鋭の作曲法も次々と編み出されている。手動でテストを繰り返しながらアルゴリズムを組み合わせてシステムを構築するため、ハイブリッドシステムの構築に多大な時間を要する点が問題である。

3. 作品と応用
--------

直接そのまま音楽を演奏するシステムも、アルゴリズム手法を用いていることが多々ある。特定の楽想をもとに、変幻自在に即興音楽を生成しつづけることができるアルゴリズムも多用される。早い例では、ルーカスフィルムのゲーム部門が1982年に発行したコンピュータゲーム//Ballblazer//で、同ゲームの音楽ディレクターであるピーター・ラングストンが作曲した基本のジャズ楽想にコンピュータが即興をくわえるというものであった。のちのルーカスアーツ社のアルゴリズム式エンジンenは、「スター・ウォーズ ダークフォース」搭載用に開発されたものである。

このような生成音楽は、主流の著名作曲家にも注目された。ブライアン・イーノが数曲を提供した SSEYO社のKoan という音楽生成システムは、ウェブや携帯デバイス、または単独で再生用に環境音楽の変奏曲を生成する。こうした生成音楽の著作権の地位は不透明であるが、音楽家が提供する「原作品」があって、これを「演奏」するのは、もっぱら利用者のコンピュータが動作させるアルゴリズムの結果である。

アルゴリズム的手続きの利用で知られている特記すべき作曲家:

エイフェックス・ツイン
オウテカ
クラレンス・バーロウ
ジョン・ケージ
[1]
ブライアン・イーノ
ゴットフリート・ミヒャエル・ケーニヒ
トリスタン・ミュライユ
マグヌス・リンドベルイ
ヤニス・クセナキス
マーク・フェル

4. 関連項目
-------

コンピュータ音楽
自動作曲
音楽と数学

5. 参考文献
-------

Phil Winsor and [2]: //Computer Music in C.// Windcrest 1990. ISBN 978-1-57441-116-4
Curtis Roads: //The Computer Music Tutorial.// MIT Press 1996
George Papadopoulos: //AI Methods for Algorithmic Composition : A survey, a Critical View and Future Prospects.// AISB Symposium on Musical Creativity, 1999
Eduardo Reck Miranda: //Composing Music with Computers.// Focal Press 2001
カールハインツ・エッスル: //Algorithmic Composition.// in: Cambridge Companion to Electronic Music, ed. by N. Collins and J. d'Escrivan, Cambridge University Press 2007. - ISBN 978-0-521-68865-9. - [3]
Gerhard Nierhaus: //Algorithmic Composition - Paradigms of Automated Music Generation.// Springer 2008. - ISBN 978-3-211-75539-6
Wooller, Rene, Brown, Andrew R, Miranda, Eduardo, Diederich, Joachim, & Berry, Rodney  A framework for comparison of process in algorithmic music systems. In: Generative Arts Practice, 5-7 December 2005, Sydney, Australia. [4]

6. 外部リンク
--------

6.1. アルゴリズム的音楽の例
----------------

[5]
Band-in-a-Boxが自動生成したジャズサクソフォンのソロ演奏: OGG vorbis format.
コンピュータプログラム[6]によるピアノやチェロ音。
Phil Thompson [7] とソフト。
Paul Ramsay //Parallel Music//: [8]; [9]; [10]
カールハインツ・エッスル [11] .
James Anthony Walker [12].
Dave Smith [13]
Gary Lee Nelson [14].
Martin Dostál [15].
Ensemble 176 [16].
en [17]
cs [18] - アルゴリズムをつかったシリアル・ミニマリズム風のピアノ曲
from [19] .
fr [20].

6.2. ソフトウェア
-----------

[21] - enという発光性のスマート電化製品用のアルゴリズム作曲用のソフトウェアツール。音高とタイミングのパターンをセパレートし、リンクして新たな音楽パターンを創成。
[22] - 
[23] - 作成者: Christoper Ariza。モジュラー式。ポリフォニー機能。マルチパラダイム対応。複数プラットフォーム対応。インタラクティブなコマンドライン環境。
[24] - ボーカルの生成エンジン
[25] 拡張性あり。幾つかの作風で調性音楽  作成。MIDI や MP3 サンプル有。
[26] -  Robert Walker enも参照。
[27] -  Michael Frame, Ginger Booth, en 
FractMus - 作成者:スペインの作曲家・ピアノ奏者es。
[28] - VSTプラグインで、古典的な和音論のルールにのっとり作曲。
Impro-Visor - ジャズのソロ曲をアルゴリズム的に生成する。ユーザ設定可能な確率文脈自由文法を使用。
[29] - 「汎生成  の創造システム」をうたう。Mac, Windows 環境対応。の" VST や Audio Units のプラグイン仕様。[30] の進化版。
[31] - 12 トラック生成のミュージック・ラボ・システム。[32]搭載で、iPhone・iPad・iPod touch・Mac・Windows対応。ブラウザ、VST、Audio Units プラグイン対応。
[33] - カールハインツ・エッスル。コンピュータ制御のピアノ用。
[34] - 音楽と数学式の関係を探索するインタラクティブなソフト。Jonathan N. Middleton "Northwest Academic Computing Consortium" プロジェクト。
[35] - 制約プログラミングを使用した作曲ソフトで、高度な複雑性を持つ音楽論にも対応。
[36] - 1次元セル・オートマトンにもとづいたアルゴリズム作曲ソフト。
[37] - リアルタイムのアルゴリズム作曲のプログラミング環境。
[38] - 数値パターンをつかって音楽をつくるソフト。
[39] - ランダムなアルゴリズム作曲用の Java フレームワーク
[40] - 画像データを音楽にしてしまう 
[41] - 楽々と作曲ができるソフト。

6.3. チュートリアル
------------

[42]

6.4. 記事
-------

John Francis , [43]。アルゴリズムの説明＋C言語のプログラミングソースコードやそれを Win32 でコンパイルした実行ファイル。
Martin Supper, [44], //en// 25.1  48-53
[45]