语音与对话
设计语音中控与音频前端
建立采样率、声道、帧长和说话人处理契约。
先做什么
在加模型前先约定音频格式和角色。错误的声道映射、端序或时钟足以制造“识别不好”和“AI 无声”的假象。
理解这条链路
FreeSWITCH 音频角色与格式确认降噪或声纹处理VAD/ASR带时间戳的结果
建立可检查的音频契约
每个连接声明编码、采样率、位宽、端序、声道数、帧时长与时间戳单位。对于 PCM16、16kHz、单声道、20ms,字节数为 16000×0.02×2=640;这只是格式算例,不适用于压缩音频。接收方逐包检查长度与时序。
只在需要的地方加处理
先比较原音与降噪后的 ASR 实体错误,背景噪声少时模型可能弊大于利。说话人分离回答谁在何时说话,声纹验证回答与参考者是否相似;用户与 AI 已有可靠分轨时,不必再猜说话人角色。
按这个顺序操作
- 用双方依次说固定短句的受控通话验证声道映射。
- 记录每层重采样位置,确保同一段不会重复转码。
- 对原始与处理后音频做配对试听和识别,检查近端语音损伤。
- 为过短、断流、重复块、采样率变更和乱序定义原因码。
配套本地工具
以下工具位于 AI 学习工作区。先阅读对应说明,确认所需数据与依赖;本轮未重新运行这些实验。
- speech-gateway/CONTRACT.md
- speech-gateway-java/CONTRACT.md
可直接复用的记录模板
encoding=PCM_S16LE sample_rate=16000 channels=1 frame_ms=20 expected_frame_bytes=640 role=user(需实测确认) sequence / media_timestamp / received_at / processing_version
做到什么程度才算通过
- 帧长计算与实际字节一致。
- 原音和处理后音频可一一追溯。
- 降噪效果同时检查语音损伤。
- 声道角色经过受控通话确认。
当前证据的限制
尚未验证现网插件版本、真实声道角色和媒体格式;不同插件实现必须按所用版本核对。
本轮确认的事实与来源
以下为公开资料支持的具体结论;操作流程和验收建议属于工程推导。仓库说明或厂商效果表述不等于独立实测。
[1] mod_audio_stream · 项目说明
mod_audio_stream README 区分 mono、mixed 和 stereo:分别描述 caller 单声道、双方混音和双方双声道,并给出 8k/16k 采样选项;实际角色仍需现场对照验证。
资料日期:页面未统一标注;以复核日期为准 · 复核:2026-09-08
阅读原始来源 ↗[2] 3D-Speaker · 官方仓库
3D-Speaker 官方仓库提供说话人验证、识别和分离相关工具。声纹相似度不能直接作为业务身份认证结果。
资料日期:页面未统一标注;以复核日期为准 · 复核:2026-09-08
阅读原始来源 ↗这次更新了什么
将降噪模型参数榜改为格式契约与处理顺序;保留现有语音中控工具边界。
合并前的内容入口
以下旧地址仍可访问,并会带你来到本篇。完整重构前材料已留存本地备份。
- research-hub/media-center-voice-frontend.html