CRIWARE Unity Plugin Manual  Last Updated: 2024-04-24
CriAtomExVoicePool.PlayerConfig 構造体

ボイス駆動動作仕様コンフィグ構造体 [詳解]

公開変数類

int maxChannels
 最大出力チャンネル数 [詳解]
 
int maxSamplingRate
 最大サンプリングレート [詳解]
 
bool streamingFlag
 ストリーミング再生を行うかどうか [詳解]
 
int soundRendererType
 サウンドレンダラタイプ [詳解]
 
int decodeLatency
 デコード処理のレイテンシ [詳解]
 

詳解

ボイス駆動動作仕様コンフィグ構造体

説明:
ボイスの駆動動作仕様を指定するための構造体です。
本構造体で指定された設定に応じて、アンマネージメモリを必要なだけ確保します。

メンバ詳解

int maxChannels

最大出力チャンネル数

説明:
ボイスの駆動動作仕様を指定するための構造体です。
本構造体で指定された設定に応じて、リソースを必要なだけ確保します。
本項目で指定したチャンネル数"以下の"音声データを再生可能です。
注意:
指定された最大出力チャンネル数を超えるデータは、再生することはできません。
例えば最大出力チャンネル数を1に設定した場合、ステレオ音声を再生することはできません。
(モノラルにダウンミックスされて出力されることはありません。)
int maxSamplingRate

最大サンプリングレート

説明:
再生する音声のサンプリングレートを指定します。
本項目で指定したサンプリングレート"以下の"音声データを再生可能です。
通常、作成するボイスプールで再生予定のキューに含まれるマテリアルの最大サンプリングレートを指定します。
備考:
最大サンプリングレートを下げることで、必要となるアンマネージメモリのサイズを抑えることが可能です。
ただしピッチ変化を行う場合は、ピッチの最大変化分の最大サンプリングレートを指定します。
タイムストレッチ機能を使用する場合は最大サンプリングレートをx2倍に増やす必要があります。
注意:
指定された最大サンプリングレートを超えるデータは、再生することはできません。
例えば最大サンプリングレートを24000に設定した場合、48000Hzの音声を再生することはできません。
(ダウンサンプリングされて出力されることはありません。)
bool streamingFlag

ストリーミング再生を行うかどうか

説明:
false を指定した場合、メモリ再生ができるボイスプールが作成されます。
true を指定した場合、メモリ再生に加えてストリーミング再生ができるボイスプールが作成されます。
備考:
trueにした場合、作成時にファイル読み込み用のリソースが確保されます。
そのため、falseの場合に比べ、作成に必要なアンマネージメモリサイズが大きくなります。
int soundRendererType

サウンドレンダラタイプ

説明:
使用するサウンドレンダラの種別を指定します。
CriAtomEx.SoundRendererType.Default を指定した場合、 音声データはデフォルト設定のサウンドレンダラに転送されます。
CriAtomEx.SoundRendererType.Native を指定した場合、 音声データは各プラットフォームのサウンド出力に転送されます。
CriAtomEx.SoundRendererType.Asr を指定した場合、 音声データはASR(Atom Sound Renderer)に転送されます。
(ASRの出力先は、ASR初期化時に別途指定。)
int decodeLatency

デコード処理のレイテンシ

説明:
デコード処理のレイテンシを指定します。
0 に設定した場合、音声再生開始時に音声データのデコードを可能な限り遅延なく行います。
(オンメモリ再生時は最初のサーバー処理内で再生開始に必要な量のデータをデコードし、音声の出力を開始します。)
これに対し 1 以上に設定した場合、再生開始に必要なデータのデコードを、複数回のサーバー処理に分割して行います。
(オンメモリ再生時であっても指定した回数サーバー処理が動作するまでは音声の出力が開始されません。)
備考:
サウンドバッファー内のデータ残量を元に、サーバー処理当たりの音声データのデコード量を決定しています。
音声再生開始前はサウンドバッファーが空の状態のため、
音声再生中に比べて多くのデータ(再生中の 2 ~ 4 倍程度)がデコードされます。
プレーヤー当たりの音声データのデコード処理負荷は小さいため、
一音一音の発音開始時の処理負荷が問題になることはほとんどありません。
しかし、アプリケーション中で 1V に大量の発音リクエストを同時に発行した場合、 全てのプレーヤーの処理負荷のピークが同期し、負荷が目に見えて大きくなる場合があります。
こういった制御を行うケースでは、本値を増やすことで、
局所的に処理負荷が高くなる症状を回避することが可能です。

デフォルト値は、ほとんどの環境で 0 に設定されています。
しかし、携帯ゲーム機等、わずかな負荷変動でもアプリケーションに大きな影響を及ぼす環境では、 デフォルト値が 1 以上に設定されている可能性があります。
(実際にセットされる値については構造体をデフォルト値で取得し確認してください)

現状 4 以上の値を指定することはできません。
(4 以上の値を指定した場合でも、ライブラリ内で 3 に変更されます。)

この構造体詳解は次のファイルから抽出されました: