プログラム・即興・言語 ライブ・コーディングの愉しみ

f:id:ohwaku:20210520153026j:plain

最近つくったアルバム。BPM380や550といった値を用いています



4月末から、ライブ・コーディングという方法を使って、音楽を作り始めました。そのことを書こうかなと思います。

きっかけは、前に書いた[ _ _ _ ]のライブを見たことですね。彼らはスーパーコライダー(supercollider)というソフトを使って、3人でそれを共有してネット上で共演していました。そこからかなり興味を持つようになって、ゴールデンウィーク前に準備をして、はじめてみたというところです。

参照しているのは、田所淳さんの『演奏するプログラミング、ライブコーディングの思想と実践』(ピー・エヌ・エヌ新社、2018年)です。ちょっと高めの本ですが、使うソフトはほぼフリーなので、機材代だと思って購入。実際、たいへんに役に立つというか、1からライブ・コーディングについて教えてくれる貴重な内容でした。

 

1 ライブ・コーディング入門

使っているのは、その本に出てくる「Sonic-Pi」というソフトです。ソフトに大きく「ビギナーのためのライブ・コーディング」とあるように、初心者でも使えるようなシンプルな設計、ケンブリッジ大学のサム・アーロンという人が開発したものだそうです。オープンソースということで、ログインや登録なしで、ダウンロードすればすぐに使えます。シンセやサンプルも入っていて、単体ですぐに音楽が作れます。

少しだけ、ライブ・コーディングでどういうことをしているのか、自分なりに説明してみましょう。下の画像にあるように、プログラミング言語を打ち込んで、音はソフトがそれに従って出してくれます。よく使うのは、〈ライブ・ループ〉で、その下に書いたことをループします。何をループさせるかということで、テンポ(BPM)や音の種類(シンセ・サンプル)、音の長さ、音量、位置、などを指定します。

f:id:ohwaku:20210520152827j:plain

そのあとに、音と音の間の休符を〈スリープ〉として設定すると、一まとまりが完成です。

 

このようになっているために、〈スリープ〉のあとに、さらに次の音について書き込んで、さらにその次の・・・とやっていくと、すなわちビートができます。そして、それをループさせれば(「ラン」を押すと〈ライブ・ループ〉がループし始めます)リズムトラックができるわけです。

ライブ・コーディングの場合は、その名の通り、演奏中に数値や設定を変えることができて。テンポや休符の長さ、シンセの切り替え、また新しい音を追加して書き加えることもできます。醍醐味。

また、この〈ループ〉の一まとまりを、もう1つ、もう1つと追加していくこともできます。そうすると、リズムのレイヤー(層)ができて。頭の音を合わせる指示もあるので、次第に複雑なビートを作っていくことができます。

 

2 ランダム

さらに、というか、ここが大事なところですが、これらで数値を設定していくわけですが、それをコンピュータにおまかせでランダム処理することもできます。「rrand関数」というのがあって、「rrand(A, B)」とすると「AからBまでの間でランダムに選択」という処理になります。例えば音程なら「rrand(ド、シ)」とすると、1オクターブ内で音をそのつどランダムに選択するように設定できるわけです。

もう1つ、コイントスと言われる設定もあって、こちらは確率で、「コインを投げて表だったら○、裏だったら×」のように処理を指示できます(この場合は2分の1ですね)。それで、さらに「10回に1回の割合で音を出す」などのような設定もできます。この処理も、指示を書いたらあとはコンピュータにおまかせです。

 

3 即興

それで、こうしたことを一通りためしたあとで、気になったのはランダム機能です。本来なら、このソフトは、先ほど書いたようにビートを簡単に作ることができて、その場で変化させることも簡単なので、必ずしも楽器に習熟していない人でも、音楽を作ることが簡単にできます。そうした用途が一般的かと思うんですね。

