今回も直前まで書かずに来てしまいましたが、明日10/25のM3 2020秋にサークル"ginga"として参加しています。割と最近(数週間くらい)に気づいたんですが、同人音楽サークルとしてgingaって名前だとgingaレーベルと紛らわしいんですよね…*1
追記: 素で書き忘れていましたが(!)第一展示場G-22です。Web会場も銀08としてLV2開発本のみ委託販売します*2
頒布物
音楽技術同人誌3冊の紙版を部数少なめに持っていきます。全部で50冊無いくらい。いずれもイベント価格¥500で頒布します。原価割れライン…! ダウンロード版も会場でお渡しします。
※boothにリンクしていますが、全て電子版へのリンクです。紙版はM3終了後に残った部数を設定して販売する予定です。
技術書典9で発表したMIDI 2.0 UMPガイドブックです。私の知る限り世界初です*3。それなりに売れたのですが発注部数より多く刷られていたので*4、M3でも販売できる運びとなりました。
同じく技術書典9で発表したLV2オーディオプラグイン開発者ガイドです*5。Linuxデスクトップで使われている代表的なオーディオプラグイン規格の解説書として、おそらく世界でも類を見ないものだと思うのですが、これは予想通りだいぶニッチだったのでまだまだ在庫があります。*6 展示コーナーとも合わせてたのしめる本です。*7
M3 2019秋に発表した、DAWの仕組みを探るためにソフトウェア構成部品を理解しよう!という本です。これも他に類を見ない書籍として書いたつもりです。こちらは紙版も既にboothで購入できます(上記リンク先から探してください)。
2019年3月の幻想音楽祭でリリースした音楽作品です。自作コンパイラのMMLとTracktion Waveform10で打ち込んだデータもお渡ししています。
展示コーナー
今回、新譜を作るつもりだったのですが、ソフトウェアが間に合わずとても着手には至りませんでした…。その話は後で書きますが、取り急ぎ代替となる展示物として、今回の頒布物であるLV2オーディオプラグインをその場で体験できるPCコーナーを設置します。*8
またPCに触れなくても、LV2プラグインにどんなものがあるのか、気軽に立ち読みできるパネル的なものを、書類ケースに入れて置いておきます。
M3当日に(配布はしないけど)こういうフライヤー的なのを作って置いておいて、いろんなLV2プラグインを試遊できるようにしようと思っている pic.twitter.com/NIKYY5IyXE
— Atsushi Eno (@atsushieno) October 22, 2020
また、これらのプラグインのいくつかはAndroidにも移植しているので、Androidエミュレーター上で試せる範囲で遊べるように環境を用意しておきます。
併せて、Ardour6, QTractor, Zrythmなど、ホスト/DAW側も、ほぼ最新のバージョンをお見せできるようにビルドしてあります。
今回展示できなかったもの
今回は、ほんとうはtracktion_engineを使いつつWaveformなしで最後まで打ち込んでAndroid上で再生できるところまで作りたかったのですが、Android上ではAudioPluginHost上でプラグインから音が出るところまでだけ出来ているという状態です…ここ2週間くらいのAndroid Studio 4.2-alpha(13, 14あたり)でネイティブコードのデバッガーが壊れていてデバッグ作業が困難なので(最近気づいたのですが、Android StudioのC++サポート機能はプロプラエタリでAOSPに含まれていないんですね。原因を追求できませんでした)、いつ開発作業が再開できるのかわからない状態です。
Androidから離れて、Linux環境ではMML…とプロジェクトXMLファイル…からコンパイラとtracktion_engineだけで打ち込みができるところまでは出来ています。tracktion_engineにjlv2を追加してLV2プラグインとVST3プラグインを混ぜて利用できるようにしたので限りなく便利です。もっとも、Waveform11 on LinuxはLV2もVST3もサポートしていないので、DAWで微調整が一切できない楽曲になってしまいます(!?)
ひとつクリティカルな問題として、MMLからSMFにコンパイルして、それをJUCE AudioPluginHostのfiltergraphファイルと合わせてtracktioneditファイルにコンパイルして、それを再生するというツールチェインのパイプラインになっているため、プレイヤーが毎回オーディオプラグインをメモリ上にロードするのが重くて制作ワークフローとしてはイマイチです。これはtracktioneditコンパイラとプレイヤーを統合して、MIDIシーケンスの部分だけをhot reloadするような仕組みに作り変えれば改善する見込みです。そのためには.NETアプリケーションであるところのコンパイラをJUCEベースのコードに作り直す必要があるのでお手軽ではなく、今回は先送りにしました。
あと、前回audio plugin portabilityの問題として書きましたが、通常のオーディオプラグインはオーディオプラグインフレームワークを跨いでstateデータを再利用できるように構築されていないので、その解決策を模索していて時間切れになったこともあります。最初から移植性のあるstate情報・パラメーター情報を保存する仕組みを作ってそこに載せないとダメそうですが、これは日を改めて考察をまとめたいと思います。
この辺の話はいろいろ出てくるので、当日会場に来られる方で興味ある方がいたらぜひお話ししましょう。混雑するブースになる予定はありませんし*9。
*1:うちは2004年にはてなに引っ越してくる前に使っていた名前なので多分こちらのほうが先なのですが
*2:これはWebイベントの設計が良くなくて、当日の販売状況に応じて販売数を調整できないようになっているためです
*3:最近洋書で他にも出たっぽい話を見ました。既刊本の改訂のついでのようでしたが。
*4:一般的にあることです
*5:もともとM3向けに計画して書き始めていたやつですが、技術書典9のほうが先に来たので
*6:MIDI 2.0本も原価割れなのですが、面倒なので価格を統一した感じです
*7:といっても会場で読む人はいないと思うので、展示を思い返して楽しむ感じになるかと思います
*8:広いスペースがあるわけではないので、そこはご理解ください
*9:これフラグになんねーかなー(