文章目录
- raw 音频格式:PCM
- 其他音频格式:mp3
- 1. 无损压缩音频(类比 PNG 图像)
- 2. 有损压缩音频(类比 JPEG 图像)
试了一下科大讯飞的音频识别云 api,踩了点坑
与本文无关:讯飞的 api 使用 wss,按文件字节顺序分 chunk 上传音频文件,并且应该是在上传结束前开始处理,返回结果。sdk 里面的 frame 不是视频的帧,是 http 的 chunksz。理论上可以是任意整数
raw 音频格式:PCM
原始音频格式(如 PCM) 就是音频的“原始样子”,它可以类比为没有压缩过的图像:
- 音频的每一“点”是一个采样点(类似图像的像素)。Channel
- 音频的“维度”由 采样率、位深 和 声道数 决定。Nsize
如果我们用矩阵形式表示:
音频数据可以看作 N × C N \times C N×C 的二维矩阵:
- N:表示时间上的采样点数量:采样率(采样次数16kHz) x 采样深度(16bit per sample) = 256kbps
- C:表示声道数(单声道 1,立体声 2,类似图像的 RGB 通道)。
所以对于单通道音频,看作从数列切片,read_byte(256kbit) 就是一秒。但是 pcm 没有头文件,采样率,深度需要在外面约定好。
例:如果音频是 44,100 Hz 的采样率,单声道,16 位位深,1 秒的数据大小就是 44100×1×244100 \times 1 \times 244100×1×2 字节(约 88 KB)。
PCM 音频格式 = 无压缩的音频信号,类似于没有压缩的 BMP 图像格式。
其他音频格式:mp3
正如图像会有压缩格式(如 PNG、JPEG),音频格式也有多种压缩方法,主要分为两大类:无损压缩 和 有损压缩。
1. 无损压缩音频(类比 PNG 图像)
无损压缩的音频格式可以保存音频的完整细节,但体积会比原始 PCM 格式小一些。
常见格式:
- FLAC(Free Lossless Audio Codec)
- ALAC(Apple Lossless Audio Codec)
- WAV(有时包含无损压缩)
特点: 无任何信息丢失,解压后可以还原为 PCM 原始数据。
一段 1 分钟的 44,100 Hz 立体声音频,用 PCM 格式大约是 10 MB,但用 FLAC 压缩后可能只有 5~7 MB。
2. 有损压缩音频(类比 JPEG 图像)
有损压缩会丢弃人耳不敏感的音频信息,从而显著减少文件大小,但可能会损失部分音质。
常见格式:
- MP3(MPEG Audio Layer III)
- AAC(Advanced Audio Coding,苹果和流媒体常用)
- OGG(开源格式,常用于游戏音频)
特点:类似 JPEG 图像,压缩后文件体积显著减小,但会丢失某些像素细节。
例子:
一段 1 分钟的 44,100 Hz 立体声音频,使用 MP3 编码(128 kbps)后可能只有 1 MB,但音质与原始音频接近。
文件大小对比:
比特率决定了压缩后的音频文件的大小和音质。常见比特率:
MP3:128 kbps(标准)/ 256 kbps(较高)/ 320 kbps(接近无损)。