AI Voice Platform - FreeSWITCH × ASR/TTS 解决方案
基于 FreeSWITCH + mod_audio_fork + sherpa-onnx 的本地化 VoIP × AI 语音解决方案;提供流式 ASR、HTTP TTS、ESL 业务编排、典型呼叫场景的完整白皮书与落地指南。

一句话定位

AI Voice Platform 是一套本地化、可商用、组件化的 FreeSWITCH × AI 语音方案——它把 ASR(语音识别)、TTS(语音合成)、业务编排接入 VoIP 这件以往非常痛的事情,简化成”装好 4 个服务,配一段 dialplan,立刻打通”的工程化产品。

解决一个问题:你想给 FreeSWITCH 接上一套真正可用、可控、低延迟、低成本的中文 AI 语音能力。

它解决什么问题

传统在 FreeSWITCH 上做 AI 语音的痛点大概是这些:

  • mod_unimrcp 协议复杂、调试困难、社区资源稀缺
  • 各家云 ASR/TTS 按调用计费,规模一起来成本失控,且数据要出网
  • 自己拼一套从音频桥接到识别合成的链路,要踩 RTP、媒体协商、流式协议、声纹采样率、并发管理一系列坑
  • 想做”AI 客服 / 智能 IVR / 智能外呼” 这类业务,缺一套可扩展的业务编排框架

本项目把以上痛点整体打包:

  1. **以 mod_audio_fork 替换 mod_unimrcp**——用一个简单的 WebSocket 把 FreeSWITCH 的实时音频拉出来;
  2. 以 sherpa-onnx 为推理底座——CPU 即可跑得动的开源流式 ASR + 离线 TTS + VAD;
  3. 把 ASR 和 TTS 各包成一个小服务——HTTP / WebSocket 协议,FreeSWITCH 和业务侧都好接;
  4. 再上一层 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-onnxASR 服务TTS 服务
VoIP 工程师 mod_audio_fork配置参考FAQ

技术栈一览

1
2
3
4
5
6
7
8
9
10
11
┌──────────────────────────────────────────────────────────────┐
│ 业务层 │ callflow-esl (Bun + TypeScript, ESL + HTTP) │
├──────────────────────────────────────────────────────────────┤
│ 接入层 │ mod_audio_fork (FreeSWITCH 模块, WebSocket) │
├──────────────────────────────────────────────────────────────┤
│ 能力层 │ ASR Server (WebSocket) TTS Server (HTTP) │
├──────────────────────────────────────────────────────────────┤
│ 推理层 │ sherpa-onnx + ONNX Runtime (CPU) │
├──────────────────────────────────────────────────────────────┤
│ 模型层 │ Zipformer (ASR) │ VITS (TTS) │ Silero (VAD) │
└──────────────────────────────────────────────────────────────┘

底座组件均为开源:

  • 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
2
3
4
5
6
7
8
ai-voice-platform/
├── callflow-esl/ # Bun + TS outbound ESL 业务服务
├── sherpa-asr-online-server/ # C++ WebSocket 流式 ASR 服务
├── sherpa-tts-server/ # C++ HTTP TTS 服务
├── sherpa-demo/ # sherpa-onnx 最小验证 demo(ASR/TTS/VAD)
├── sherpa-onnx/ # sherpa-onnx 预编译产物(依赖)
├── models/ # 模型与测试音频(运行时资产)
└── AGENTS.md # 项目工程规范

文档导航

所有 ASR / TTS / 业务编排全部本地化跑通,下一步就是把它接到你的业务里。