音频 PCM 格式 - raw data

文章目录

  • [raw 音频格式:PCM](#raw 音频格式:PCM)
  • 其他音频格式:mp3
    • [1. 无损压缩音频(类比 PNG 图像)](#1. 无损压缩音频(类比 PNG 图像))
    • [2. 有损压缩音频(类比 JPEG 图像)](#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(接近无损)。

相关推荐
FancySuMMer112 小时前
关于av_get_channel_layout_nb_channels函数
qt·ffmpeg
weixin_404370292 小时前
ffmpeg的AVOption用法
ffmpeg
XuanRanDev4 小时前
【音视频处理】FFmpeg for Windows 安装教程
windows·ffmpeg·音视频
daqinzl4 小时前
Qt调用ffmpeg库录屏并进行UDP组播推流
qt·ffmpeg·udp组播 推流
daqinzl4 小时前
Qt调用FFmpeg库实时播放UDP组播视频流
qt·ffmpeg·udp组播流
程序猿玖月柒7 小时前
常见的多媒体框架(FFmpeg GStreamer DirectShow AVFoundation OpenMax)
ffmpeg·音视频·gstreamer·openmax·directshow·avfoundation
Leon_Chenl10 小时前
FFmpeg 头文件完美翻译之 libavcodec 模块
ffmpeg·音视频·c·视频编解码·libavcodec
yerennuo1 天前
FFmpeg音视频采集
ffmpeg·音视频
我真不会起名字啊2 天前
“深入浅出”系列之音视频开发:(4)FFmpeg库
ffmpeg·音视频
daqinzl2 天前
VS环境下调用ffmpeg库
ffmpeg·visual studio