DirectMusicはMicrosoft DirectX APIの非推奨[ 1 ]コンポーネントであり、音楽や効果音を作成および再生し、それらの再生方法を柔軟にインタラクティブに制御できるようにします。アーキテクチャ的には、DirectMusicはDirectSound上に構築された高レベルのオブジェクトセットであり、プログラマはDirectSoundほど低レベルにならなくてもサウンドや音楽を再生できます。DirectSoundはデジタルサウンドサンプルのキャプチャと再生を可能にするのに対し、DirectMusicはメッセージベースの音楽データを扱います。音楽はハードウェア、 Microsoft GS Wavetable SW Synth、またはカスタムシンセサイザーで 合成できます。
歴史
DirectMusicは、1996年にMicrosoftによってInteractive Music Architecture (IMA)と呼ばれるActiveXコントロールとして初めてリリースされました。 [ 2 ] DirectXライブラリのバージョン6.1の一部として1999年2月に導入され、Windows 98 Second Edition以降のすべてのMicrosoft Windowsオペレーティングシステムに含まれています。DirectMusicはその後廃止され、Windows Vistaの64ビットアプリケーションでは利用できません。[ 1 ] Windows 7では、タイムスタンプ付きMIDIに関連するコアDirectMusic APIでネイティブ64ビットサポートが利用可能ですが、パフォーマンスコンポーネントでは利用できません。[ 3 ]
詳細
DirectMusicは、ハードウェアアクセラレーション、ダウンロード可能サウンド(DLS)、DirectXメディアオブジェクト(DMO)、高度な3Dポジショニングエフェクト、その他様々な機能を活用したダイナミックサウンドトラックを実装するための包括的なシステムを提供します。DirectMusicは、保存された楽曲素材に基づいて、ダイナミックな音楽サウンドトラックの作曲と再生を提供します。音楽は静的な再生ではなく、リアルタイムで生成され、バリエーション豊かに再生され、柔軟なプログラムイベントに応答できます。DirectMusicを使用すると、以下のことが可能になります。
- MIDI、WAV 、またはDirectMusic Producerランタイム形式のファイルまたはリソースからサウンドを読み込んで再生します。DirectMusicサウンドトラックはファイルサイズが小さいため、Webアプリケーションに最適です。
- 音楽イベントのタイミングを高精度にスケジュールします。DirectMusic では、MIDI 入力データがシステム全体の参照クロックに到達した瞬間にタイムスタンプを付与できます。DirectMusic 用に作曲された音楽や効果音は非常に柔軟で、時間の経過やユーザーイベントに応じて動的に変化させることができます。DirectMusic は、タイミングが不安定でリアルタイム制御が制限されるというWindows の従来のMidiOut APIの問題を解決します。
- それぞれ別のタイミングと楽器セットを持つ複数のソースから同時に再生します。
- テンポの変更、パッチの変更、その他のMIDIイベントをプログラムで送信します。
- MIDI Manufacturers AssociationによるオープンスタンダードであるDLS(Downloadable Sounds)を使用することで、開発者は「ウェーブテーブル」サンプルベースシンセシスを搭載していないオーディオハードウェアでも「ウェーブテーブル」サウンドを出力できます。ダウンロード可能なサウンドは、新しい楽器やカスタマイズされた楽器を追加することで拡張できます。
- DirectSoundのソフトウェアシンセサイザーは、 「ウェーブテーブル」と呼ばれるサンプルベースの音源合成に対応していないサウンドカードを搭載したコンピュータでも、 MIDIファイルやDirectMusicセグメントなどのメッセージベースの音楽が、サウンドカードの異なるコンピュータ間で異なる音色で再生されることなく、あらゆるハードウェア構成で同一の音色で再生されることを保証します。アプリケーションは、無限の種類の楽器を演奏でき、個々の音符やベロシティに応じて異なる音色を生成することもできます。
- 3D 環境でサウンドを見つけます。
- ピッチの変更、リバーブ、その他のエフェクトを簡単に適用できます。
- 16以上のMIDIチャンネルを使用します。DirectMusicを使用すると、シンセサイザーの限界まで、任意の数のボイスを同時に演奏できます。
- 異なるオーディオ パスでセグメントを再生し、各サウンドにエフェクトや空間化を個別に適用できるようにします。
- MIDI データをキャプチャするか、あるポートから別のポートにストリーミングします。
- DirectMusic Producer を使用すると、DirectMusic のインタラクティブ機能を最大限に活用したサウンド ファイルを作成できます。
- メインメモリの一部をサウンドカードのバッファとして使用します。[ 4 ]
- VXDサウンドドライバと比較して、より優れたDMA方式。 [ 5 ]
Microsoft GS Wavetable SW Synthなどの DirectMusic 機能が正しく動作することを保証するには、WDMサウンド ドライバーをお勧めします。
Windows Vistaでは、DirectMusicはソフトウェア合成のみを使用します。また、DirectMusicコンポーネントに高解像度タイマーを供給するDirectMusicカーネルモードシンセサイザーは削除されました。[ 6 ]また、Windows Vista以降、WASAPI共有モードはハードウェアアクセラレーションをサポートしていません。
Windows 10はサウンド効果のハードウェアオフロードをサポートしています。[ 7 ] [ 8 ]
参照
参考文献
- ^ a b「ゲーム開発者のための64ビットプログラミング」 MSDNライブラリMicrosoft2008年4月2009年3月3日閲覧。
- ^ 「DirectMusic Producer FAQ」 。 2007年10月6日閲覧。
{{cite web}}:|archive-url=形式が正しくありません: タイムスタンプ (ヘルプ)CS1 メンテナンス: url-status (リンク) - ^ DirectX よくある質問
- ^ https://learn.microsoft.com/en-us/previous-versions/windows/desktop/ee416820%28v=vs.85%29
- ^ https://learn.microsoft.com/en-us/previous-versions/windows/desktop/ee416769(v=vs.85)
- ^ 「Windows VistaでMIDIを編集または再生する際のタイミングジッターとクロックドリフト」。Microsoft 。 2007年12月4日。2007年12月14日時点のオリジナルよりアーカイブ。
- ^ 「Windows 10: オーディオドライバーの新機能」。Microsoft 。 2021年12月15日。
- ^ 「オーディオ処理オブジェクトアーキテクチャ」。Microsoft 。 2024年12月13日。