3/2に川崎市産業振興会館で行われる同人音楽の即売会「幻想音楽祭」に個人サークルとして出展します。オリジナル楽曲のアルバムCD・音楽データDLカード等を販売する予定です*1。サークル配置番号はA-4 "ginga" です。*2
ここを見ている人は大半が開発者だと思うので、ここで告知してもかなり「かぶらない」と思うのですが、個人的には半分くらいは作っているソフトウェアの展示とか、音楽の作り方をどうするかみたいな話に興味のある方に来てもらえればと思っています。イベント自体も初めてのようですし、ぜひ遊びに来てください。
TL;DR
- soundcloudとyoutubeにクロスフェードを公開した
- 自作MMLコンパイラとその作曲環境のブラッシュアップと実績作りという目的で、Linux環境でMMLでMIDI曲を書いた。MMLはコンパイラのリポジトリで公開する予定
- 完成品はMac上でTracktionやらKontaktやらを使って作り上げた。Tracktionソースは頒布する予定
目次
- TL;DR
- 目次
- 音楽作ってる? は? なぜに?
- 見せて
- 発端
- 制作環境の決定
- MML打ち込み環境のブラッシュアップ
- 制作の勉強
- 制作作業
- MMLおよびTracktionデータの公開(予定)
- next steps
音楽作ってる? は? なぜに?
ここを読まれている人の大半はこんな反応になるかと思いますが(そうでもない?)*3、音楽ソフトウェアの技術同人誌とかではなく、同人音楽CDです。大昔にMIDI音源をいじっていたことを除くと完全に未知の分野なのですが、手探りで辛うじてやっています。
見せて
はい…(抵抗感) youtubeとsoundcloudにうpしてあります。
人知れずひっそり出すか、ずっと悩んでいたのですが、自作ツールのポートフォリオとするためには隠してやっても仕方ないよな…となって、表に出すことにしました。今後は何か作るとしても別名でやるかもしれん…
発端
昨年にもちらっとここで書いたのですが、11月にAudio Developers Conference 2018に参加して、参加者の何人かと雑談していた時にふと「おまいらも自分で音楽を作ったりするの?」と聞いてみたら、返答の大半がYESだったんですね。自分で音楽制作しているわけでもないのに音楽ソフトの開発やら仕事やらにシフトしてみたい、って言うことには、自分でも何か落ち着かないコンプレックスのような気持ちがあったわけです。
それで、一度くらいちゃんと音楽ソフトを使って制作とかやってみて、どういうものが必要で求められていたりするのか勉強してみようと思ったのでした。個人的にはM3とかボーマスとか、何度か行ったことがあるので、とりあえず一度何か同人音楽イベントに参加してみようと思って、それで11月末頃に今回のイベントが申込受付中であるのを発見しました。
「ファンタジー音楽」というのは何となくわかる気がするし*4、第1回だし、右も左もわからない雑魚サークルでも参加できそうな気もするし、参加できたらラッキー…くらいのノリで出来心で応募したら、あっさり通ってしまい、それならやるっきゃない…!と肚を括ったのが12月のことです。
制作環境の決定
参加が決まった時点での方向性はほぼゼロで、出せるコンテンツとしては20世紀の頃に作ったSMFとして作った楽曲がわずかにあるばかり…という状態でした。DAWなどを使ってみたほうがいいとは思っていましたが、経験ゼロのところからちゃんとイベントまでにCDを作るところまでもっていけるのか…!?という感じで、正直ゼロからDAWでやっていたら完成しなかったと思います(!?)
とりあえず、20世紀以来ほとんどやっていなかった「音楽を打ち込む」感覚を取り戻さないといけない…というところからやり直しました。とりあえず当時慣れ親しんでいた楽器であるRoland SC-8820を毎日持ち歩いて自作のソフトウェアMIDIキーボードxmmkで音を鳴らしてみたり、Tracktion Waveform9(面倒なので以降単にTracktionと書きます)を起動して標準添付のCollectiveで音色を探して4小節くらい和音を鳴らして終わり、みたいな感じで、たいへんに雑魚ったところからスタートしました。
ちなみにTracktionだったりCollectiveだったりするのは、わたしの普段使いのPCがLinuxなのでKontaktなどが一切使えなかったためです(Kompleteを9の頃に買っていて、「もっとWindowsがUbuntuみたいに快適に動いてくれたらなあ…」などと言い続けながら、今回Macで使うまで何年も眠らせていたのでした…)。
最初の頃は、Tracktionの操作に慣れる目的で、過去に打ち込んでいたMIDIファイルを、まずはコピー曲などからインポートして、VSTに置き換える練習から始めました。Tracktion、それなりの頻度で落ちるので、Bitwig Studio*5などに変えようかなあ…などとも考えたのですが、この一見風変わりだけどロジカルに出来ているUIがやっぱり好みだったので、今でも使っています。
この時点でわたしが「わかる」と言える音色はSC-8820までのGM/GS音源の音色くらいだったので、Collectiveで音色を選んでそのパラメーターを調整するか、Collectiveにない音(かなりあります…)については、juicysfpluginとサウンドフォントFluidR3_GM.sf2でGMにフォールバックする感じでした*6。ただ、これは早々に行き詰まりそうだったので、SC-8820のフル音色を徹底的に活用してMMLでMIDI楽曲としてまず完成させつつ、その後にWindowsなりMacなりでKontaktなどの音源版を作って移植しよう、とざっくり方針を決めました。
この頃は一方で、ADC2018で持ち帰ったソフトウェア(JUCEやらTracktionやら)の知見を学ぶために*7いろいろコードをいじっていたのですが、それらが「動作する」「Linux以外の」環境が比較用に無いと作業が行き詰まるというところまで来ていたので、仕方なく*8Mac mini環境を構築したのでした。たまたま自宅に10インチくらいの液晶モニターがあったため、以降このMac miniはまるごとモバイル環境になり、電源のある環境でちょいちょい使われています(!)。
Linux環境でMMLで作曲、その後MacのTracktionに移植してマスタリング、という方針がざっくり決まりました。これが年明けくらいの話です。
MML打ち込み環境のブラッシュアップ
ここで改めて言及するのも何ですが、MMLというのは20世紀に使われていたDTMにおける音楽データ制作のツールであって、2019年にしかもLinux環境で使うというのは半ば正気の沙汰ではありません。とはいえ、これを実現するための土台は用意してありました。具体的には、今までこれらを開発していました:
- mugene: 自作MMLコンパイラ。MML文法は20世紀頃までにあったコンパイラを参考に自分で定義したもので、それなりに高度なものが書けるつもりです。詳しくはmugene-guide-bookという同人誌にまとめてあります。
- Visual Studio Code上からMMLをコンパイルできるようなextensionも含まれています。language server protocolに基づく命令定義ジャンプなども実装していたのですが、今どうも動いていない様子…
- xmdsp: FM音源などでMMLを書いていた人には馴染み深いスタイルのヴィジュアルSMFプレイヤー。演奏中のファイルがMMLコンパイルなどで更新されたら自動再スタートします。
- xmmk: 仮想MIDIキーボード。PCキーボードで演奏簡単にMIDI音色を確かめたい時に使います。演奏した内容も(音階のみ)MMLで雑に記録します。
- managed-midi: 以上のツールは全てC#アプリなのですが、.NETでMIDIデバイスにクロスプラットホームでアクセスできる唯一に近いライブラリがこれです*9。
少し前にここ2ヶ月ばかりのコーディング活動について書いたのですが、これは完全にこの音楽制作のためにやっていたことでした(単独のブログエントリとして見ると謎すぎましたね)。音楽制作と言いつつ、それなりの時間がプログラムの改良に当てられています。
2018年末にはVGM作曲家の古代祐三さんが使っているMMLコンパイラツールであるmucom88が公開されましたが、あれも主に自作環境の公開という雰囲気なので、わたしがここで公開しているのと(完成度とポピュラリティは違えど)似たようなノリだと思っています。
制作の勉強
この辺までの作業はツール開発者の視点で楽しく出来ることだったのですが、作曲ばかりは本当に自分のメンタルや創造性とのたたかい…になる側面が強くて、今でも進捗は圧倒的に悪いです。とはいえ、本当はそれなりにフレージングなどのテクニックがあれば進められることなので、勉強次第でどうにか出来るはず(それが足りない)という側面のほうが大きいことでしょう。まあ人間いちどに出来ることには限りがある…!
いくつか参考にした本などを挙げます。
まず手元にあった「ボカロでDTM入門」(Vocaloidは今回全く使っていませんが)。このエントリを書くために探して改訂版が出ていることに気付きましたが、うちにあったのは初版でした。アルバム(と呼ぶしかなさそうなのでそう呼びます)のテーマ作りみたいなことを考える時に参考になる部分がありました。
今回の制作にあたって、イラストレーターにカバーイラストをお願いするときにコンセプトをでっち上げる必要があったり、曲想が全く浮かばない日々が大半だったので(実のところ今でもそうで日々血涙を流しています)、何とかしないと…みたいな感じだったりで、解決の道筋になりそうなものを探し求めていた(いる)のです。ワタクシどう考えても情緒の豊かな人種でもクリエイティブな人種でもないので…
- 作者: ウォルター・ピストン,戸田邦雄
- 出版社/メーカー: 音楽之友社
- 発売日: 2005/08/11
- メディア: 単行本
- クリック: 2回
- この商品を含むブログ (7件) を見る
11月頃に、Tracktionでクラシックの管弦楽曲を打ち込もうとしていたことがありました。音楽制作については、職業DTMerの人にいろいろ教えてもらうことがあるのですが、この時に移調譜の読み方などを教わりながら「ピストンの『管弦楽法』を読むといい」と言われ、これを入手して読んでいました。
作業の過程で必要な部分だけつまみ食いで読んでいるのですが、その後KontaktでSession Stringsなどを使って音色を調整する時に、奏法などの未知のキーワードをこの本で調べたりしています。また、GM音源を使っているときにはもやっとしか知らなかった管弦楽器の編成についても、このあたりを知ることで一歩踏み込んで打ち込めるようになったと思います。
VSTプラグインをひたすら紹介してくれる同人誌です。コミケや同人音楽イベントでも入手できると思います。CollectiveどころかKompleteを使っていても「あの音色が足りない…」みたいな場面がちょいちょい出てくるので、これを参考にしていろいろな音源を知ることが出来ました。
制作作業
…さて、ファンタジー系音楽、たぶんゲームとかそっち系映画のサントラ的な音楽が出来上がればいいんだろうと考えました。馴染みはあるジャンルなのですが、過去にそういう作品を作ったことは無かったようです(そもそも完成した楽曲と言えるようなものを作ったことが無かった…)。このジャンルならこういうのが好きなので100年後くらいには作れるようになりたいですね…
今回は過去に打ち込んでいたものを何曲か使い回しているのですが、ファンタジー系というので、何かひとつ大仰なやつをゼロから作ってみたい…!と思って、ある時ちょっと20秒くらい浮かんだフレーズから作り始めました(1曲目)。最終的にはそこまでの大編成にはなっていないはずですが、オーケストラのスタンダードな音色でそれっぽい楽曲が打ち込めた気がします。まあほんの3分くらいなのですが…! もっとも、MIDIファイル上ではトランペットやトロンボーンが(知見が無くて)音域を逸脱したところまで演奏しているのを、Tracktion上ではSession Hornsにフォローさせている…みたいなところはちょいちょいあります。*10
昔打ち込んでいた自作曲を引っ張ってきたものは、当時プログレに傾倒していた(今でもか…?)こともあって、今回の収録作品には妙な変拍子が多いです(極端なのだと23/8とかあります…)。一方で楽曲の作り込みの甘いところが多いので(テクニック不足の問題…!)、まあ多分こういうちぐはぐなのはありがちですよね…
あとは…不気味な雰囲気の曲も作ってみたのですが(デモ2曲目)、これは全音音階とかを見よう見まねで使ってみました。音楽理論どころかコードも身についていないのはちょっとコンプレックスがあるので、そのうちどうにかしたいですね。
作業は全てgithubのプライベートリポジトリ上で記録されています。gitでこまめにcommit/pushしているので、何ならブランチも作ったりしているので、思いついたアレンジを気軽に試すことが出来ますし、特にMMLは意味のあるdiffが取れるので完全に便利です。Tracktionのほうは、前回のエントリでも書きましたが、tracktioneditファイルはXMLなのでこれも差分が見えます(あのエントリの内容もこの制作作業の一環として行われたわけです)。もっとも、一番知りたいのはオーディオプラグインのパラメーター設定などであって、これはオーディオプラグイン依存のバイナリなので、ろくに比較できませんしdiffで内容を追う時にたいへん邪魔です。
デジタルデータのダウンロードカードによる配布をメインにする予定なのですが、ここには技術同人誌を作成していたときと同じノウハウが使われることになるでしょう。
MMLおよびTracktionデータの公開(予定)
今回のアルバムのソースとなる打ち込みデータは公開する予定です。運良く(?)わたしが使っているSC-8820をお持ちの方は、MIDI版の楽曲をそのままフルで再現できることになります。MMLだけ公開としてコンパイラを使ってほしい…と言ってもいいのですが、多分SMFも公開すると思います。MMLはコンパイラのサンプルとなるので、楽曲はMITライセンスで公開されることになるでしょう。
公開する理由はシンプルで、MMLコンパイラの実用例であることを示し、それによってコンパイラの価値を高めるためです。あと、MMLを公開することには、ソースから知見を吸い取って再利用してほしい、かつてJASRACが「MIDI潰し」を行う以前にあった「古き良きMIDI文化」、ジットレインが「生成的インターネット」と呼んだものを、少しでも取り戻せるように…という思いもあります。
同様に、Tracktionで打ち込んだデータも公開するつもりなのですが、こちらはオーディオプラグインを多用しているので、同じプラグインを全部持っている人にしか再現できないものになるでしょう。このプロプラエタリに染まったデータをどのようなライセンスで公開するかは未定です。Tracktion自体は7まで無料で公開されています。
いずれの版も、「自作MMLコンパイラでここまで出来る」ことを示す、ポートフォリオ的な意味合いがあるので、単独でも聴く価値のある…というと大袈裟なので「破綻していない」くらいの…楽曲を作るというのは重要な目的のひとつです。(という文を書いている現時点で全楽曲が完成しているわけではないので、実のところ今も焦っているわけですが…)
next steps
この自作MMLコンパイラは、少なくとも対象をMIDIとして、21世紀にふさわしい利便性*11をクロスプラットフォームで実現するという目的を実現しつつあると思っています。一方で、音楽制作のメインストリームであるオーディオプラグインなどを活用した楽曲制作の置き換えまでには至っていません。この辺りは完全に別の世界として棲み分けがあるというのが現状でしょう。
DAW全盛期と言うのが相応しそうな現代ですが、ソフトウェアが古臭くなっていく一方で、Web MIDI APIやWeb Audio APIの登場、それらを踏まえたWeb Audio Modulesのような新しい技術*12の登場を考えると、DAWのように「個人ではとても作れない」巨大なソフトウェアを因数分解して、部品ごとに再利用し、打ち込みスタイルも多様化していく時代が来ても良いのではないかと思っています。MMLはその手法のひとつに過ぎず、またMMLの適用先としてDAWと同等の音楽を制作できるオーディオプラグインだらけの世界があっても良いと思っています。
制作過程のところでも言及しましたが、テキスト表現はgitなどVCSとの相性が抜群に良いです。思いついたアレンジをコメントアウトして残しておくのも簡単ですし、加工もそれなりに柔軟にできると思います(まだまだDAWのほうが得意な場面もたくさんありますが)。
そしてオーディオプラグインを利用した音楽制作のシーンは、もっとオープンに行われてほしいし、短期的にはわたしが日々使っているLinuxデスクトップ環境や新しいChromeOSのような環境でもシームレスに行えるようになってほしいと思っています。VST3はLinuxでもビルドできますし、JUCEならLADSPAもいけるし、オーディオプラグインのベンダーにもどんどん参入してもらいたいですね。
この音楽制作が終わったら余裕ができるので、こういう方向性で新しい仕事を探そうかなと思っています。*13
*1:サークル案内にあるように「作り方」みたいな本を出すつもりだったのですが、これはナシかもしれないです…少なくとも電子版になるでしょう(__ あとCDはジャケット印刷が間に合わないかもしれない…
*2:近いジャンルで名前がかぶったのですが、はてなに来る前のアカウント名であってgingaレーベルではないです
*3:最近rebuildfmでこっそり話していたんですよね…
*4:サークルの募集要項を見ると分かるのですが、定義は主観的でもやっとしています
*5:Linux環境で動作するDAWの選択肢は「ある」けどそれなりに限られるのです
*6:サウンドフォントについては、以前からfluidsynthにパッチを送っている程度にはいじっていて使い方がわかるのです。偏った知識…!
*7:特にLinux版JUCEで全くサポートされていないVST3を動かせるように
*8:わたしはPC所有者が自由にソフトウェアを動かすことの出来ないOSを作る会社がきらいなんですよね…
*9:とは言うものの、Mac環境のサポートはまだ新しい方向性で開発が始まったばかりです
*10:逆に知見が無くてもこの辺を使うと何とかなるのか…!という感じでした
*11:まだテキスト音楽サクラに及ばないところがちょいちょいあるのですが
*12:WAMs自体はC++などを前提とした従来のスタイルに見えるので、新しいと言ってしまうと実は個人的には抵抗感がありますが…
*13:とはいえ、私の知る限りそんな仕事は皆無ですし、まだ週休七日でもやれることはたくさんあるので、今のままでも良いのですが。