Totally Recallable

しばらく、シンセサイザーに関しては、いわゆるソフトウェアシンセのみを使ってきた。その前はもちろんハードウェアのシンセを使ってきたのだけど、コンピュータの演算能力が高くなってきたのと、ソフトウェア自体がよくなってきたので音色に関して不満がなくなってきたのだ。

さらに、CPUの負荷次第という制約はあるにせよハードウェアの物理的な制限とは違って好きなパートに好きな音源を好きなだけ割り当てられるというのは魅力的だった。そして、ソングデータをロードすると音源のセットアップもすべて済んでいるという利便性も一度体験するとなかなか捨てがたいものだ。

今でもサンプラーの部分はライブラリの管理の面倒さからもソフトウェアの方が良いと思ってるし、ソフトウェアならではのシンセサイザーもあるのでソフトウェアシンセを使わなくなるということは今後ともないだろう。しかし、アナログシンセ、いやVA(ヴァーチャルアナログ)シンセというべきか、は、わたしの場合NordLead3を使うことが多くなってきた。

そのココロは何かと考えた時、ハードウェア的なインターフェイス、つまりは「つまみ」と音源の一体感なのではないかと思う。すぐに狙ったパラメータにアクセスできる、もしくは適当にいじって試行錯誤できることが良いのだろう。もちろん、ソフトウェアにしてもすべてのパラメータが一望できるのでアクセス性という面においては問題ないはずなのだけど、そこに「つまみ」があるというのが絶対的な差になっているようだ。

「つまみ」に関していろいろとフィジカルコントローラーというものが出ているのでそれを利用すればソフトウェアシンセとてフィジカルな肉体を持つことができるのだけど、どうもその汎用のコントローラとのちぐはぐさが解消できない。そういう意味では専用のコントローラをもつソフトウェアシンセはその点をクリアできるのかもしれない。

さて、ハードウェアのシンセサイザーを使うようになると、今度はソングロード時のセットアップの利便性が損なわれることになる。いわゆるトータルリコールというやつ。しかたないので別のメモにセットアップ情報を記録しておき、その都度復元している。

そういえば昔はライブラリアンなるソフトがあって、シーケンサと連携してシンセサイザーの情報を記録したものだったなと思い出して調べてみたら、GalaxyやSoundDiverは過去の人に。あとはUniSynぐらいしか生き残ってなさそうだ。それにしたってずいぶん長い間バージョンはあがってなさそうだし、Performerでしかその連携メリットは得られない。

最近ではハードウェアシンセサイザーにホストからはプラグインのように扱える連携のためのソフトがついてるものが少なくなく、しかも音声まで内部でルーティングできるようなものもあるらしい。それが普通になってきたら、確かにライブラリアン等はいらなくなってしまうかもしれない。

NordLeadにも1、2にはこういうプラグインとして振る舞うエディタがある。このメーカは3用のも近日中にリリースすると以前アナウンスしてた気がするのだが、未だにリリースされていない。ないものは作るかということで、風邪をひいてあまり頭の冴えない週末にチャレンジしてみた。

結論から言うと、AudioUnitで(VSTはSDKから面倒そうなので敬遠した)あたかもソフトウェアシンセのように振る舞いコントロール情報を外に流すだけ、必要なコントロール情報を受け取るだけというプロクシー的なものを作ることはそう難しくはなかった。しかしインターフェイスの実装がそう簡単にはいかなかった。

AppleのサンプルやXcodeの作るテンプレートではCocoa(いわばOSXのAPI)で実装ができる風で、実際AudioUnitのデバッグ用のプログラムであるAU Labでも見えるのだけど、Liveで試してみると表示されない(デフォルトのインターフェイスが表示される)。いろいろ調べた結果Carbon(いわばOS9以前のAPIとの互換のためのAPI)で組んだものしか対応していないらしい。そんな馬鹿な、と、いろいろな手持ちのプラグインを調べてみたのだけど、どれもCarbonでインターフェイスを組んでいて、Cocoaのものは皆無だということがわかった(パッケージの構成を見るだけで簡単に判断できる)。

あわよくばNordLead3のノブなんかもグラフィックで表示・・・などと考えてたのだが、その事実で一気に質実剛健の実装方針に転向した。いまさらCarbonは面倒くさい。そして件のプラグインのスクリーンショットが2つ目のイメージ。「つまみ」は本物あるでしょ、パラメータ値はシーケンサに表示されてます、というコンセプト。

とりあえず、アンドキュメンテッドな使う上でのコツはあるのだけど、問題なく使えている。ただ、インターフェイスに手をかけたくないという事から、MIDI Port上のどこにNordLeadがあるかが決めうちになってるという点がソフトウェアとしては最大の問題かもしれない。つまり我が家の環境以外では正しく動作しない可能性が高いという事だ。

来年にはOSXの次バージョンSnow Leopardが出る。APIのCocoa化(みなさん、CarbonをやめてCocoaを使いましょうね、という事)が進むらしい。AudioUnitのインターフェイスのCocoa対応も進むだろう。その時には対応を考えるかもしれない。