翼のある作曲家
先日、久しぶりに自作曲(ピアノとエレクトロニクス)の発表をした。
考えてみると、自分の曲にこれだけ思い入れが残ったのは、現音作曲新人賞の時以来かもしれない。
大学に入学してから2年生の頃までは、毎月10個以上の現代音楽のコンサートに足繁く通い、図書館で楽譜を山のように借りて、マスタークラスに参加したり、演奏会を企画したり、色々とにかく現代音楽に心酔していた自分が、
この2年くらいはプツリと作曲そのものから離れてしまっていた。
今回、自分の中で色々な区切りがついたので、改めて近年の経過を書き留めておこうと思う。
作曲をやめたくなった時の話
まあ、起承転結で書くなら、最初はやっぱり挫折の話から。
学内で一番大事な提出作品のクオリティが規定に達しなくて留年が決まってしまったのが2年生の終わりの時。
これはもちろん自分の怠惰さとか、仕事が忙しくて時間が取れなかったとかそういう理由もあるんだけど、それよりも自分で一番ショックだったのは、
〆切を目前にして自分の実現したい音楽に対して、圧倒的に時間も技術も足りていなかったこと。
当時はクセナキスやリゲティが大好きで、できるだけ精緻に音群を書くために、音の出現率をコントロールした乱数表をExcelで作っていたんだけど、
これを音に変換する作業がまっっっったく終わらなかった。
当時作った乱数表
今だったら数字を音に変換するプログラムなんて10分あれば書けるけれど、当時はアルゴリズムを考えることはあってもその実施(作曲)は自分の手で行なっていた。
結局、〆切当日の午前3時くらいの段階で泣く泣くこの表を破り捨てて、
付け焼き刃に適当な音楽を埋めて提出して、
見事、留年した次第。
ちなみに後日談として言えば、
この時の自分にとって『宝の地図』のように見えていたこの表も、
コンピュータ支援作曲の知見を得た今からみると、
「おう、坊や。それじゃうまく行かないぜ。」
って言いたくなるような幼稚なアイデアなんだけど、
「それが幼稚である」という事実すら、もしこの時に素早くトライ&エラーをする技術があれば気づくことができたでしょう。
とにもかくにもこの時感じた死ぬほどの悔しさは、
「これじゃダメだ、もっと根本的に作曲の方法から見直そう」
という苦しくて長い旅の始まりだった。
プログラミング武者修行の道へ
留年した原因が提出課題だけだったので、
3年次は1曲書いて提出する以外は全く授業を取らずにいることができた。
作曲の方法を見直す、と言っても最初は何から始めたら良いかわからなかったので、
現実逃避的にプログラミングの勉強を始めてみた。
たしか最初はTECH::CAMP でRuby on RailsでのWebアプリケーションコースを受講したんだった気がする。
1日13時間くらいTECH::CAMPのオフィスで黙々と勉強して、
そのまま渋谷のネットカフェに泊まってそこで続きをやるっていうサイクルをこなしていたら、通常1ヶ月のコースが1週間で終わってしまって、
その段階になって初めて「あれ、僕、別にWebアプリ作りたくないな」ということに気づき、Railsはそれ以来全く触ってない。
けれども、その時一生懸命勉強してRuby(というプログラミング言語)のごくごく基本的な書き方くらいは覚えたので、
早速、作曲プログラムの実装に挑戦してみた。
プログラミング始めたての頃に書いた幼稚なプログラム
もちろんプログラミングを初めて1週間そこらの小僧の書くコードなんて見るに耐えない物ではあったけど、数時間、頭をひねって色々ググったりしたら、
どうにかmusicXML(楽譜情報を記述する為のフォーマット)を生成するプログラムを書くことができた。
このプログラムにできたことなんて、簡単なセリーを生成するくらいの物だったけれども、それでも、
欲しい音の量が手間と比例しないという、コンピュータを使う根本的なメリットを大きく感じることができたので、
結果的にはこれがOpen Musicなどの既存のツールの再発明だったとしても、意味のある試作だったと思う。
爆発的に成長できたインターン
とはいえまだまだ実践的な開発の経験はなくて、一人でやっていくのにも限界を感じたので、
知り合いの紹介で、AI対話システムなどを開発しているNextremerという会社に2016年1月くらいから長期インターンに通い始めた(2017年12月現在も通っている)。
ここは(良い意味で)本当にぶっ飛んだ会社で、面接の時に
「プログラミングは始めたばかりで、人工知能もよくわかんないんですけど」
「いいよいいよ、よろしくね!芸大生なんでしょ?
3月にテキサスで出展するイベントがあるから一緒にきて演出やってよ」
みたいな感じで、やばい会社もあるもんだと思った。
主体的に開発に参加していたAI-Samuraiプロジェクトではこの2年間で、
その他、沢山の国内外のイベントに連れていってもらった。
SXSW2016での展示
Slush AsiaにてビートボクサーTATSUYAさんとのコラボ
ぶっちゃけ、Nextremerで誰かに何かを直接教えてもらうということはほぼなくて、むしろあきれるほど全てを任せてもらっていたんだけど、
おかげでUI部分を中心に様々なこと(Kinectを用いたミニAR、データビジュアリゼーション、対話と連動した自動作曲エンジン、ビートボクサーとリアルタイムでコラボする謎機能など)をトライした。
こういう場所で適度に信頼と責任を感じながら、開発→お披露目→フィードバックというサイクルを回すことができたのは本当に貴重な経験で、今もNextremerには頭が上がらない。
なんだかんだでNextremer以外にも細々とした仕事をしたり、ハッカソンやイベントや勉強会に参加しているうちに、
など、この2年半で本当に多岐に渡るプログラミングを経験して、やっとそろそろ「駆け出しのプログラマーです」と言えるようになったのかなと、最近、思い始めた。
そしてまた作曲へ
作曲や芸大から逃げるようにしてのめり込んだプログラミングでも、やっぱり音楽から逃れることはできなかった。
というのも、ディープラーニングがこれだけトレンドの技術として色んなところで成果をあげていると、「次はAIに絵を描かせてみよう!次は音楽だ!」と芸術領域に脅威の手が迫ってくるのは明白で、事実、既にそのような試みは沢山出てきた。
また、採択率約2%を勝ち抜いて選ばれたクリエイター奨学金の同期の優秀なエンジニア達を見ているうちに、自分の闘うべきフィールドはエンジニアリングではないと感じるようになった。
なので古巣に戻る気持ちで、しばらく諦めていたプログラミングを用いた作曲に本格的に取り組み始めた。
幸いなことにOpusmodusという作曲プログラミングに適した環境を見つけていたので、まずはそれを拡張する自作のツールを作り、臨んだのがオーケストラの作曲。
こんな感じのExcelを書くと
こんな感じの楽譜に変換される。
とはいえ、これもそんなにおいしい話ではなくて、人体錬成に失敗した残骸のような「音楽未満の何か」を量産すること、2年あまり。
強弱記号もなければ演奏者に対する配慮もないゾンビ音楽の頃
コンピューターは残酷なほど素直だから命令したことしか実行してくれないし、生成した結果の音楽が演奏可能かどうかは、自分で保証しなければいけない。
ぶっちゃけ自分で書いた方が早い、と思うことは死ぬほどあった。
かなり葛藤はあったけれど続けてこられたのは、昨年Googleが発表したAIによる作曲システムの出来のひどさをみて、芸術を科学者に解かせてはならないという強い使命感が芽生えたからだった。
どれだけ科学が発達したとしても、音楽は人間の為の物だし、最終的に音楽を評価するのは人間だ。
コンピューターが生成した音楽に対して聴覚的に妥当な判断を出来るのは、音楽的教育を受けて音楽に真摯に向き合ってきた自分たち音楽家であるという自負があるし、
よしんば、いつの日か機械に創造性で人間が負けることがあるとするなら、
それならむしろ、その最後の息の根は僕が自分で止めたい。
これからの話
ただし実際には、音楽が死ぬというよりは、新しい道が拓けてきたという方が正しい。
音楽の発展は、楽器の発展の歴史に寄り添っている。
かつてピアノやオーケストラの拡張に伴って和声が発展したように、あるいは、電子機器の発展に伴って電子音楽が発展したように、
人間のクリエイティビティは意外と、media-drivenに発展することがある。
つまり、欲しい表現があるから必要なメディアを作るんじゃなくて、「道具で遊んでたらなんか面白いのできた!」という無邪気な姿勢が、時として新しい価値を提示する。
で、今。
数十年前にはなかった計算力を持ったパーソナルコンピューターが、誰でも買える値段でどこにでも転がっている。
SNSやインターネットで、世界中の同志といつでも繋がることができる。
僕の親世代の人がきっと10年かかって検証するようなことを、3日でトライ出来たりする。
敬愛するクセナキスがきっと喉から手が出るほど欲しかっただろう、圧倒的なリソース(計算資源)を持っている。
音律も、音色も、ハーモニーも、リズムも、構造も、全部、最初から定義し直すことができる。
ハーモニーを機能じゃなくてベクトルで表現してコントロールしたい。
人間がまだ思いついていない面白い音色の組み合わせを、AIに提案してほしい。
人間のアンサンブルには不可能なほど精度の高いポリリズムを書いてみたい。
そもそも1オクターブって、なんで12個に分割しているんだっけ?
2年半かかったけれど、技術を修めることでそういう新しいことへの挑戦が、物理的に可能になった。
これまでに培ってきた音楽経験に加えて、毎日、大量に未知の音楽(良いものも悪いものもある)を浴びていると、逆に自分自身の音楽観がアップデートされたりして面白い。
そういうmedia-drivenな日々の製作の中から、いつか本当にパラダイムシフトと言えるような本当の意味での新しい価値を提示できる時まで、この新しい羽を大事に伸ばしていきたいという、2017年末現在の、僕の創作観でした。
模様替えと勉強日記。
最近、部屋の模様替えをした。
主な変更点は、電子ピアノをデスクの横に持ってきたので、ギリギリMIDIケーブルが届くようになり、デスクに座りながらピアノで弾いて作曲ができるようになった。(いまさらかよ、という)
もう一つ、革命的だったのは、これ。
四六時中、macbookで作業しているせいでずっと手が痛くて、
最近、上記のvimiumっていうchromeプラグインを入れたおかげで、だいぶブラウジングとかは楽になったものの、より手に優しい環境を目指してノートパソコン用のスタンドを買った。
買った製品は、ネットでレビューをみて良さそうだなと思って選んだこれ。まだ昨日届いたばかりなんだけど、ひとまずは凄く満足。値段は、コンビニ配達で¥4500くらい。安い!
今週はそこそこ仕事もあったけど、合間の時間でわりと色々勉強できた。
プログラミング系だと、
TypeScript+Reactで普段開発しているので、まあこの辺は全部知っていることなんだけど、基礎的なことを反復で確認できてよかった。
動画は、TypeScriptで書かれているけど、内容はOOPなら大体どんな言語でも共通なデザインパターン(オブザーバー、デコレーターなど他)ばかりで、より大きなシステムを強固に綺麗に保守する上ではこういうプログラミングテクニックは避けて通れないので、今後も技術はあげていきたい。
今週、Reactのライセンス問題にまた進展があったので、相変わらずWebフロント界隈は今後の動向が全然見えない中、最近はフレームワークとかよりももう少しネイティブよりの技術を勉強したいと思い、Web Componentsを勉強し始めた。
一応、ネイティブでもテストでコンポーネント書いてみたんだけど、これはなかなか自前で書くのはしんどいな、Polymerでも勉強するかと思っていた矢先に、たまたま知ったのが、Stencilだった。
これは、git cloneしてnpm startすると最初からTypeScriptで、自動リロードつきのローカルサーバーを立ち上げてくれる爆速Web Componentsジェネレーターみたいな感じ。ReactとAngularを足したような書き方でエクスポートすると、bundle.jsが出てきてそれをWepページに入れれば、いつでもどこでも自分の作ったCustom Elementが読み込める素晴らしいやつ。
そろそろデプロイの知識つけておかないとやばいなと思い、勉強開始。
AWS全般今後も勉強したい。
音楽系だと、
Kontakt用のスクリプトを書けるKSPのチュートリアル(全6回)の他、細々したMassiveの使い方とか、ミキシング系の動画とかをちらほら。
あと、昨日はタイムテーブルを作らなきゃいけなくなって、苦手ながらイラレも急遽勉強して、とりあえず段々基礎くらいは使えるようになってきた。
とりあえず、10月中に自分のHP作り始めないと!
Trelloで楽しく効率的にタスク整理
今年の2月くらいから知り合いのスタートアップ企業を手伝っていて、その会社ではタスク管理をTrelloというツールで行っていたので、それをきっかけに自分個人のタスク管理もそれで行うようになった。
Trelloの良いところは、ブラウザやアプリ上でタスクの書かれたカードをドラッグして動かすことができるところなんだけど、安直な使い方をしていると結構、形骸化しやすい傾向がある。(実際、会社でも一時期、停滞してた印象が。。)
僕は、自分用にいくつかのボードを作って管理していて、
- スケジュール
- タスク
- 長期プラン
- ストレス対処法
の4つのボードを作って管理してる。
No.1のスケジュール管理自体は、Google Calenderとかを使っているんだけど、月ごとに終わらせなければいけないことがパッとわかる物がほしかったので、
こんな感じで、月ごとにタスクを書き出して、ラベルでステータス(進行中、終了、継続、失敗)を管理している。
特に作曲とかの創作系のタスクは何日もかかる物が多いので、カレンダー系のツールだと俯瞰したスケジュールが組みづらいので、こうして月ごとのリストにすると結構わかりやすい。(だいたい春先はいつの間にか色々やることになっていて死んでたりするので、来年はこれで乗り切りたい。。)
で、直近のタスクについては、No.2のボードを使ってて、
こっちは直近取り組んでいるプロジェクトごとにタスクリストを用意して、
取り組んでいるタスクは、"Tasks for Today"のリストに放り込んで、終了したら"Done"に、先方の返事待ちなどは"Suspended"に投げる。というのを繰り返している。
終わったタスクを"Done"に入れるのは快感で、タスク管理にはゲーミフィケーションも大事なのかもしれない。
また、このボードは特に一番見る頻度が高く、代謝よくタスクを回していきたい。
そういった意味で、あまりタスクを大きく切りすぎるといつまでも同じタスクがへばりついて、次第にTrello自体を使いたくなくなるという悪循環に陥る。
それを防ぐためには、タスクはなるたけ小さく区切る。
ex: 「掃除」というタスクを、「部屋の掃除」、「風呂の掃除」、「トイレの掃除」などに分割する、など。
「タスクを解消する」というインセンティブで考えても、沢山やっつけた方が楽しいので、これは結構大事なことなのかもしれない。
No.3とNo.4はどちらかというと雑記レベルなんだけど、
No.3は来年以降に検討している進路別に気になるリンクを貼っていて、
No.4はイライラした時の自分なりの対処法をカテゴリ別(思考整理、生活習慣、癒し音楽など)に整理してある。
おかげか、9月に入ってからストレスゼロで生活できている気がする。
Trelloに限らず、タスク管理やスケジュール管理は人それぞれ色々なやり方があるだろうけど、自分にとっての最適なツールの探求はきっと誰しも生きている間ずっと模索することだと思う。
「最近、ミスが多いな」とか「どうして自分はこんなに〆切が守れないんだろう」と感じている人は、まずは自己管理方法から見つめ直してみると良いんじゃないかな。
ブログの目的
今日からブログを始めてみることにした。
数年後に、あの頃何やってたっけみたいなことを振り返れるようにしたいなと思って。
そういえば高校卒業したての頃にしばらくmixiをやっていたことがあって、今からあの頃の日記とかを読むと恥ずかしくなるようなことが沢山書いてあるんだけど、それはそれで逆に言えば、自分の内面の成長がモニタリングできるということかな、と。
まあ、良薬は口に苦し、ということで。
ブログの内容は、自分が日頃から試している様々なライフハックとかタスクやモチベーション管理方法、最近ハマっている音楽やドラマなどを記録しておこうと思う。
頻度は2-3日に1回程度を目指したい。
技術系の記事はまた別のブログを作ろうと思っていて、作品系のアーカイブは今年中に公開予定のHPにまとめて載せる予定なので、興味のある人がいればそちらをご参照ください。