アルゴリズム作曲法

アルゴリズム作曲法（アルゴリズムさっきょくほう、）とは、読んで名の通り、アルゴリズムを用いた作曲である。
概要.
アルゴリズムを駆使した作曲法（少なくとも、きちんとした形式法則による作曲は）、古来より数世紀にわたりおこなわれてきており、例えば西洋音楽の場合、対位法（）のルールにしたがった楽曲の声部進行 (voice-leading) を記譜することは、アルゴリズム的な作業に帰趨するのである。しかし通常「アルゴリズム作曲法」といえば、とりもなおさず人間が介入せずに所定の形式的な過程により曲を発生させる方法に限られる。すなわちコンピュータを使って生成させたり、なんらかのランダム性（偶発性）にゆだねた作曲法である。
また、実践音楽にはてんで関連性があるとも思えないアルゴリズムでも、創造インスピレーションを得られる糧として作曲家にすすんで利用されている。フラクタル数学やL-system文法、統計学的モデルのアルゴリズムも試され、果てはなんら脈絡のない任意データ（例、国勢調査の数値、GIS座標、磁場計測値）を入力するのも、れっきとした音楽的解釈手段のうちとされている。このようなアルゴリズム過程がはたして「良い音楽」の提供源となりうるか否かは、概して作曲者が採用するマッピングシステム（非音楽的情報を音楽データに変換する機能）の良し悪しにかかっている。
アルゴリズム作曲法のモデル論.
作曲アルゴリズムを種目別に分類する万人共通なシステムはない。一つのアプローチは、そのアルゴリズムが作曲プロセスにどう関わりあうかで見分ける方法である。この場合、コンピュータが作曲する音楽と、コンピュータの支援で作曲された音楽に分けられる。作品の創作のうえであれこれ選択をおこなえるようなアルゴリズムは、コンピュータ作曲と見なしていい。
別の分類法としては、その成果の形態で見分ける方法がある。これだと別個の楽器に演奏させるための（楽譜）を出力するものと、独自の音源で音楽を合成して演奏できるものに分けられる。
しかし、最も一般的な分類法は、アルゴリズムじたいの構造と、それが音楽データをどう処理するかによって細分類するやり方である。
最も細かい分類法のひとつでは、アルゴリズムを次の6つの種類に分けている（なかには一部重複している分類もある）:
数学モデル.
数学モデルは、数学的な方程式や、ランダム（乱雑）な結果をともなう事象に基づいている。なかでも最も常套的なのが、確率過程 (stochastic process) を使う手段である。その確率モデルでは、非決定的な実験の結果を用いて作曲をおこなう。このとき作曲家がコントロールするのは、確率パラメータ（各個のランダム事象にあたえる加重）の設定だけである。
確率アルゴリズムの好例としては、マルコフ連鎖、正規分布（ガウス分布）を色々と応用したものがある。（確率アルゴリズム等は、ひろく意志決定アルゴリズムに使われている。）
自然現象を利用した作曲もおこなわれている。これはカオス理論的モデルにより、調和・非調和の自然現象から曲を生成する。多くの自然現象が、フラクタル数学で用いる比較的単純なルーチン（の再帰的適用）で表現できるのは周知のことなので、当然のことながら、アルゴリズム作曲法のこの分野でもフラクタルの研究は1970年代以降おこなわれてきている。
オンライン整数列大辞典は、任意の整数列を音楽として再生する手段を提供する。要するにどんなに大きな整数だろうと合同式（モジュラ計算）を用いて1～88の整数に変換して、鍵盤の88の音符に対応させるという単純なものである。（このとき入力する整数列がランダムなデータならば非決定的といえるし、作為のものなら決定的といえよう）
知識ベースシステム.
ある音楽ジャンルの「美的法則 (esthetic code)」 を解明しこれをもとに類似の曲を作成するのもひとつの方法であるが、知識ベースシステムは、特定の音楽ジャンルやスタイル（作風）について、まえもって提唱されている一定の論証をもとに、同じジャンルや作風の作曲を試みようというものである。実践には、その作曲が、一定の判定法や規則を満たすことを要求するやり方が一般的である。
文法.
音楽を、独自の文法集合セットを持った言語とみなして分析することも可能である。まず「音楽の文法」（楽典）を構築し、これをもちいて鑑賞可能な音楽作品を作り出していく。文法は個々の音符の規則よりも、ハーモニー（和声）やリズムのようなマクロレベルのルールを包容することが多い。
進化的.
進化的音楽は遺伝的アルゴリズムを土台とした作曲法で、進化的計算を用いて曲を生成する。異なる解が突然変異や自然淘汰を通じてひしめきあい、そうした進化をへてまともな音楽作品へと到達していく。アルゴリズムを反復的に適用して、粗悪な解を除去し、その過程に生存したものから新たな解を作り出していく。過程の結果は、クリティック（）と呼ばれる機能によって監視されており、アルゴリズムのなかで作品の品質管理という肝要な役割を果たしている。
学習するシステム.
"機械学習を参照"
学習システムは、取り組む音楽ジャンルについての予備知識はあらかじめ持たされないが、ユーザやプログラマから与えられた類例（手本）を教材に徐々にそれを学習していくプログラムである。そして教材を処理して、手本材料に似た作品を作り出していく。この種のアルゴリズム作曲法は、作風（スタイル）のアルゴリズムモデリング法、機械による即興 (machine improvisation)、認知科学やニューラルネットワークと強い関連性がある。
ハイブリッドシステム.
単一のアルゴリズムモデルに依存したプログラムだと、なかなか美的観点から評価できる満足な結果を得られない。そこで、いくつかのアルゴリズムを併用して、その長所を合わせて互いの弱点を補うようなことがおこなわれる。ハイブリッドシステム作成という展開で、アルゴリズム作曲法には新たな道がひらけており、新鋭の作曲法も次々と編み出されている。手動でテストを繰り返しながらアルゴリズムを組み合わせてシステムを構築するため、ハイブリッドシステムの構築に多大な時間を要する点が問題である。
作品と応用.
直接そのまま音楽を演奏するシステム（機械やプログラム）も、アルゴリズム手法を用いていることが多々ある。特定の楽想をもとに、変幻自在に即興音楽を生成しつづけることができるアルゴリズムも多用される。早い例では、ルーカスフィルムのゲーム部門が1982年に発行したコンピュータゲーム""で、同ゲームの音楽ディレクターであるが作曲した基本のジャズ楽想にコンピュータが即興をくわえるというものであった。のちのルーカスアーツ社のアルゴリズム式エンジンは、「スター・ウォーズ ダークフォース」搭載用に開発されたものである。
このようなは、主流の著名作曲家にも注目された。ブライアン・イーノが数曲を提供した SSEYO社のという音楽生成システムは、ウェブや携帯デバイス、または単独で再生用に環境音楽の変奏曲を生成する。こうした生成音楽の著作権の地位は不透明であるが、音楽家が提供する「原作品」があって、これを「演奏」するのは、もっぱら利用者のコンピュータが動作させるアルゴリズムの結果である。
アルゴリズム的手続きの利用で知られている特記すべき作曲家: