前ページではアルゴリズム作曲とプログラムで出力した音符たちをMIDIデータとして保存する方法にふれました。
1.プログラムで人間が演奏不可能なくらい複雑な音楽を作る
さて、カオスは混沌とも書かれますが、ここでは非線形関数による複雑な解の集合を再帰的に出力します。つまり、ある初期値を与えてある条件で計算を繰り返すと、二度と同じ値にならない性質があります。音符の生成において言い換えると、無限に異なる音列(音楽)を生成できるということです。
とはいえ、生成される音列は一般的に好まれるようなメロディックな美しい音楽ではないです(*_*)
有名なカオスを生成する関数の一つにロジスティック写像というものがあります。式は次のようになっています。
Xn+1 = f(Xn) = a Xn(1 – Xn) n = 0, 1, 2, … 0 ≦ Xn ≦1, 0 ≦ a ≦4,
X0は初期値です。↓図は繰り返し計算したときに次々と出力される解の集合を表しています。
横軸の変数aが増えていくと、αが3くらいまでは関数のとる収束解(値)が一つだったのが、次第に2つになり、3.6以上くらいから無限の値をとる関数です。
ざっくりとは、図のようにタイミングと音高(MIDIノートナンバー)を次々と繰り返し計算して、五線譜上に重ねていくというイメージです。
一つずつでは寂しいので上下に和音として重ねたり、同じ小節内で重ね書きしたりして、複雑さを与えていきます。
(具体的にどんなプログラムかはこちらの書籍とサンプルプログラムをご覧ください)
説明
https://ameblo.jp/masaoprince/entry-12501288365.html
サンプルプログラム
https://ameblo.jp/masaoprince/entry-12368563439.html
そして、↓のYouTube動画は作曲例として挙げておきます。(6 Bagatelle for Digital piano、自演!!)
この曲を作るにあたって色々パラメータαや初期値、音高・音価の範囲を調整して、面白そうな音列が出るようにして、さらにそれらを組み合わせています。
この作品は、コンピュータが自然さや人間らしさを超えて生成した音楽の例です。でも、聞いてみると、一般的な音楽観からするとかなり情緒もなければ感情に訴えるものもありませんね。人間が心地よいと感じる揺らぎや、情緒を感じさせる音符と音符の間に溜めや間がなかったり…
多少のアーティキュレーションはMIDI音でも表現はできますが、やはり物足りない気がします。
2.コンピュータが出力した音符を素材にして加工する
では、次にこのストイックすぎる機械的な音楽を、人間が情緒を感じ得る程度にまで人間側に音楽を寄せてみた例を紹介したいと思います。
『春の変容 - 非線形写像を用いたモーツァルト弦楽四重奏曲K.387の音列の変換による回想的作品』
モーツァルトの弦楽四重奏曲をコンピュータのプログラムで再構成した音楽です。
アルゴリズムで音列を決めることは変わらないのですが、コンピュータが出した解をそのまま使うのではなく、人間が演奏できる程度に修正してしまうのです。
えー、コンピュータによる自動生成音楽じゃなくならないのでは?と思われるかもしれませんが、いいんです!
コンピュータが生成した音列に人間が手を加えてはいけない、というルールはないですよね。
前ページで紹介したクセナキスの『ST/10-1, 080262』のスコアもみてみると、
計算して配置された音符が並んでますが、いろいろな指示が楽譜に書かれています。単にコンピュータが出力した音符を置いただけではなく、それを素材に音色や表現を加工して作品として高めていますね。
つまり、音楽の”素材”としてコンピュータの自動生成をつかう、ということなのです。
そして、タイトルにあるように”原材料”として有名なモーツァルトの弦楽四重奏曲第14番のMIDIデータを使っています。原曲のMIDIデータを読み込んで、写像関数を使って音の高さや位置をあっちこっちに移動させたりひっくり返したりして、再構成することをしています。
例えば、次の図のような感じで、関数により計算した値を元に、小節を別のところに移動したり、音高をずらし、逆行したりします。例は説明用にシンプルですが、実際は、もっと複雑に変化させています。
では、実際にはどんな感じの曲に変形になったか、譜面の例を示します。
次のイントロは、スローテンポで不協和な和音の連続です。プログラムで原曲の音型を二分音符くらいまで引き延ばし、音高を変えて、音をいくつか重ねて、、、そこから弦楽器で可能かつ効果的な重音を選んで作っています。さらに、スラーや強弱、アクセント、左手のピツィカート、トレモロ…などと付加していきます。
II. 変容1 (2小節目に原曲が一瞬聞こえる)
III.変容7
結構、原形をとどめないほど変わっていますが、よく聞くとところどころ原曲のメロディや動機が見え隠れします。そうなるようにパラメータを調節しているからなのですが、そういう意味ではある種のモーツァルトのパロディともとれます。
そして、こちらが全曲の動画です。https://youtu.be/WDVD2GYZ5to
YouTubeの演奏を聴いていただくとお分かりかと思いますが、聞きようによってはシェーンベルクなどの後期ロマン派の終焉を彷彿させる曲想も聞こえてこないでしょうか? 実際、演奏にあたっては、カルテットの奏者さんにモーツァルトみたいに、そしてロマン派のように表情豊かに弾いてくれ、という注文をつけています。
3.図形楽譜とアルゴリズム作曲を足し合わせる
さらに、3つ目の例としてアルゴリズム作曲と図形楽譜をあわせた作品です。
上のプログラムで音符を出力する方法で、スコア上に音符を散りばめてそれを矢印でつないで演奏させりという作品です。矢印で音符をつないでいくということ自体はジョン・ケージの作品の中でも登場しています。音符の散りばめ方ですが、マンデルブロー写像というものを使いました。マンデルブロー集合というとフラクタル図形で有名です。↓の図のような形ですが、これを描く関数はカオス性を持っていて、初期値によってさまざまな図形を示します。
星形だったり三角だったりして、なんとも綺麗なものですね!
これを五線譜上に重ねることにしました。
図形楽譜だから五線譜上にすることはないのでは…と思われるかもしれませんが、演奏する音列をもう少しコントールしたかったという意図があります。図形楽譜は良く言えば演奏者のイマジネーションで音を選べるのですが、悪く言えば奏者任せ(無責任とまではいいませんが)ということになります。アルゴリズムで出力した音のメリットも活かすとすると、ある程度演奏者の出す音をコントロールした方が良いと考えました。
出来上がったスコアは次の通りです。全部で5つ。色も付けました。
それで、この楽譜を色々な人に見せて印象を聞いてみたところ、星図とか星☆でしょうという意見が多かったので、タイトルは「ピアノとチェロのための星空の響き」としました。
この矢印付きのスコアをどうやって演奏するの?ということですが、
普通と違うのは横方向が時間軸ではないということです。横には強弱を示しています。
矢印の距離が時間を決めています。
簡単な例で示すと次のようになります。奏者は矢印の順に弾いていき、離れているほど音符のタイミングの間隔が伸びます。
上のスコアの演奏動画はこちらです。
Stellar Resonance for Cello and Piano
5 graphical scores by the Mandelbrot’s mapping、 Masao Yokoyama