Generative Musicとは
Generative Musicとはリアルタイムに生成される音楽のことを指し、Brian Eno(ブライアンイーノ)が1975年に発表したDiscreet Musicというアルバムが原点になっています。リアルタイムに生成される音楽は、既存の確定した音楽を生演奏することとも異なり、その場その場で音楽が作られていきます。
当然意図的に記録しておかなければ再現性などはなく、ある規則に基づいて毎回どこか異なる音楽が生成されます。
Discreet Music BRIAN ENO Virgin 2008-10-30 |
Brian Eno (ブライアンイーノ)
イギリス出身の作曲家、ミュージシャン、プロデューサー。
ロックバンドRoxy Musicのメンバーとして音楽のキャリアをスタートさせ、「Another Green World」(1975年)、「Ambient 1 / Music for Airports」(1978年)ではその範囲を現代音楽まで広げる。現代的なアンビエントミュージックは彼がはじめたものです。
プロデューサーとしてはU2の「The Joshua Tree」「The Unforgettable Fire」で商業的に大きな成功をおさめました。その他、Windows95の起動音「The Microsoft Sound.wav」はイーノが作曲したものであり、Windows Vistaの音楽はイーノと交友が深いロバートフリップが担当しています。
イーノの活動は21世紀になった現在でも衰えることなく、iPhoneのジェネレイティブミュージックの生成アプリケーションとしてBloomやAirをリリースしています。
かつてイーノが描いていた音楽はこういったインタラクティブで終わりがない音響世界だったのではないでしょうか。
CDという限られたフォーマットの中では表現出来ないイーノの世界が広がっています。
こういった生成的手法はアカデミックな電子音楽の中では常套句で、大きく取り上げられることはありませんが、イーノが音楽の専門家でない一般層にまでこういったアプローチを広めた功績は大きいでしょう。
Generative Music by Max/MSP
Rhythm
今回はブライアンイーノの発想に基づき、音楽の自動生成を行うプログラムをMax/MSPで実装します。
このパッチではリズムは非常に単純な構造になっています。
loadbangオブジェクトによって1234という数字がトリガーされますが、これがそのまま音のデュレーションの設定に該当するmakenoteオブジェクトの第三インレットに接続されます。
一方この数字を2.0で割った数値をmetroオブジェクトの第二インレットに送り込んでいます。
つまりこのパッチではmetroオブジェクトで生成されるパルス(bang)の間隔の2倍の長さを持つ音符によってリズムが形成されます。
ピッチクラスコレクション
前述のmetroオブジェクトによって送信されたbangをrandomオブジェクトが受け取り、0から6までの乱数を生成します。
この乱数をダイアトニック音階にマッピングするためにselオブジェクトとnumberを使用し、[0,1,2,3,4,5,6]という数値をそれぞれ[0,2,4,5,7,9,11]というピッチクラスの数値に変換します。
数字を見てピンとくるかたもいらっしゃると思いますがピッチマテリアルは1オクターブのダイアトニックコレクション(全音階集合)を採用しています。
全てのピッチクラスは同等の出現頻度を持ち、どの音にも重心がない点が特徴ですが、同じ視点で考えるとシェーンベルクらの新ウィーン楽派をはじめとする12音列技法もピッチクラスコレクションこそ異なるものの、全てのピッチクラスが同等の出現頻度を持つ点で類似点が見られます。
ピッチはMax上で一様乱数を生成するrandomオブジェクトによって、全てが確率で出現するようにプログラムされています。
これは1オクターブというレンジの範囲では比較的音楽的な音列を生成することが可能ですが、2オクターブ、3オクターブと広がるにつれて音楽的ではない結果を生み出すため、レンジを広げつつ音楽性も確保するためには別のアルゴリズムの適用が必要になります。
1オクターブのレンジを持つということは、旋律の跳躍も最大で完全8度ということを意味します。メロディアスな旋律の作曲には極度な跳躍は避けるべきです。
生成されたダイアトニックのピッチは鍵盤の形をしたksliderオブジェクトのオフセット値60が加算されています。
つまり、0から11という数値は60から71というmidiノートナンバーで言う中央ドからシまでの数値に変換されます。
ちなみにksliderの鍵盤をクリックすることによってトランスポジションが可能となっています。
このオブジェクトにも一定のルールに従って数値が送り込まれるアルゴリズムを追加すれば、調性音楽で言う転調のような効果をもたらす可能性も考えられるでしょ。
このピッチ生成のアルゴリズムは全く同じものがもう一つ用意され、2声同時に鳴らされています。音列生成の規則は同じですが、randomオブジェクトが吐き出す数値がこれら2では異なるため、どこか似通っているけれど2つの異なる音列を生成しています。
sound
あくまで作曲上の技法にフォーカスをあてるため音源はシンプルなMIDI音源を再生させています。MIDIの出力にはnoteoutオブジェクトを使用しています。
ダイナミクスは127で固定です。ここに更なるアルゴリズムを適用すればよりダイナミズムを持つ有機的な音楽が生成できるでしょう。
音源、パッチのダウンロード
このパッチで生成される音楽は終止形も和声進行もなく永遠に終わらないものです。
これはアルゴリズムや概念的なもののほうが音よりも重要であり、インスタンス化、音源化することにはあまり意味はありませんが、サンプルとしてこのような音楽が生成され続けるということをご確認ください。
デモ映像
Max/MSPパッチのダウンロード
eno4.6.mxf (for Max4.x)
eno.mxf (for Max5.x)
max5Runtime(上記のプログラムの実行用フリーソフトウェア for Mac)
max5Runtime(上記のプログラムの実行用フリーソフトウェア for win)
Brian Eno, Generative music参考文献
Ambient 1: Music for Airports Brian Eno Virgin 2004-10-05 |
Max/MSP 5 + Jitter 日本語版
イーフロンティア(カメオインタラクティブ) 2008-11-28 |
2061:Maxオデッセイ―音楽と映像をダイナミックに創造する!最高の開発環境を徹底解説
リットーミュージック 2006-10 |
A Generative Theory of Tonal Music
The MIT Press 1996-06-03 |
Algorithmic Composition: Paradigms of Automated Music Generation
Springer 2008-12-12 |