CRIWARE Unity Plugin Manual  Last Updated: 2024-04-24
CriAtomExAsr クラス

Atomサウンドレンダラのバス出力を制御するクラスです。 [詳解]

クラス

struct  BusAnalyzerInfo
 レベル測定情報 [詳解]
 

静的公開メンバ関数

static void AttachBusAnalyzer (string busName, int interval, int peakHoldTime)
 レベル測定機能の追加 [詳解]
 
static void AttachBusAnalyzer (int interval, int peakHoldTime)
 全てのDSPバスへのレベル測定機能の追加 [詳解]
 
static void DetachBusAnalyzer (string busName)
 レベル測定機能の削除 [詳解]
 
static void DetachBusAnalyzer ()
 全てのDSPバスからのレベル測定機能の削除 [詳解]
 
static void GetBusAnalyzerInfo (string busName, out BusAnalyzerInfo info)
 レベル測定結果の取得 [詳解]
 
static void GetBusAnalyzerInfo (int busId, out BusAnalyzerInfo info)
 
static void SetBusVolume (string busName, float volume)
 DSPバスのボリュームの設定 [詳解]
 
static void SetBusVolume (int busId, float volume)
 
static void SetBusSendLevel (string busName, string sendTo, float level)
 DSPバスのセンドレベルの設定 [詳解]
 
static void SetBusSendLevel (int busId, int sendTo, float level)
 
static void SetBusMatrix (string busName, int inputChannels, int outputChannels, float[] matrix)
 DSPバスのレベル行列の設定 [詳解]
 
static void SetBusMatrix (int busId, int inputChannels, int outputChannels, float[] matrix)
 
static void SetEffectBypass (string busName, string effectName, bool bypass)
 DSPバスエフェクトのバイパス設定 [詳解]
 
static void SetEffectParameter (string busName, string effectName, uint parameterIndex, float parameterValue)
 DSPバスエフェクト動作時パラメータの設定 [詳解]
 
static float GetEffectParameter (string busName, string effectName, uint parameterIndex)
 DSPバスエフェクト動作時パラメータの取得 [詳解]
 
static bool RegisterEffectInterface (IntPtr afx_interface)
 ユーザ定義エフェクトインターフェースの登録 [詳解]
 
static void UnregisterEffectInterface (IntPtr afx_interface)
 ユーザ定義エフェクトインターフェースの登録解除 [詳解]
 
static void GetBusVolume (string busName, out float volume)
 バスのボリュームの取得 [詳解]
 
static void EnableBinauralizer (Boolean enabled)
 バイノーライザーの有効化 [詳解]
 
static bool IsEnabledBinauralizer ()
 バイノーライザーの有効化状態の取得 [詳解]
 
static int GetPcmOutput (int outputChannels, int outputSamples, float[][] buffer)
 PCM出力の取得 [詳解]
 
static int GetNumBufferedPcmOutputSamples ()
 取得可能なPCM出力サンプル数の取得 [詳解]
 
static void SetPcmBufferSize (int numSamples)
 PCM出力サンプルのバッファーサイズの設定 [詳解]
 
static void PauseOutputVoice (bool sw)
 すべての再生のポーズ/ポーズ解除 [詳解]
 

詳解

Atomサウンドレンダラのバス出力を制御するクラスです。

説明:
本クラスでは、Atomサウンドレンダラのバス出力を操作してボリュームを変更したり、レベルを測定することができます。

関数詳解

static void AttachBusAnalyzer ( string  busName,
int  interval,
int  peakHoldTime 
)
inlinestatic

レベル測定機能の追加

引数
busNameDSPバス名
interval測定間隔(ミリ秒)
peakHoldTimeピークホールドレベルのホールド時間(ミリ秒)
説明:
DSPバスにレベル測定機能を追加し、レベル測定処理を開始します。
本関数を実行後、 CriAtomExAsr::GetBusAnalyzerInfo 関数を実行することで、 RMSレベル(音圧)、ピークレベル(最大振幅)、ピークホールドレベルを 取得することが可能です。 複数DSPバスのレベルを計測するには、DSPバスごとに本関数を呼び出す必要があります。
参照
CriAtomExAsr::GetBusAnalyzerInfo, CriAtomExAsr::DetachBusAnalyzer
static void AttachBusAnalyzer ( int  interval,
int  peakHoldTime 
)
inlinestatic

