音频 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(接近无损)。

相关推荐
浩瀚之水_csdn16 小时前
av_packet_alloc详解
ffmpeg
Echo_NGC22372 天前
【FFmpeg 使用指南】Part 3:码率控制策略与质量评估体系
人工智能·ffmpeg·视频·码率
xmRao2 天前
Qt+FFmpeg 实现 PCM 音频转 AAC 编码
qt·ffmpeg·pcm
xmRao2 天前
Qt+FFmpeg 实现录音程序(pcm转wav)
qt·ffmpeg
阿里巴啦3 天前
python+yt-dlp开源项目,支持 YouTube, Bilibili, TikTok/抖音,快手 等多个平台的视频/音频/字幕下载/ai摘要等功能
python·ffmpeg·whisper·音视频·视频处理·ai摘要·音视频转录
来鸟 鸣间4 天前
linux下ffmpeg源码编译
linux·运维·ffmpeg
Echo_NGC22374 天前
【FFmpeg使用指南】Part 2:滤镜图架构与信号处理
架构·ffmpeg·音视频·信号处理
Echo_NGC22374 天前
【FFmpeg使用指南】Part 1:核心架构与媒体流处理
ffmpeg·音视频·媒体·视频
ssxueyi4 天前
用 Claude Code 从零开发自己的Direct3D 硬件加速播放器
ffmpeg·ai编程·directx·视频播放器·从零开始·claude code·csdn征文活动
Yan_uuu4 天前
ubuntu18.04 安装 x264、ffmpeg、nv-codec-hearers 支持GPU硬件加速
c++·图像处理·ubuntu·ffmpeg