CriAtomAsrについて

CriAtomAsr は ASR(Atom Sound Renderer)にアクセスするためのAPIです。
ASR(Atom Sound Renderer)はソフトウェア実装のサウンドレンダラモジュールです。
ハードウェアによるサウンド処理機能を持たないプラットフォームで主に使用されます。
マルチチャンネルミキシング、リサンプリング、フィルタ、エンベロープ、
バスセンドルーティング、リバーブやエコーといったDSPエフェクト等の機能を有し、
柔軟で強力なサウンドレンダリングを実現します。
ASRは以下のサブモジュールを持っています。

ASRボイス

デコーダーから受け取ったPCMデータに対し、ボイスの信号処理を行った後ASRバスへの出力を行うモジュールです。
ボイスプールで確保されるボイスの内部モジュールです。
モジュール機能

使用方法

CriAtomExVoicePoolHnCriAtomPlayerHn を作成する際、コンフィグの sound_renderer_type に CRIATOM_SOUND_RENDERER_ASR を指定することで内部でASRボイスが作成されます。
API

ASRボイスに直接アクセスするためのAPIは存在しません。
基本的には CriAtomExPlayer APICriAtomExPlayback API を経由して行います。

ASRバス

複数のASRボイスやASRバスから音声信号を入力しサブミックスを行います。
その後、そのサブミックスの結果に対しDSPエフェクト処理を実行します。
最後にチャンネルストリップとバスセンドルーターに従い、他のバスへ音声信号を出力します。
モジュール機能

使用方法

criAtomEx_AttachDspBusSetting を呼ぶことでまとめて作成されます。
→ criatom_tools_atomcraft_dsp_bus_setting_v2015
API

ASRバスにアクセスするためのAPIは以下の通りです。
criAtomExAsr_SetBusVolume ASRバスのボリュームの設定
criAtomExAsr_SetBusMatrix ASRバスのレベル行列の設定
criAtomExAsr_SetBusSendLevel ASRバスのセンドレベルの設定

DSPエフェクト

サウンドに対して様々なエフェクトを掛けることができるモジュールです。
ASRバスに8個まで取り付けることができます。
ASRが使用できるDSPエフェクトは以下の通りです。

使用方法

criAtomEx_AttachDspBusSetting を呼ぶことでまとめて作成されます。
→ criatom_tools_atomcraft_dsp_bus_setting_v2015
API

DSPエフェクトにアクセスするためのAPIは以下の通りです。
criAtomExAsr_SetDspParameter DSPパラメーター設定
criAtomExAsr_SetDspBypass DSPバイパス設定

ASRラック

ASRバスを複数(最大64個まで)保持することができるモジュールです。
0番バスの結果をプラットフォームのオーディオポート、もしくは別のASRラックへ出力します。
使用方法

criAtomExAsrRack_Create を使って作成します。
API

DSPエフェクトにアクセスするためのAPIは以下の通りです。
criAtomExAsrRack_Create ASRラック作成
criAtomExAsrRack_Destroy ASRラック破棄
criAtomExAsrRack_SetBusVolume ASRラック内のバスのボリュームの設定
criAtomExAsrRack_SetBusMatrix ASRラック内のバスのレベル行列の設定
criAtomExAsrRack_SetBusSendLevel ASRラック内のバスのバスセンドの設定
criAtomExAsrRack_SetDspParameter ASRラック内のDSPバイパス設定
criAtomExAsrRack_SetDspBypass ASRラック内のDSPパラメーター設定

補足

ASRを初期化するとデフォルトラックとして1つ作成されます。
criAtomExAsr_SetBusVolume(0, 1.0f); と
criAtomExAsrRack_SetBusVolume(CRIATOMEXASR_RACK_DEFAULT_ID, 0, 1.0f);
は同じ処理になります。
Next:CRI File System

CRI Middleware logo Copyright (c) 2006-2018 CRI Middleware Co., Ltd.