“CRI ADX2 Tools”初次使用者须知

CRI ADX2的基础知识

CRI ADX2的作用

CRI ADX2通过ADX2运行时库,在游戏机、智能手机等真机上播放“CRI Atom Craft”等专用工具输出的数据文件。

cri_adx2_primer_tool_runtime_flow.png

将Pro Tools和Sound Forge等音频编辑工具创建的音频文件注册到ADX2专用工具中,通过调整播放时间、播放参数及编码(压缩)等来创建数据文件。运行库对工具输出的数据文件(多个压缩的音频数据)实时解码,在真机上播放。

“Cue”的音频设计

以音频文件为基础的程序指定“文件名”播放音频,而CRI ADX2则指定“Cue (信号)”播放。最简单的使用方法是将音频文件拖放到CRI Atom Craft,自动创建与文件名同名的“Cue”,播放时指定的是“Cue名”而不是“音频文件名”。

cri_adx2_primer_cue_packing.png

程序员可以按照以下方式设置“Cue”并播放。

criAtomExPlayer_SetCueName(player, acb, '爆炸');
criAtomExPlyaer_Start(player);

声音设计师将在应用程序内播放的音频定义为“Cue ”传递给程序员。“Cue ”的意思是“信号”,不只是“播放音频文件”,还可以将“停止音频”和“降低音量”等声音控制定义为“Cue (信号)”。例如,导弹爆炸的效果音可以用一个Cue实现击中目标时“停止导弹的飞行音后播放爆炸音”。可以用“Cue”这种抽象化的形式进行声音设计,能够根据应用程序的事件,实现灵活高级的音频设计。

cri_adx2_primer_missile.png


播放音频的机制

首先,应用程序创建Player。然后,对于Player设置“Cue ”执行启动函数后播放音频。此时运行时库的内部操作如下。

  1. Player创建Sequencer
  2. Sequencer按照Cue 指定的序列数据播放音频。
    序列数据是在时间轴(音轨)上配置了播放开始及参数更改等音频控制指示的数据。
  3. Sequencer到达播放音频的时机后,从Voice池获取Voice,指示开始播放音频数据。
    Voice是播放1个波形数据的机制,Voice池是动态管理发声的机制。
  4. Voice解码被压缩的音频数据,输出到DSP总线
    DSP总线是执行音频信号处理的装置,类似于音频混音器,具有多个总线(Bus)间的路由功能。
  5. DSP总线进行混响和压缩器等效果处理,从真机输出音频。
cri_adx2_primer_concept.png


什么是Player?

应用程序通过“Player”控制音频。播放音频时,应用程序首先创建Player,指定Cue并播放。可以通过API(函数)从程序停止Player播放或更改音量等参数。可以根据目的/角色等不同的用途创建“Player”。例如,可以创建音乐用Player、环境音用Player、角色A用Player、角色B用Player等。
此外,对单一Player发出多次播放指示时,会同时播放多个音频。例如,依次播放枪声和脚步声等效果音,效果音会重叠播放,实现自然的音频效果。

cri_adx2_primer_player.png


什么是Cue?

Cue是用于控制CRI ADX2运行时库的“信号”。
应用程序在Player设置Cue,执行启动函数后,
根据Cue保存的序列数据执行音频控制。
因此,

“Cue”=“序列数据”的标识符


将音频文件拖放到Cue Sheet后,创建用于播放其音频数据的 Cue
该Cue就是最简单的序列数据。

cri_adx2_primer_cue.png


什么是Sequencer?

Sequencer是“顺序执行步骤的机制”。例如,可以执行“先播放音乐,4秒后降低音乐的音量,5秒后播放台词”的步骤。这样的步骤称为“序列数据”。在Player设置 Cue ,执行启动函数后,将创建Sequencer。Sequencer可在读取Cue拥有的序列数据的同时,在适当的时机执行音频控制。Sequencer执行方式与程序代码类似,可以实现循环和条件分支等高级音频效果。

cri_adx2_primer_sequencer.png


什么是序列数据?

序列数据是用于控制Sequencer的数据。可以沿时间轴执行音频控制。
例如,
     “播放枪声200毫秒后播放弹壳掉落的音频”
     “导弹的飞行音频在2秒内逐渐减弱,然后播放爆炸声”
等等可以按照时间序列执行音频控制。
播放音频时,序列数据中包含以下信息。

 (1)播放开始时间
 (2)播放参数
 (3)波形数据ID

可以通过更改播放参数来更改同一波形数据的音量、音高或声像位置进行播放,因此用较少的数据即可播放各种音频。

与市售的音频工具(DAW)类似,序列数据包含多个音轨。可以在每个音轨配置音频数据和Action等。也可以通过配置“Action”控制音频,例如停止播放和更改播放参数等。还可以在每个音轨设置播放参数,调节音量和音高。

cri_adx2_primer_sequence.png


什么是Voice?

Voice是播放1个波形数据的机制。Voice的意思是“声音”,此用语源于人同时只能发出一种嗓音。CRI ADX2的Voice具有实时展开压缩音频数据的机制以及从文件和网络执行串流播放的机制。此外,通过设置播放参数,还可以更改音量、音高、声像位置(Panning),执行滤波处理等。播放过Voice的波形数据被发送到DSP总线,可以分别指定发送到各总线的量(发送量)。普通的音频系统中,音频是单声道声源,但CRI ADX2的Voice可以处理多声道声源。

cri_adx2_primer_voice.png


什么是Voice池?

Voice池是存储Voice的地方。Sequencer在有音频播放的指示时,从Voice池中取出一个Voice,指定播放参数和音频数据并播放。播放结束后,Voice返回Voice池。这样,根据情况动态管理Voice的功能被称为“动态Voice分配(动态发声管理)”。该机制可以有效地播放多个音频。

cri_adx2_primer_voice_pool.png


什么是DSP总线?

DSP总线接收从Voice输出的音频信号并执行效果处理。CRI ADX2可以通过多条总线执行灵活的效果处理。例如,效果音用总线接收的信号执行“过滤处理”,发送到主总线和环境用总线,环境音频总线接收的信号执行“混响处理”并发送到主总线,最后在主总线进行混音,从真机输出。将设置信号处理的路径的操作称为“路由”。
Bus最初的意思是“公共汽车”,由于可以一次处理右频道和左频道等多个信号,因此使用“Bus”这一名称。 ADX2总线可处理多达8个频道的信号。

cri_adx2_primer_dsp_bus.png