全てのDSPバスへのレベル測定機能の追加

引数
interval測定間隔(ミリ秒)
peakHoldTimeピークホールドレベルのホールド時間(ミリ秒)
説明:
DSPバスにレベル測定機能を追加し、レベル測定処理を開始します。
本関数を実行後、 CriAtomExAsr::GetBusAnalyzerInfo 関数を実行することで、 RMSレベル(音圧)、ピークレベル(最大振幅)、ピークホールドレベルを 取得することが可能です。
参照
CriAtomExAsr::GetBusAnalyzerInfo, CriAtomExAsr::DetachBusAnalyzer
static void DetachBusAnalyzer ( string  busName)
inlinestatic

レベル測定機能の削除

引数
busNameDSPバス名
説明:
指定のDSPバスからレベル測定機能を削除します。
参照
CriAtomExAsr::AttachBusAnalyzer
static void DetachBusAnalyzer ( )
inlinestatic

全てのDSPバスからのレベル測定機能の削除

説明:
全てのDSPバスからレベル測定機能を削除します。
参照
CriAtomExAsr::AttachBusAnalyzer
static void GetBusAnalyzerInfo ( string  busName,
out BusAnalyzerInfo  info 
)
inlinestatic

レベル測定結果の取得

引数
busNameDSPバス名
infoレベル測定結果
説明:
DSPバスからレベル測定機能の結果を取得します。
参照
CriAtomExAsr::AttachBusAnalyzer
static void GetBusAnalyzerInfo ( int  busId,
out BusAnalyzerInfo  info 
)
inlinestatic
非推奨:
削除予定の非推奨APIです。 CriAtomExAsr.GetBusAnalyzerInfo(string busName, out BusAnalyzerInfo info)の使用を検討してください。
static void SetBusVolume ( string  busName,
float  volume 
)
inlinestatic

DSPバスのボリュームの設定

引数
busNameDSPバス名
volumeボリューム値
説明:
DSPバスのボリュームを設定します。
センドタイプがポストボリューム、ポストパンのセンド先に有効です。

ボリューム値には、0.0f~1.0fの範囲で実数値を指定します。
ボリューム値は音声データの振幅に対する倍率です(単位はデシベルではありません)。
例えば、1.0fを指定した場合、原音はそのままのボリュームで出力されます。
0.5fを指定した場合、原音波形の振幅を半分にしたデータと同じ音量(-6dB)で 音声が出力されます。
0.0fを指定した場合、音声はミュートされます(無音になります)。
ボリュームのデフォルト値はCRI Atom Craftで設定した値です。
static void SetBusVolume ( int  busId,
float  volume 
)
inlinestatic
非推奨:
削除予定の非推奨APIです。 CriAtomExAsr.SetBusVolume(string busName, float volume)の使用を検討してください。
static void SetBusSendLevel ( string  busName,
string  sendTo,
float  level 
)
inlinestatic

DSPバスのセンドレベルの設定

引数
busNameDSPバス名
sendToセンド先DSPバス名
levelレベル値
説明:
センド先DSPバスに音声データを送る際のレベルを設定します。

レベル値には、0.0f~1.0fの範囲で実数値を指定します。
レベル値は音声データの振幅に対する倍率です(単位はデシベルではありません)。
例えば、1.0fを指定した場合、原音はそのままのレベルで出力されます。
0.5fを指定した場合、原音波形の振幅を半分にしたデータと同じ音量(-6dB)で 音声が出力されます。
0.0fを指定した場合、音声はミュートされます(無音になります)。
レベルのデフォルト値はCRI Atom Craftで設定した値です。
static void SetBusSendLevel ( int  busId,
int  sendTo,
float  level 
)
inlinestatic
非推奨:
削除予定の非推奨APIです。 CriAtomExAsr.SetBusSendLevel(string busName, string sendTo, float level)の使用を検討してください。
static void SetBusMatrix ( string  busName,
int  inputChannels,
int  outputChannels,
float[]  matrix 
)
inlinestatic

DSPバスのレベル行列の設定

引数
busNameDSPバス名
inputChannels入力チャンネル数
outputChannels出力チャンネル数
matrixレベル行列を1次元に表したレベル値の配列
説明:
DSPバスのレベル行列を設定します。
センドタイプがポストパンのセンド先に有効です。

