アルゴリズム作曲法

**アルゴリズム作曲法**（アルゴリズムさっきょくほう、）とは、読んで名の通り、アルゴリズムを用いた作曲である。

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

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

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

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

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

最も細かい分類法のひとつでは、アルゴリズムを次の6つの種類に分けている（なかには一部重複している分類もある）:
* 数学モデル
* 知識ベースシステム
* 文法
* 進化的（進化論的）
* 学習能力のあるシステム
* ハイブリッドシステム

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

確率アルゴリズムの好例としては、マルコフ連鎖、正規分布（ガウス分布）を色々と応用したものがある。（確率アルゴリズム等は、ひろく意志決定アルゴリズムに使われている。）

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

オンライン整数列大辞典は、任意の整数列を音楽として再生する手段を提供する。要するにどんなに大きな整数だろうと合同式（モジュラ計算）を用いて1～88の整数に変換して、鍵盤の88の音符に対応させるという単純なものである。（このとき入力する整数列がランダムなデータならば非決定的といえるし、作為のものなら決定的といえよう）

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

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

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

### 学習するシステム
*[[機械学習]]を参照*

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

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

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

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

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

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

## 関連項目
*
*コンピュータ音楽
*
*
*
*
*自動作曲
*音楽と数学

## 参考文献
*Phil Winsor and Gene De Lisa: *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. - Abstract
*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 (2005) A framework for comparison of process in algorithmic music systems. In: Generative Arts Practice, 5-7 December 2005, Sydney, Australia. http://eprints.qut.edu.au/6544/

## 外部リンク

### アルゴリズム的音楽の例
* Andrew Sorensen のリアルタイム・アルゴリズム即興
* Band-in-a-Boxが自動生成したジャズサクソフォンのソロ演奏: OGG vorbis format.

* （サンプル）コンピュータプログラムRandomusicによるピアノやチェロ音。
* Phil Thompson  Gingerbread Fractal Music とソフト。
* （サンプル）Paul Ramsay  *Parallel Music*（Shockwave使用）: PMusic: SINGLES; Consemble Plymouth; Consemble (open compositions project)
* （サンプル）カールハインツ・エッスル Lexikon-Sonate (MIDI and mp3).
* （サンプル）James Anthony Walker the art of jim.
* （サンプル）Dave Smith roughlight music
* （サンプル）Gary Lee Nelson Fractal Music.
* （サンプル）Martin Dostál GeneticDrummer System.
* （サンプル）Ensemble 176 online recordings.
* （シェアウェア） ver 3.0 で作れるフラクタル音楽
*  Abacus - アルゴリズムをつかったシリアル・ミニマリズム風のピアノ曲
* （サンプル）from SoundHelix (mp3).
* （サンプル） "Medalmusic system" と "Music-Realcomposer"（特許取得発明）.

### ソフトウェア
（以下は逐一アルゴリズム作曲ソフトであるという記述は省略する）
* （フリーウェア）IMPROVISOR for AudioCubes - という発光性のスマート電化製品用のアルゴリズム作曲用のソフトウェアツール。音高とタイミングのパターンをセパレートし、リンクして新たな音楽パターンを創成。
* （フリーウェア）AC Toolbox - (Algorithmic Composition Toolbox)
* athenaCL - 作成者: Christoper Ariza。モジュラー式。ポリフォニー機能。マルチパラダイム対応。複数プラットフォーム対応。インタラクティブなコマンドライン環境。
* BreathCube - ボーカルの生成エンジン（Windows ファイル）
* （フリーウェア）cgMusic 拡張性あり。幾つかの作風で調性音楽 (tonal music) 作成。MIDI や MP3 サンプル有。
* Fractal Tune Smithy - (作) Robert Walker も参照。
* Fractal Music Composer - (作) Michael Frame, Ginger Booth,  (Java)
* （フリーウェア） - 作成者:スペインの作曲家・ピアノ奏者。
* Harmony Improvisator - VSTプラグインで、古典的な和音論のルールにのっとり作曲。
*  - ジャズのソロ曲をアルゴリズム的に生成する。ユーザ設定可能な確率文脈自由文法を使用。
* Intermorphic Noatikl - 「汎生成 (trans-generative) の創造システム」（?）をうたう。Mac, Windows 環境対応。の" VST や Audio Units のプラグイン仕様。Koan の進化版。
* Intermorphic Mixtikl - 12 トラック生成のミュージック・ラボ・システム。Noatikl アルゴリズムエンジン搭載で、iPhone・iPad・iPod touch・Mac・Windows対応。ブラウザ、VST、Audio Units プラグイン対応。
* （フリーウェア）Lexikon-Sonate - （作）。コンピュータ制御のピアノ用。(MacOS)
* Musical Algorithms - 音楽と数学式の関係を探索するインタラクティブなソフト。（監修）Jonathan N. Middleton "Northwest Academic Computing Consortium" プロジェクト。
* Strasheela - 制約プログラミングを使用した作曲ソフトで、高度な複雑性を持つ音楽論（ハーモニーなど）にも対応。
* WolframTones - 1次元セル・オートマトンにもとづいたアルゴリズム作曲ソフト。
* Impromptu - リアルタイムのアルゴリズム作曲のプログラミング環境。
* MusiNum - 数値パターンをつかって音楽をつくるソフト。
* （フリーウェア）SoundHelix - ランダムなアルゴリズム作曲用の Java フレームワーク
* RGB MusicLab - 画像データを音楽にしてしまう (MacOS、Windows)
* Easy Music Composer - 楽々と作曲ができるソフト。

### チュートリアル
* Algorithmic Composition Tutorials

### 記事
*John Francis (Dr.), Computer Music Algorithms。アルゴリズムの説明（本文）＋C言語のプログラミングソースコードやそれを Win32 でコンパイルした実行ファイル（付録）。
* Martin Supper, A Few Remarks on Algorithmic Composition, ** 25.1 (2001) 48-53
*Composing with process: perspectives on generative and systems music pidcast