2010年12月19日日曜日

音源の話、もしCoreMIDIが最初から用意されていたら?

サウンドフォントの記事を書いたので、話が前後してしまいますが、音源の話をする旨を書いてしまったので、それに関して書きます。

midif0n開発の目的は、MIDIシーケンサーのプログラミングです。なので、音源にはなるべく手間をかけたくありませんでした。只でさえ、iPhoneのUIライブラリや、ARMアーキテクチャ、プログラミング言語Objective-C、デザイン(Script-Fu含む)など、ほとんど触れたことがない(あるいは忘れている)事柄を多数扱わなければならないことはわかっていました。そんな訳で、iPhoneにMIDI音源が内蔵されていれば、それを鳴らすだけだったでしょう。

しかし、現実は、そうではありませんでした。Appleは、音楽制作ソフトウェア(GarageBandやLogic)に力を入れているので、あっても不思議はないのですが...。

さて、音源をどうするか?GMになるべく対応させたかったので、いろいろな音色が欲しいのは確かです。しかし、1つに絞った場合、王道ですが、ピアノが一番欲しい音源でした。ポピュラーな音源方式は、加算合成, FM(Frequency Modulation), サンプリング音源, VA(Virtual Analog), 物理モデリングなどがあります。この中で、ピアノに比較的向いているのは、FM, サンプリング音源、物理モデリングでしょうか?物理モデリングに関しては、面白そうなのですが、僕の知識が追いついていないのと、パフォーマンスが高そうなのであらかじめ選択肢から外しました。
FMに関しては、広義の意味でのピアノと捉えれば、エレピは有名ですし、悪くない選択肢です。しかしエディット不可能なシンセサイザーを作る場合、プリセット音色を用意しなければいけません。僕は、FMの音作りをあまりして来なかったので、これはある意味難作業です。次にサンプリング音源ですが、著作権の話でもしたように、基本的に自前でのサンプリングは考えていませんでした。またこの方法ですと、品質を追求する場合、確かな耳が必要になるので、自分には向かないと思いました。ですが、この方式を取る場合、外から持ってくることが可能です。世間一般的には、WAVが有名ですが、この場合、音域、容量が厳しくなるのは目に見えていました。そんな訳で、消去法的にサウンドフォントに行き着きました。

さて、サウンドフォントを用いた場合、パフォーマンスに問題はないのか不安でした。しかし、最低ラインをフィルター、エフェクター、モジュレーターを適用せずに、ただサンプリング音源をループ再生(音量エンヴェロープを用いて)することと定めていたため、あまり気にしていませんでした。(そして、結局エフェクターが外されました。)ただ、フィルターに関しては、ある時点でピアノに適用したところ、欠かせないものになってしまいました。これはサンプルにもよると思いますが、使用していたSYNTHGMS.SF2の場合、フィルターがあってこそピアノは、グランドピアノと呼ぶことができる、そんな風に感じました。

さて、そんな感じで開発も終盤になって、ほとんどテストをしていたところ、かなりショックを受けるニュースが。それは、AppleがiOS4.2 SDKで、CoreMIDIをサポートするというニュース。もしかすると音源すら用意しなくても良かったのでは?とか思ってしまいました。実際は、音源のサポート自体はなかったみたいですが、公式に外部音源を鳴らすという手段が取れるわけです。もしSDKにCoreMIDIが初めから含まれいたら、きっと僕は外部音源を鳴らすMIDIシーケンサーを作っていたでしょう。

そんな訳で、Appleに言いたいのは、あまりSDKを頻繁に変更しないで欲しいということ。ましてやCoreMIDIはOSXには普通にある訳で、今更サポートされるとは...。(Line6のMIDI mobilizerに影響されたのかな?)

0 件のコメント:

コメントを投稿