ウェブベースの音楽制作アプリケーションの問題

ウェブベースの音楽制作アプリケーションの開発・研究を進めていくと、普通のウェブベースアプリケーション(文書作成ソフトや画像編集ソフトなど)にも増して、実現のためには超えなければいけない壁がいくつもあることがわかってきました。

入出力

まずはじめに、「どうやって音を鳴らすのか」という問題に直面しました。
通常のWindowsアプリケーションであれば、OSのAPIを呼び出してスピーカーから生成した波形を出力させることは難しくありません。
しかし、ブラウザ内の要素(DOM)もっと簡単に言ってしまえばHTML上から音を鳴らす手段はごく限られています。
また、マイクなどのデバイスから入力された信号、MIDIインターフェイスからの入力なども受け取る事も困難です。

音の遅延

サーバー上で生成された波形がユーザの下に届くまでには時間がかかります。
ユーザが操作した結果を耳で確認できるまで時間がかかるというのは、場合によっては非常に致命的な問題です。

プラグインとの連携

DAWソフトで音楽を作る場合には、最近はVSTやDXiのプラグイン・ソフト音源を使うのは当たり前になってきていますが、これらを使う事もできません。

サーバーの負荷

ただでさえ音楽データは容量が大きい上、複数のユーザが同一のサーバー上で同時に高度な処理をさせようとするとサーバーにかかる負荷が極端に大きくなってしまいます。
サーバーに負荷がかかり処理スピードが落ちるとさらに音の遅延が発生してしまうことにもなります。

このように、実際に実装を行おうとすると多くの問題があることがわかりました。
ウェブベースの音楽制作アプリケーション開発の第一歩はこれらの問題をどうやって解決していくか、ということになります。