レベルマトリックスは、音声データの各チャンネルの音声を、どのスピーカーから どの程度の音量で出力するかを指定するための仕組みです。
matrixは[input_channels * output_channels]の配列です。
入力チャンネルch_inから出力チャンネルch_outにセンドされるレベルは matrix[ch_in * output_channels + ch_out]にセットします。
レベル行列のデフォルト値は単位行列です。

レベル値には、0.0f〜1.0fの範囲で実数値を指定します。
レベル値は音声データの振幅に対する倍率です(単位はデシベルではありません)。
例えば、1.0fを指定した場合、原音はそのままのレベルで出力されます。
0.5fを指定した場合、原音波形の振幅を半分にしたデータと同じ音量(-6dB)で 音声が出力されます。
0.0fを指定した場合、音声はミュートされます(無音になります)。
static void SetBusMatrix ( int  busId,
int  inputChannels,
int  outputChannels,
float[]  matrix 
)
inlinestatic
非推奨:
削除予定の非推奨APIです。 CriAtomExAsr.SetBusMatrix(string busName, int inputChannels, int outputChannels, float[] matrix)の使用を検討してください。
static void SetEffectBypass ( string  busName,
string  effectName,
bool  bypass 
)
inlinestatic

DSPバスエフェクトのバイパス設定

引数
busNameバス名
effectNameエフェクト名
bypassバイパス設定(True:バイパスを行う, False:バイパスを行わない)
説明:
エフェクトのバイパス設定を行います。
バイパス設定されたエフェクトは音声処理の際、スルーされるようになります。
エフェクトのバイパス設定をする際は、本関数呼び出し前にあらかじめ DSPバス設定をアタッチしている必要があります。
どのバスにどのエフェクトが存在するかは、アタッチしたDSPバス設定に依存します。
指定したバスに指定したIDのエフェクトが存在しない場合、関数は失敗します。
注意:
音声再生中にバイパス設定を行うとノイズが発生することがあります。
static void SetEffectParameter ( string  busName,
string  effectName,
uint  parameterIndex,
float  parameterValue 
)
inlinestatic

DSPバスエフェクト動作時パラメータの設定

引数
busNameバス名
effectNameエフェクト名
parameterIndexエフェクト動作時パラメータインデックス
parameterValueエフェクト動作時パラメータ設定値
説明:
DSPバスエフェクトの動作時パラメータを設定します。

どのバスにどのエフェクトが存在するかは、アタッチしたDSPバス設定に依存します。
指定したバスに指定したIDのエフェクトが存在しない場合、関数は失敗します。
static float GetEffectParameter ( string  busName,
string  effectName,
uint  parameterIndex 
)
inlinestatic

DSPバスエフェクト動作時パラメータの取得

引数
busNameバス名
effectNameエフェクト名
parameterIndexエフェクト動作時パラメータインデックス
説明:
DSPバスエフェクトの動作時パラメータ値を取得します。

どのバスにどのエフェクトが存在するかは、アタッチしたDSPバス設定に依存します。
指定したバスに指定したIDのエフェクトが存在しない場合、関数は失敗します。
static bool RegisterEffectInterface ( IntPtr  afx_interface)
inlinestatic

ユーザ定義エフェクトインターフェースの登録

引数
afx_interfaceユーザ定義エフェクトのバージョン情報付きインターフェース
戻り値
登録に成功したか?(True:登録に成功した, False:登録に失敗した)
説明:
ユーザ定義エフェクトインターフェースをASRに登録します。
ユーザ定義エフェクトインターフェースを登録したエフェクトはDSPバス設定をアタッチする際に使用できるようになります。
以下の条件に該当する場合は、ユーザ定義エフェクトインターフェースの登録に失敗し、エラーコールバックが返ります:
  • 同じエフェクト名を持つユーザ定義エフェクトインターフェースが既に登録されている
  • Atomが使用しているユーザ定義エフェクトインターフェースと異なる
  • ユーザ定義エフェクトインターフェースの登録数上限に達した
