DAW・シーケンサーエンジンを支える技術@M3 2019秋

前日の晩になって書いて公開するというのは何とも手遅れ感があるわけですが、明日10/27のM3 2019秋でおよそ1年半ぶりくらいに同人誌をまとめました。サークルはサ-22x (ginga)です。参加する予定のある人・音楽同人イベントに興味がある人は、ぜひ遊びに来てください。

https://atsushieno.github.io/ginga/m3-2019a.html

f:id:atsushieno:20191026200034p:plain
表紙

内容については上記特設サイトを見てもらいたいのですが、今回は「シーケンサーエンジン」についての解説です。概ねtracktion_engineのようなDAWのバックエンド技術…要するにDAWのうちGUIの実装から独立している部分…について、全体的に俯瞰するような内容を目指しています。60ページという、いつになく薄い(!)内容で、トピックも多岐にわたるため、個々の内容についてはほとんど踏み込まず、キーワードを列挙して読者が関心をもった分野は読者に個別に深入りして本書の範囲を超えて調べてもらう…というきっかけをたくさん作るための内容になっています。

筆者としては技術書典4の時に出したMonoDevelop Masters Book(に相当する部分)の「IDEの技術を因数分解して個別に解説することで、誰でもIDE(の一部)を作れるようになる」という目標を、今度はDAWに向けてみよう、と考えながら書いたものです。自分の音楽ソフト開発経験がまだ浅いので、MonoDevelop Masters Bookと比べるとだいぶん表層的な内容になっているのが惜しいところですが、商業本も含めてこのような内容の音楽技術書は今まで出ていなかったと思うので、まずは初めの一歩を踏み出しておきたくて書いたものです。

もっとも、実のところ本書で一番よくやったと思っているのは表紙で、この方面に関する知識がゼロのいつもの絵師に何とかお願いして描いてもらえるように、細かく仕様をまとめて「難しすぎる…!」と言われながらも、何とか説明しきって、結果的にこれ以上無いくらい期待通りの「謎の楽器を操るバンド」を仕上げてもらえたのでした。楽器、わかる人にはわかる感じのものになっています。一番右の水晶玉っぽいテルミンだけはモデルがありません。適当に思いつきました。

当日の展示内容

当日は同書の頒布、旧譜?新婦?の頒布のほか、同アルバム楽曲のMIDI版を、Android端末上でmasterに取り込まれたfluidsynthを使用して再生するデモも行おうと思っています。シンプルなGM互換楽器を多用した楽曲が多いせいか、意外と実用的に聴けます。

敗戦の弁

ここからは反省です。(今書くのか)

今回始めてM3に参加するにあたって、当初は3月の幻想音楽祭と同様、自作ツールに基づいて楽曲を創作してアルバムとして仕上げるつもりでした。ところが申し込んで当選待ちの間に、何の因果か自分の予想を裏切るタイミングでフルタイムの仕事をすることになり、完全に創作のために割ける時間が無いどころか、MMLコンパイラ等のメンテナンスと新ツールの開発すら覚束ない状況になってしまい、結果的に夏の初め頃にあらかたまとめてあった本書のみが出展の目玉ということになりました。

とはいえ、M3参加は初めてなので、3月に頒布した作品もM3的には新作ということになります。

本来であれば、前回MMLからSMFを生成するところまでしか出来なかったテキストツール部分を、今回は先日まとめたオーディオプラグイン用音楽プレイヤーまで延伸して、MMLプラグイン定義だけで出来るところまで「ソースを読めて創作できる」ところまでもっていって、きちんとdogfoodingして当日展示するつもりだったのですが、実際できたのはproof of conceptとしてのツール上で何とか音楽を再生できたところまででした。まあここまででもそれなりに面白いのですが、現実的に自分が作曲作業に着手するに至らないレベルで改良の余地が多大にあるので、これを紹介・宣伝するのは筋が違うだろうと考えました。ブースでの雑談ていどに留めておこうと思います。

この方面はもっとじっくり時間を確保して開発する必要があると考えています。ただ個人的にもうひとつ未公開のプロジェクトもあってそれも進めないといけないと思っているので、今回の反省を踏まえて来月以降はフルタイムワーカーを辞して自分のプロジェクト開発にもっと時間を割いていく予定です。(もっとも来月はADC2019に参加することもあって、まだすぐには進捗しなさそうですが。)