一句话定位
AI Voice Platform 是一套本地化、可商用、组件化的 FreeSWITCH × AI 语音方案——它把 ASR(语音识别)、TTS(语音合成)、业务编排接入 VoIP 这件以往非常痛的事情,简化成”装好 4 个服务,配一段 dialplan,立刻打通”的工程化产品。
解决一个问题:你想给 FreeSWITCH 接上一套真正可用、可控、低延迟、低成本的中文 AI 语音能力。
它解决什么问题
传统在 FreeSWITCH 上做 AI 语音的痛点大概是这些:
- mod_unimrcp 协议复杂、调试困难、社区资源稀缺
- 各家云 ASR/TTS 按调用计费,规模一起来成本失控,且数据要出网
- 自己拼一套从音频桥接到识别合成的链路,要踩 RTP、媒体协商、流式协议、声纹采样率、并发管理一系列坑
- 想做”AI 客服 / 智能 IVR / 智能外呼” 这类业务,缺一套可扩展的业务编排框架
本项目把以上痛点整体打包:
- **以
mod_audio_fork替换mod_unimrcp**——用一个简单的 WebSocket 把 FreeSWITCH 的实时音频拉出来; - 以 sherpa-onnx 为推理底座——CPU 即可跑得动的开源流式 ASR + 离线 TTS + VAD;
- 把 ASR 和 TTS 各包成一个小服务——HTTP / WebSocket 协议,FreeSWITCH 和业务侧都好接;
- 再上一层 ESL 业务编排服务 callflow-esl——业务函数一文件一业务,CallContext 拿来即用,呼入 / 呼出 / 转接 / 会议 / 录音全覆盖。
核心价值
1. 全本地化部署。 模型、推理、合成、编排全部跑在你自己的机房;不依赖任何云厂商,数据 100% 留内网。
2. 低延迟流式识别。 基于 sherpa-onnx 流式 zipformer + silero-vad,partial 识别毫秒级返回;用户可”边说边出字”,配合 barge-in 可打断。
3. 工程级业务编排。 callflow-esl 把 FreeSWITCH 的 ESL 协议封装成一组人话 API(speak / hear / originate / bridge / conference / DTMF / record),新增一个业务平均只要写 50 行 TypeScript。
4. 开箱即用的典型场景。 仓库内置 11 个 demo 业务、17 个场景实现样板(IVR 菜单、智能外呼、回铃运营商提示音识别、会议级 ASR、AI 客服等),照抄即可。
5. 自由替换组件。 mod_audio_fork 是标准 WebSocket 子协议,你可以把 ASR/TTS 换成任何兼容方案;业务编排服务也可以替换为你自家的 IVR 平台。
谁该看这份文档
| 角色 | 建议读 |
|---|---|
| 决策者 / 解决方案架构师 | 项目简介(本页)、系统架构 |
| 运维 / SRE | 快速开始、部署、配置参考 |
| 业务开发 | callflow-esl、业务开发指南、典型场景 |
| AI / 算法工程师 | sherpa-onnx、ASR 服务、TTS 服务 |
| VoIP 工程师 | mod_audio_fork、配置参考、FAQ |
技术栈一览
1 | ┌──────────────────────────────────────────────────────────────┐ |
底座组件均为开源:
- FreeSWITCH 1.10.x — 软交换/媒体网关
- mod_audio_fork — 媒体桥接模块(基于 Wangijun/mod_audio_fork,fork 自 W1ck3dZA)
- sherpa-onnx — Next-gen Kaldi 团队的 ONNX 推理库
- Bun 1.x + TypeScript — ESL 业务服务运行时
- MySQL — 业务路由与号码映射存储
项目仓库结构
1 | ai-voice-platform/ |
文档导航
- 项目概览:你在这里 → 系统架构
- 核心组件:mod_audio_fork · callflow-esl · sherpa-onnx · ASR 服务 · TTS 服务
- 快速开始:5 分钟拉起服务 · 部署拓扑
- 应用开发:业务开发指南 · 17 个典型场景
- 参考资料:配置项汇总 · FAQ · 路线图
所有 ASR / TTS / 业务编排全部本地化跑通,下一步就是把它接到你的业务里。