注意:
本APIはCRI ADX Audio Effect Plugin SDKでユーザ定義エフェクトを登録するときのみ使用可能です。
本関数を呼び出すタイミングは、必ず CriAtomPlugin::InitializeLibrary の呼び出しから CriAtomEx::AttachDspBusSetting の呼び出しまでの間にしてください。
一度登録を行ったインターフェースのポインタは、 CriAtomEx::DetachDspBusSetting が呼び出されるまで参照され続けます。
ライブラリ使用中にインターフェースの登録解除を行う場合は、 CriAtomExAsr::UnregisterEffectInterface を使用して下さい。
参照
CriAtomExAsr::UnregisterEffectInterface, CriAtomEx::AttachDspBusSetting, CriAtomEx::DetachDspBusSetting
static void UnregisterEffectInterface ( IntPtr  afx_interface)
inlinestatic

ユーザ定義エフェクトインターフェースの登録解除

引数
afx_interfaceユーザ定義エフェクトのバージョン情報付きインターフェース
説明:
ユーザ定義エフェクトインターフェースの登録を解除します。
登録を解除したエフェクトはDSPバス設定をアタッチする際に使用できなくなります。
登録処理を行っていないユーザ定義エフェクトインターフェースの登録を 解除することはできません(エラーコールバックが返ります)。
注意:
本APIはCRI ADX Audio Effect Plugin SDKでエフェクトの登録解除をするときのみ使用可能です。
参照
CriAtomExAsr::RegisterEffectInterface
static void GetBusVolume ( string  busName,
out float  volume 
)
inlinestatic

バスのボリュームの取得

引数
busNameバス名
volumeボリューム値
説明:
バスのボリュームを取得します。

ボリューム値は実数値で得られます。
ボリュームのデフォルト値はCRI Atom Craftで設定した値です。
static void EnableBinauralizer ( Boolean  enabled)
inlinestatic

バイノーライザーの有効化

引数
enabled有効フラグ
説明:
バイノーライザーの有効を指定します。
備考:
バイノーライザーは CriAtomEx.SoundRendererType が Spatial であるASRラックでのみ使用可能です。
バイノーライザーのスペシャライザーインタフェースが登録されている場合、登録したスペシャライザーを使用します。
登録されていない場合、Atom内蔵のスペシャライザーを使用します。

static bool IsEnabledBinauralizer ( )
inlinestatic

バイノーライザーの有効化状態の取得

戻り値
有効化状態
説明:
バイノーライザーの有効化状態を取得します。

static int GetPcmOutput ( int  outputChannels,
int  outputSamples,
float  buffer[][] 
)
inlinestatic

PCM出力の取得

引数
outputChannels取得するチャンネル数
outputSamples取得するPCMサンプル数
bufferPCMサンプル書き込み用バッファー
戻り値
取得したPCMサンプル数
説明:
Atomからの出力となるPCMサンプルを取得します。
注意:
本関数はEditor実行時専用です。
ユーザーPCM出力モードを有効にして初期化した場合にのみ動作します。
static int GetNumBufferedPcmOutputSamples ( )
inlinestatic

取得可能なPCM出力サンプル数の取得

戻り値
取得可能なPCM出力サンプル数
説明:
取得可能なAtomからの出力となるPCMサンプル数を取得します。
注意:
本関数はEditor実行時専用です。
ユーザーPCM出力モードを有効にして初期化した場合にのみ動作します。
static void SetPcmBufferSize ( int  numSamples)
inlinestatic

PCM出力サンプルのバッファーサイズの設定

引数
numSamplesPCM出力サンプルのバッファーサイズ
説明:
Atomからの出力となるPCMサンプルのバッファーサイズを設定します。
小さくすることで CriWare.CriAtomExAsr::GetPcmOutput で取得可能な出力の遅延が小さくなりますが、 呼び出しの頻度が十分でないと音途切れなどの問題が発生する場合があります。
注意:
本関数はEditor実行時専用です。
ユーザーPCM出力モードを有効にして初期化した場合にのみ動作します。
static void PauseOutputVoice ( bool  sw)
inlinestatic

すべての再生のポーズ/ポーズ解除

引数
swtrue=音声一時停止 false=音声再開
説明:
ADXライブラリ上のすべての再生をポーズ(一時停止)したり、ポーズを解除します。
ポーズするか、ポーズを解除するかは、引数のflagで指定します。

本関数は主に以下の用途に利用します。
  • ゲーム全体の音声の一時停止

このクラス詳解は次のファイルから抽出されました: