一、语音通道(声道 Channel)

定义

同一时刻同时采集几路语音信号

  • 单声道 Mono:1 路麦克风,语音 AI、嵌入式、机器人默认只用这个
  • 立体声 Stereo:2 路左右声道,听歌用,语音识别不用
  • 多通道阵列:4 麦 / 6 麦 / 8 麦阵列(PDM/TDM),用于声源定位、降噪、远场唤醒

工程约定:做人机语音、离线识别、传感器采集 → 固定 单声道 1 通道


二、PCM 编码(语音原始编码方式)

是什么

麦克风模拟声波 → ADC 采样 → 量化成数字采样点,这种编码就是 PCMPCM 是所有语音的底层原始编码

PCM 四大关键参数(绑定死)

  1. 采样率:8000Hz / 16000Hz(人声标准)
  2. 位深:16bit(每个采样点占 2 字节)
  3. 通道:单声道 1 通道
  4. 字节序:小端序(ARM 树莓派 / RK3568/3588 都是)

PCM 数据长什么样

纯二进制裸流,无表头、无任何描述信息连续排列:采样点1(2B) 采样点2(2B) 采样点3(2B)...

特点

  • 无压缩、原始无损
  • 体积固定、计算简单
  • 必须外部记住参数,否则无法解析

三、语音数据传输格式(线路 / 接口上怎么传)

开发板和麦克风之间、板内芯片之间用什么协议传 PCM 语音。

1. 模拟传输

电压波形直接传,易干扰,只适合简单板载麦。

2. 数字传输格式(主流)

  • I2S:传立体声 / 高保真 PCM,收发分离,适合 Codec、喇叭 + 录音
  • PDM:单线时钟 + 数据,一串可挂多麦,专用麦克风阵列
  • PCM (串行 PCM):窄带语音、对讲机、低带宽传输
  • TDM:时分复用,一条线传 8~16 路多通道麦阵列
  • USB 音频:封装好的 PCM 流式传输,即插即用

一句话:传输格式 = 物理接口协议,负责把 PCM 数据从麦克风送到主控芯片


四、语音数据存储格式(存到文件 / Flash 怎么放)

分两类:裸流存储封装存储

1. 裸流存储(无压缩、无文件头)

  • 格式:PCM / RAW
  • 后缀:.pcm .raw .bin
  • 内容:直接存原始 PCM 二进制
  • 用途:嵌入式缓存、AI 模型输入、中间数据流、低开销存储
  • 缺点:不自带采样率 / 通道信息,程序里要硬编码约定

2. 封装存储(带文件头,自带参数)

  • WAV:无损封装,头信息 + PCM 数据,通用可直接播放
  • FLAC:无损压缩
  • OPUS/AMR:语音专用有损压缩,体积小适合网络 / 闪存
  • MP3/AAC:音乐压缩,不适合 AI 语音原始数据

五、WAV 文件本质拆解

公式

WAV 文件 = WAV 文件头 (44 字节) + PCM 原始裸数据

  • 头部:记录采样率、位深、通道、时长等参数
  • 后面主体:就是纯 16k/16bit / 单声道 PCM

特点

  • 有头信息,不用人工记参数
  • 无压缩、无损
  • 电脑、播放器、Python 都能直接打开
  • 开发调试、语音数据集首选 WAV

操作小技巧

把 WAV 前 44 字节删掉,剩下的就是标准 PCM 裸流;给 PCM 加上标准 44 字节头,就能变成 WAV 直接播放。


六、整条语音全链路串起来

麦克风 →语音通道 (1 通道单麦)传输格式 (I2S/PDM/USB) →ADC 采样生成 PCM 编码 →程序可存为:

  • 裸存储:.pcm/.raw
  • 封装存储:.wav/.opus/.amr

七、工程选型总结(树莓派 4B/5、RK3568/RK3588)

  1. 语音通道:固定 单声道 1 通道
  2. 编码:16k 16bit 单声道 PCM
  3. 传输:近场 I2S、多麦阵列 PDM、省事用 USB
  4. 中间处理 / 算法输入:存 PCM 裸流
  5. 调试 / 给人播放 / 归档:存 WAV
  6. 网络传输 / 省空间:转 OPUS
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