Azure 语音中的音频概念

语音服务接受并提供多种格式的音频数据。 使用本指南可了解有关音频概念的背景信息,包括采样、格式和编解码器。

音频采样

人类语音本质上是模拟信息,可以通过采样将其转换为数字信号来近似。 采样率是每秒采样的次数,位深度是衡量每个样本的准确性的度量值。

采样速率

更高的采样率更准确地重现更高的频率音频,如音乐。 人类通常可以听到 20 Hz 到 20 kHz 之间的声音,但最敏感的声音最多为 5 kHz。

采样率需要是音频的最高频率的两倍。 对于人类语音,16 kHz 采样率通常足够,但更高的采样率可以提供更高的质量(尽管文件较大)。 语音转文本和文本转语音的默认采样率为 16 kHz。 但是,对于 audiobook,建议使用 48 kHz。 某些源音频在 8 kHz 中,尤其是在来自旧式电信系统时,这会导致质量下降。

位深度

未压缩的音频样本由定义其准确性或分辨率的多个位表示。 对于人类语音的传输,需要 13 比特,该数值向上舍入为 16 比特的样本。 专业音频或音乐需要更高的位深度。 旧式电话系统通常采用 8 位格式并进行压缩,这样的方法并不理想于音质。

渠道

语音服务通常预期并提供单声道音频流。 立体声和多通道文件的行为特定于 API。 例如,语音转文本 REST API 拆分立体声文件,并为每个通道生成结果。 文本转语音仅是单声道的。

音频格式和编解码器

若要让语音服务使用音频输入,它需要知道它是如何编码的。 此外,由于音频文件可能相对较大,因此通常使用压缩来减小其大小。 可以按其容器格式和音频编解码器描述音频文件和流。 常见的容器是 WAV 或 MP4,常见的音频格式则是 PCM 或 MP3。

通常无法假定容器使用特定的音频格式。 例如,WAV 文件通常包含 PCM 数据,但其他音频格式是可能的。

未压缩的音频

语音服务在内部处理未压缩的音频,该音频使用脉冲代码调制(或 PCM)进行编码。 这种编码意味着每个样本都表示信号的振幅。 这种表示形式对于处理简单,但空间效率低,因此压缩通常用于传输音频。

有损压缩音频

有损算法可实现更大的压缩,从而生成更小的文件或减少带宽消耗。 此压缩在移动连接或繁忙网络上可能很重要。 常见的音频格式是 MP3,这是一个有损压缩的示例。 MP3 文件明显小于原始文件,听起来可能与原始文件几乎相同,但无法重新创建确切的源文件。 有损压缩的工作原理是移除部分音频或近似它。 使用丢失算法进行编码时,需要权衡带宽以获取准确性。

MP3 专为音乐而不是语音而设计。

AMR 和 AMR-WB 旨在有效地压缩手机的语音,它们不适用于表示音乐或噪音。

A-Law 和 Mu-Law 是旧算法,可以自行压缩每个样本。 它们使用对数量化技术将 16 位样本转换为 8 位。 使用这些算法仅支持旧系统。

无损压缩音频

使用无损压缩可以重新创建原始未压缩的文件。 压缩文件通常比原始文件小得多,而没有任何损失,但实际压缩取决于输入。 它通过使用多种方法从文件中删除冗余来实现压缩。

最常见的无损压缩是 FLAC。

后续步骤

使用语音 SDK 进行音频处理