DirectSound

DirectSoundとは



DirectSoundは、マイクロソフトが提供するDirectXの一部であり、Windows環境で標準的に用いられる音声入出力機能です。アプリケーションとサウンドカード間の直接的なインターフェースとして機能し、音や音楽の再生を可能にします。

DirectSoundの主な機能



DirectSoundは、単にオーディオデータをサウンドカードに送るだけでなく、録音やミキシングといった高度な機能も備えています。例えば、以下のような機能があります。

サウンドエフェクト(リバーブ、エコーなど)の付加
再生速度の調整
3次元空間内での音源位置の制御(3Dオーディオ)
マイクなどからの録音
録音時のエフェクト制御

また、複数のアプリケーションが同時にサウンドカードへアクセスできる便利な機能も提供し、ゲーム内でのイベントに合わせた音楽の変化や、3Dオーディオによる臨場感あふれるサウンド体験を可能にします。DirectSoundは長年の開発を経て、複数チャンネル再生や高精細な音声出力など、成熟したAPIとして多くの機能を提供しています。ゲーム業界での利用が中心でしたが、現在ではプロ向けのオーディオアプリケーションにも活用されています。

DirectSound3D



DirectSound3D (DS3D) は、DirectXに追加されたWindows標準の3Dオーディオ機能です。1996年、DirectX 3で導入されました。DirectSound3Dは、各サウンドカードメーカー向けに個別のコードを書く代わりに、標準化されたオーディオAPIを通じて3Dオーディオ処理を可能にしました。DirectX 5では、マイクロソフト提供の機能を用いてサードパーティ製の3DオーディオアルゴリズムをDirectSound3D上で利用できるようになり、3Dオーディオライブラリを分離する必要がなくなりました。

DirectX 8では、DirectSoundとDirectSound3DはDirectMusicと統合され、DirectX Audioという名称に変わりました。

DirectSound 3Dによる3D音源は、実際にはエコーやリバーブといった環境音のエフェクトや、リスナーと音源の位置関係を簡易的に計算するライブラリが主体であり、音の物理的な伝播をシミュレートしているわけではありません。

Windows OSでのサポート



Windows 95, 2000/XP


これらのバージョンではDirectSoundは標準的にサポートされていました。

Windows Vista/7


Windows Vistaでは、オーディオスタックがUniversal Audio Architecture (UAA) に基づき完全に書き直されました。その結果、DirectSoundからオーディオドライバへの直接のパスがなくなり、DirectSoundとMMEはWASAPIインターフェイスを通じてエミュレートされる形になりました。このエミュレーションによってハードウェアアクセラレーションは利用できなくなり、DirectSoundに依存していた一部のソフトウェアではパフォーマンスが低下する可能性がありました。しかし、ASIOやOpenALといったAPIは影響を受けず、サウンドカードのドライバが対応していればハードウェアアクセラレーションを利用できました。

Windows 8


Windows 8では、デスクトップアプリではDirectSoundが利用可能であるものの、Windowsストアアプリ(WinRTアプリ)では利用できなくなり、XAudio2が代わりに利用されることになりました。

Windows CE


DirectSoundはWindows CE 4.2までサポートされていましたが、5.0以降は削除されました。Windows CE 6.0では、Waveform Audio APIを利用した開発が推奨されています。

XAudio2



マイクロソフトは、Xbox 360とWindowsの統合を進めるため、新しいアプリケーションをXAudio2やXACTといったXboxと同等のオーディオAPIに移行させることを推奨しています。XAudio2は、クロスプラットフォーム(WindowsとXbox)で共通利用できる低レベルオーディオAPIであり、Xbox専用のXAudio APIをさらに進化させたものです。

XAudio2は、Windows XPではDirectSoundを、Windows VistaではWASAPIを、そしてXboxではコンソールハードウェアレイヤーを使用して実装されています。

XAudio2は以下のような特徴的な機能を提供します。

「声」からの音データ分離
サブミキシング
マルチレート処理
音声ごとのフィルタリング
プログラマブルな音声処理
エフェクト処理、サンプルレート変換
ソフトウェアDSP
マルチチャンネルサウンドと明示的なパンニング/マッピング
ネイティブ圧縮データのサポート
3Dオーディオ処理

XAudio2は、XACTという高レベルなオーディオAPIを通して利用でき、X3DAudioライブラリで3D機能を利用可能です。Windows SDK 8.0以降ではDirectX SDKと統合され、XACTは廃止されました。

DirectSoundの課題と代替API



DirectSoundは、ASIOやWASAPIのようなAPIと比較して、低遅延やビットパーフェクト(データの完全性)が保証されないため、商業レベルの音楽制作のような特殊な用途には不向きです。これらのAPIは、サウンドカードのハードウェアアクセラレーションを直接利用できるため、より高性能なオーディオ処理が可能です。

関連項目



DirectX Audio
DirectMusic
XACT
Windows Multimedia Extensions (MME)
Media Control Interface (MCI)
Core Audio (Windows)
WASAPI
レイテンシ
VST
ASIO
Core Audio (アップル)
* Sound Manager

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。