CRI ADX  Last Updated: 2024-03-21 14:32 p
CriAtomExVoicePoolについて
CriAtomExVoicePoolは、ボイスを管理するモジュールです。
再生する音声のプライオリティに応じて、発音数の制御を行います。
Atomライブラリは音声データのデコードや、音声の出力を"ボイス"で行います。
AtomExプレーヤを使用して音声を再生する場合、あらかじめ再生する音声データに対応したボイスを"ボイスプール"として作成しておく必要があります。

ボイスプールの作成

ボイスプールの作成は、再生する音声コーデックの種別に応じて、いくつかの関数が用意されています。
例えば、ADX再生用のボイスプールを作成する場合には criAtomExVoicePool_AllocateAdxVoicePool 関数を、HCA-MX再生用のボイスプールを作成する場合には criAtomExVoicePool_AllocateHcaMxVoicePool 関数を使用する必要があります。
ボイスプールを作成する際には、ボイスプールの仕様を指定するコンフィグ構造体と、ワークメモリを指定する必要があります。
具体的なボイスプールの作成方法については、チュートリアル で説明します。
[備考]
ボイスプール作成時のコンフィグ構造体は省略可能です。
(省略時はデフォルト設定でボイスプールが作成されます。)

ボイスプールの作成に成功すると、関数の戻り値として、ボイスプールハンドル( CriAtomExVoicePoolHn )が返されます。
ボイスプール内のボイス使用状況のチェックや、ボイスプールの解放は、このハンドルを使用して行います。
ボイスプールは、作成と同時に利用可能な状態となります。
ボイスプール作成後にAtomExプレーヤで音声を再生すると、作成されたボイスプール内のボイスを使って音声再生が行われます。
[注意]
AtomExプレーヤで再生する音声データのフォーマットと、ボイスプールのフォーマットとが異なる場合、再生は行えません。
また、再生する音声データのチャンネル数やサンプリングレートが、ボイスプールのチャンネル数やサンプリングレートよりも大きい場合も、再生は行えません。
ボイスプールを作成する際には、対象となる音声データを再生するのに充分なスペックをコンフィグ構造体で指定する必要がります。

ボイスプールの破棄

不要になったボイスプールについては、 criAtomExVoicePool_Free 関数で破棄することが可能です。
ボイスプールを破棄することで、ボイスプール作成時にセットしたワークメモリを他の用途に転用したり、メモリを解放することが可能になります。