XACT

XACT(イグザクトと読む[1])はDirectXの一部としてマイクロソフトによって開発・リリースされた、オーディオプログラミングライブラリおよびオーディオエンジンである。これは、オーサリングおよび再生用の高レベルオーディオライブラリであり、Xbox上ではXAudioWindows XPではDirectSoundWindows Vistaでは新しいオーディオスタックを使って書かれている。XAudioはデジタル信号処理を最適に行うために設計された、Xbox専用のAPIである。XACTはまたX3DAudioを含んでおり、WindowsとXbox両方のプラットフォームで使用可能な空間音響ヘルパーライブラリである。XACTは元々Xboxの開発のために作られたが、後にWindowsでも動作するように修正が加えられた。

XACTのサポートはDirectXからXNAにそのまま引き継がれている。XACT Audio Authoring ToolXNA Game Studioでも利用が可能である。

XACT Audio Authoring Toolwave banks (複数のWAVファイルが入った単一のアーカイブファイル) やsound banks (wave banksの中にあるWAVファイルを演奏する命令が入った単一のファイル) を作るためのオーディオデータを構成するために使われるアプリケーションである。wave banksとsound banksはアプリケーション内にあって、XACTからその後呼び出されることになる。

Windows上でXACTを利用する場合、実行環境にはDirectXエンドユーザーランタイムのインストールが必要となる[2]

なお、Windows 8用のソフトウェア開発キットであるWindows SDK 8.0以降ではWindows SDKとDirectX SDKが統合されたが、その際にXACTは廃止されている[3]

DirectX Tool Kitには、廃止されたXACTの代替として、XNA Game Studioのオーディオコンポーネントに似た補助ライブラリが実装されている[4]

XACTの音楽作成機能

  • WAVAIFFXMA英語版xWMA[5]フォーマットをサポート
    • WAVとAIFFフォーマット内にある埋め込みループポイントもサポートしている
  • ステレオと5.1chスピーカーもサポート
  • 音声の編集
    • 複数のオーディオファイルをWave Banks (XWB拡張子) にグループ化する機能
    • キューや演奏指定を音データと一緒にSound Banks (XSB拡張子) にまとめる機能
  • 編集
    • オーディオコンソールウィンドウを使ってのオーディオプレビュー機能
    • デバッグモードライブラリを使ったゲーム内での調整のオーディオ設定

XACTのAPIが提供する機能

  • 音楽、効果音、演奏キュー情報を作成段階から統合できるAPI
  • メモリ蓄積型 (In-Memory) とストリーミング (Streaming) の両方をサポート
  • オーディオイベントを検知
  • すべてのXACT音声編集機能を使うことなしに、音データの読み込みと再生を行うことができる低レベルAPIを含む
  • X3DAudio APIを介した3次元音響効果「XACT 3D」(DirectSound3Dの後継機能)

XACTの用語とファイル種別

  • Sound Banks (.xsb) - サウンドとキューのコレクション。
    • Sound - ボリュームとピッチのような特性と一緒に一つ以上の音声を合わせたもの。サウンドはトラックから構成される。
      • Tracks - トラックはイベントから構成される。最も単純なトラックはWaveを再生するイベントを持つ。
      • Events - トラック内に起きる様々なアクション。アクションは、再生、停止、ボリューム設定、ピッチ設定などを含む。
    • Cue - Cueは音声を再生するタイミングを記述するのに使われる。それぞれのCueは一つ以上の音声からなる。
  • Wave Banks (.xwb) - 複数のWaveをまとめたファイルフォーマット。
    • Waves - WAV、AIFF、XMAフォーマットで記述されたraw音声データ。
  • Global Settings (.xgs) - 音声に対するルールと設定を定義している。
    • Categories - 音声は一つの(それぞれ一つのみの)カテゴリーに割り当てられる。そのカテゴリーはボリュームのようないろんな設定と一緒に、とあるルールによって決められたものである。ゲーム中にあるキャラクター用の音声カテゴリーを作ったなら、それらはすべて同じボリューム設定になる。カテゴリーは、Global、Default、Musicの3つが既定で定義済みである。
    • Variables - 設計段階で定義されるもので、プログラマによってコード中から実行時パラメータ制御 (Run-Time Parameter Control) を行うために参照されるものである。
      • Run-Time Parameter Control - スライダーとしても知られている。これによって音声を再生時に音声パラメータの制御ができる。例えば、これを使うことで、アクセルを踏むと車のエンジン音のピッチが変化するなどのような制御ができる。
    • DSP Effect Path Presets (DSPs) - リバーブのようなエフェクトを音声に適用できる。
    • Compression Presets - waveやwave bankに圧縮をかける。

脚注

関連項目

外部リンク