See also ebooksgratis.com: no banners, no cookies, totally FREE.

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
DirectSound - Wikipedia

DirectSound

出典: フリー百科事典『ウィキペディア(Wikipedia)』

DirectSoundマイクロソフトが提供するDirectXライブラリのソフトウェアの一部品であり、Windowsの中に含まれている。このソフトウェアは、アプリケーションサウンドカードとの間に直接的なインタフェースを提供し、アプリケーションが音や音楽を鳴らすことができるようにするものである。DirectSoundはオーディオデータをサウンドカードに渡すサービスを提供しているのに加えて、録音や音をミキシングするのに必要な機能も多く提供している。このような機能としては、サウンドにエフェクト、例えばリバーブエコー、フランジングなどを付加する機能や、再生速度を変化させるためのハードウェアで制御できるバッファや、3次元空間内で音の鳴っている位置を変化させる機能(3次元立体音響)、マイクロフォンやその他の入力機器から録音する機能や、録音中にエフェクトを付加するのを制御する機能などがある。

DirectSoundはまた、複数のアプリケーションがサウンドカードに同時にアクセスする便利な方法も許している。この3次元空間的に音を鳴らすことができる機能によって、ゲームに新次元の楽しみをもたらす。またゲーム内でのイベントに即座に反応して、音を鳴らすスクリプトを変更する機能をも提供している。すなわち、ゲーム内のアクションがヒートアップしてきたらそれにあわせて音楽のリズムも速くすることができる。

数年間の開発の後、今日のDirectSoundは非常に成熟したAPIを持ち、複数チャンネルを用いた再生や高精細な音を再生できる機能など、多くの役に立つ機能を提供している。DirectSoundはゲームに使われるように設計され、プロが使うオーディオアプリケーションでは今やこれらの様々な機能を利用している。

目次

[編集] DirectSound3D

DirectSound3D(DS3D)はWindowsでの標準3DオーディオとしてDirectXに追加されたもので、1996年、DirectX 3に導入された。

DirectSound3Dは、ソフトウェア開発者がそれぞれのオーディオカードメーカーに合わせたコードを書く代わりに、単一の標準化されたオーディオAPIを書くことで対応できるようにしている。

DirectX 5では、DirectSound3DはDirectSound3Dをアクセラレーションするサードパーティー製の3Dオーディオアルゴリズムを使う複数のサウンドカードを、マイクロソフトが認めた方法を用いて、扱うことができる能力を持つ。この機能を使えば3Dオーディオライブラリを分離する必要はなくなる。

DirectX 8ではさらに開発が進み、DirectSoundとDirectSound3D(DS3D)は一緒になってDirectX Audioと呼ばれるようになった。

誤解されやすいが、DirectSound 3Dの3D音源は、エコー、リバーブ等の環境音を模倣するエフェクトと、リスナーの位置と音源(モノラル)の位置関係を簡易に計算するライブラリが主体である。 やっていることは、旧来、ステレオPCM音源のパンとボリュームを自前で調整することで、擬似的に音源の位置(音像)を表現していたが、これをライブラリとして吸収しただけである。 したがって、実際の空気中を伝播する音の物理そのものを、シミュレートして計算しているわけではなく、遮蔽や反射などは考慮されていない。


[編集] Windows Vista

Windows Vistaは完全に書き直されたオーディオスタックを特徴とする。オーディオスタックを再設計してアーキテクチャを変えた理由は、DirectSoundからオーディオドライバへの直接パスが存在しないためである。DirectSoundとMMEのような他のAPIはWASAPIインターフェイスを用いてエミュレーションされている。DirectSoundはマイクロソフトのソフトウェアミキサ上でエミュレーションモードで動いている。エミュレータはハードウェア抽象化がされていないので、DirectSoundをアクセラレーションできるハードウェアはない。これはDirectSoundのアクセラレーションに依存しているハードウェアないしソフトウェアのパフォーマンスが以前より下がってしまうことを意味する。しかし、よりパワーのあるハードウェアを使えば、パフォーマンス上の問題はないだろう。ただ、DirectSound3Dを使ってハードウェア的に3Dオーディオエフェクトをかける場合では、そのような音再生はできないだろう。

ASIOOpenALのようなAPIは、Windows Vistaのアーキテクチャ変更による影響を受けないので、サウンドカードのドライバがこれらのAPIに対応すれば、サウンドデバイスのアクセラレーション機能を利用することができる。 アプリケーションがこれらのアクセラレーション機能を使うには、DirectXやMMEを使わずにASIOやOpenALのAPIを使うようにプログラムを変更する必要がある。

Windows にはもうひとつ Kernel Streaming という API がありミキサを通らずにサウンドデバイスへアクセスできる。この方法で ASIO4ALL というプロジェクトが ASIO 非対応のデバイスで ASIO を使えるようにしている。

もうひとつの方法として、アプリケーションが使うオーディオスタックを差し替えて、OpenALを使わせてしまうという方法がある。この方法で Creative Labs 社の Creative ALchemy Projectというプロジェクトが DirectSound のアクセラレーションをサポートしている。

[編集] Xaudio

Xbox 360Windowsを統合するために、マイクロソフトは、新しいアプリケーションをXaudioとXACTのようなXboxと同等なオーディオAPIに移行してもらうよう積極的に活動をしている。2007年の終わりないしはそれ以降には、マイクロソフトはDirectSoundを、Xaudio2として知られるクロスプラットフォーム(WindowsとXbox)で共通に使える低レベルオーディオAPIに置き換える予定である。Xaudio2は、デジタル信号処理を最適に行うために設計されたXbox専用のAPIであるXaudio APIをさらに進化させたものである。Xaudio 2はWindows XPWindows Vista、そしてXbox 360上で利用できる、Xaudio 2はXACTを通してハイレベルなオーサリング/再生ができ、X3DAudioライブラリを通して3D機能を提供している。XACTエンジンは高レベルオーディオライブラリであり、Xbox上ではXaudio、Windows XP上ではDirectSound、Windows Vistaでは新しいオーディオスタックを使って書かれている。X3DAudioはWindowsとXboxの両方のプラットフォーム上で利用可能な、空間音響用ヘルパーライブラリである。

Xaudio 2はXACTのような高レベルオーディオAPIのために、信号処理を使って特別なエフェクトを行う。いくつかの機能を以下に列挙する。

  • から音データを分離する
  • サブミキシング
  • Multi-rate processing
  • 1音声毎のフィルタリング
  • Programmable voices
  • エフェクト処理、サンプルレート変換(SRC)
  • ソフトウェアDSP
  • エンハンストサラウンドサウンド(マルチチャンネル)と明示的なマルチチャンネルpanning/mapping
  • ネイティブな圧縮データをサポート
    • Xbox 360上でのXMA
    • Windows上でのADPCM
    • その他拡張形式
  • 分離かつ置換可能なライブラリによる3Dオーディオの処理。Xaudio 2はマルチチャンネルスピーカーを扱い、X3DAudioライブラリはスピーカーボリュームと他の様々なパラメータを入力することで、出力とリスナーの座標を変形することができる。

[編集] Windows CE

DirectSoundはWindows CEのバージョン4.2までサポートされているが、5.0になってから削除された。Windows CE 6.0はDirectSoundをサポートしていない。代わりにWaveforce Audio APIを使ってアプリケーションを書き直すことを薦めている。

[編集] 関連項目

  • XACT
  • DirectMusic
  • DirectX Audio

[編集] 外部リンク


aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -