跳转到内容

音频

音频

32位浮点,非交错格式

所有与 Premiere 相关的音频调用都使用 32 位浮点缓冲区数组来传递音频。音频不是交错的,而是将不同的通道存储在单独的缓冲区中。因此,立体声音频的结构如下所示:

float* audio[2];

其中 audio[0] 是一个长度为 N 个样本的缓冲区的地址,audio[1] 是第二个长度为 N 个样本的缓冲区的地址。audio[0] 包含左声道,audio[1] 包含右声道。N 是缓冲区中的样本帧数。

由于 Premiere 使用 32 位浮点数表示每个音频样本,因此它可以表示高于 0 dB 的值。0 dB 对应于浮点数中的 +/- 1.0。可以通过将浮点样本乘以 32767.0 并将结果转换为短整型来将其转换为 16 位短整型。

例如:

sample16bit[n] = (short int) (sample32bit[n] * 32767.0)

当读取使用不同格式的文件时,插件负责与 32 位非交错格式之间进行转换。Audio Suite 中有用于格式之间转换的调用。为了在整数 <-> 浮点数转换中保持对称性,我们建议您使用提供的实用函数。


音频样本类型

由于 32 位浮点数是唯一传递的音频格式,因此没有样本类型或位深度的选项。然而,文件格式确实使用各种样本类型和位深度,因此 AudioSampleTypes 定义了多种可能的格式。

这些格式用于设置传递给 Premiere 的结构中的成员,以定义用户界面,并且不会影响传递给和从 Premiere 传递的音频格式。

PrAudioSampleType描述
kPrAudioSampleType_8BitInt8位整数
kPrAudioSampleType_8BitTwosInt8位整数,补码表示
kPrAudioSampleType_16BitInt16位整数
kPrAudioSampleType_24BitInt24位整数
kPrAudioSampleType_32BitInt32位整数
kPrAudioSampleType_32BitFloat32位浮点数
kPrAudioSampleType_64BitFloat64位浮点数
kPrAudioSampleType_16BitIntBigEndian16位整数,大端序
kPrAudioSampleType_24BitIntBigEndian24位整数,大端序
kPrAudioSampleType_32BitIntBigEndian32位整数,大端序
kPrAudioSampleType_32BitFloatBigEndian32位浮点数,大端序
kPrAudioSampleType_Compressed任何非PCM格式
kPrAudioSampleType_Packed任何混合样本类型的PCM格式
kPrAudioSampleType_Other不在此列表中的样本类型
kPrAudioSampleType_Any任何可用的样本类型(用于导出器)

音频样本帧

样本帧是音频的测量单位。一个音频样本帧描述了音频的一个样本的所有通道。每个样本是一个 32 位浮点数。因此,一个音频样本帧的存储需求(以字节为单位)等于 4 * 通道数


音频采样率

PrAudioSample 是一个 prInt64


音频通道类型

Premiere 目前支持四种不同的音频通道类型:单声道、立体声、5.1 和最大通道。

大于 5.1 的通道支持最初在 Premiere Pro 4.0.1 中添加,部分支持 16 通道主音频轨道,仅用于导入 OMF 和输出到硬件。

在 CS6 中,添加了 16 通道音频导出。

从 CC 开始,音频通道支持增加到 32 通道。

PrAudioChannelType描述
kPrAudioChannelType_Mono单声道
kPrAudioChannelType_Stereo立体声。立体声通道的顺序为:
- kPrAudioChannelLabel_FrontLeft
- kPrAudioChannelLabel_FrontRight
kPrAudioChannelType_515.1 音频。
5.1 通道的顺序为:
- kPrAudioChannelLabel_FrontLeft
- kPrAudioChannelLabel_FrontRight
- kPrAudioChannelLabel_BackLeft
- kPrAudioChannelLabel_BackRight
- kPrAudioChannelLabel_FrontCenter
- kPrAudioChannelLabel_LowFrequency
- kPrAudioChannelLabel_BackLeft
- kPrAudioChannelLabel_BackRight
kPrAudioChannelType_MaxChannelCC 新增。
kMaxAudioChannelCount,在 CC 中定义为 32 通道。
所有通道使用 kPrAudioChannelLabel_Discrete