设备本地

音频不出端
L1

物理信号

音频采集、RMS 与 dBFS 音量度量

L2

声学门控

瞬时阈值过滤,只驱动界面指示

L3

语段判定

Silero VAD,端点检测驱动解码

L4

停止后处理

三段式声学过滤,剔除缓冲区残留

随包模型

Parakeet-TDT

英文语音识别

631 MB

Silero VAD

语段起止检测

632 KB

Matcha-Icefall

中英语音合成

118 MB
分段文本

云端

机器翻译

英中双向

账号鉴权

云函数

语音数据不离开设备,仅分段文本上行

英中实时同声传译Android

吾同传译 WuTong

在本地把语音跑成字幕,延迟控制在可用范围内

英中双向实时同声传译应用。界面只有耳机按钮、开始停止和两块文本区,其余全部在后台:语音识别与端到点检测在设备本地完成,翻译与语音合成走云端。面向会议、讲座、跨境沟通等需要连续听译的场景,对延迟、串音与异常恢复都做了专门处理。

这个系统证明我们能

  • 本地模型推理
  • 实时音频管线
  • 跨语言工程
  • 线程隔离架构

750 MB

端侧模型

4 架构

原生库打包

0

音频出端

技术实现

具体做了什么

01

把复杂度放在后台

界面刻意做薄:一个耳机模式开关、一个开始停止按钮、两块文本显示区。全部界面与控制器代码 2849 行,其中 1009 行是控制器,占三分之一。识别、合成、音频采集、状态机都在后面,用户不需要面对任何设置项。

02

三套端侧模型,音频不出设备

英文识别用 Parakeet-TDT,中英语音合成用 Matcha-Icefall,语段检测用 Silero VAD,三个模型随应用打包共约 750MB。推理走 ONNX Runtime,支持 arm64、armeabi-v7a、x86、x86_64 四种架构。首次运行即离线可用,弱网环境不降级。

03

四层音频状态机

把语音采集拆成物理信号、前端声学门控、VAD 语段判定、停止后处理四层,各层职责独立。瞬时音量只驱动界面指示,只有经过时长平滑的语段边界信号才触发识别,避免噪声抖动污染识别流程。

04

推理线程隔离

识别与语音合成各自运行在独立 isolate 线程,通过序列化协议与主界面通信。重推理不阻塞界面,在转写与合成同时进行时保持可响应。熄屏后可在通知栏继续运行与停止。

05

残留处理与异常恢复

针对停止识别后缓冲区残留导致的幽灵输出,实现三段式声学过滤逐级剔除低能量残块。识别器重建时跳过模型加载、直接复用已稳定的本地文件,只做推理会话初始化以避免重复冷启动。

技术栈

下面是这套系统实际使用的技术。同一套能力可以直接用于承接企业项目。

FlutterDart isolateSherpa-ONNXONNX RuntimeParakeet-TDTMatcha-IcefallSilero VAD腾讯云 MT/TTSRiverpod

关于这套系统的定位

我们是软件开发团队,自研系统主要用于验证工程能力,不是面向公众的商业化产品, 因此不会做推广运营。它的作用是让潜在客户看到—— 我们具备把一个想法完整做成系统的能力。如果你有需要落地的项目, 我们更愿意聊你的具体需求。

讨论你的项目

下一套系统

轻课记 CourseNote

AI 陪伴课业打卡