ただ、ここで気になったのは、即興ができるのではないかということです。どういうことかというと、いわゆる即興演奏は1960年代にデレク・ベイリーらが検討を重ねて、ある種の理論化がされてきたわけですが、そこで言われたのは「従来の音楽の文法から自由になること(ノン・イディオマティック・インプロビゼーション、通称フリー・インプロはこれを指します)で、そして実践としてはある音と次の音が、従来の伝統的な慣習とは何の関係もない形でつらなっていく、そうした音楽でした(結果として、デレク・ベイリーのギター演奏はウェーベルンの曲に非常に似ているように思います。ただしその場で弾いているので、ウェーベルンのように試行錯誤した果ての譜面としてではないのが、非常に大きい違いです)。

それで、このライブ・コーディングのランダム機能を使うと、各種の音のパラメータ(音程・テンポ・長さ・音量・休符)を、そのつどランダムに、つまりその場で前の音と関係ない形で設定し、生み出すことができる、のではないか、ということになります。言い換えると、音同士のつながりで、前後の関係がなく、もちろん従来の伝統的な音楽文法の拘束からも離れている、となるでしょう。理論上のフリー・インプロビゼーションが、これで実現できるかもしれない、という思いつきです。

 

そこから、そうした各種のパラメータに、先ほどの「rrand関数」を設定してみました。面白かったのはテンポのところにもランダムな設定を入れることができて、そうすると音が一回でる(ループ一回)ごとにテンポが切り替わる。全く同じ音程でも、不自然なリズムのようなものが生成されてきました。この部分までランダムにできるなら、他の部分もできるはず、と進めて、今はそうした即興(ソフトが演奏するフリー即興)を試すことを、やっています。

  

4 アルゴリズムと音響の夢

かつて、音響派と言われた議論がありました。中でも注目されていたものの1つは「オヴァルプロセス」という作品です。これはアーティストのオヴァルが作ったソフトで、「なんでもいいのでデータを放り込めば、それを使ってソフトが音楽を自動生成する」というものでした。これにはかなり夢があって、まず1つにはソフトが音楽を自動生成するということ自体に、非常に大きなロマンがあったように思います。もう1つは、そこで出てくる音楽が、おそらくは反復などのない、不定形なノイズであって、従来の音楽・文化的伝統から解き放たれた、異質で異様な音楽が奏でられることになるだろう、という夢もあったように思います。実際、オヴァルプロセスで作られた音楽は、ほぼ全てガーガーギーギーというだけの、(いわゆるグリッチした)シンセノイズという趣でした。音響派が、ちょうど一般化したPCの時代に出てきたものであることを考えると、コンピュータ時代における音楽を考える際の、それまでの人と音楽の関係とは違う、新しい関係についての1つの夢が、ここにはあったように思います。

 

f:id:ohwaku:20210520151031p:plain

最近のライブ・コーディングの画面。ほぼ全てのパラメータにrrand関数を入れてある。上から二行目に確率17分の1、BPM30から380の間でランダムに設定しているのがわかる

ひるがえって、ライブ・コーディングのソフトで、コンピュータがプログラミング言語にもとづいてアルゴリズムで自動生成(ここで定義した形での即興演奏)をしているのを聞いていると、そうしたかつての夢が現実のものになったことを感じます。さらには、そうした人とコンピュータの間で生まれてくる音楽が、今や極めて身近で、また自在に操作できるという状況にいることも感じられます。最近は現代音楽でも、かなりの部分がソフトウェアを使った計算などによって成り立っているようで、コンピュータが人間にはなかなか処理しきれない細部を計算して、形として出力するような、そうした時代に立っているように思います。

最近、ここ数日では、ランダム関数の部分にBPM380や550といった、普通ではありえない速度の数値を入力して音を作っています。おそらく、人間の手では演奏しえない高速の領域で、はたしてどんな音ができるのか、最近はそのようなことを考えています。

 

 

 

ここで記したアルバムはこちらです

pseud(o)- 

https://equantrecord.bandcamp.com/album/pseud-o