Files
ai-companion/p0/stt_tts_bench/results_tts_compare.json
ylhan 35e107c290 助手本体:会话引擎、LLM 路由、记忆、身份、语音适配
从 Obsidian 笔记库剥离为独立仓库。规划文档与 P0 报告留在笔记库,
代码(助手本体、TTS 服务、P0 基准脚本、ESP32 固件)在此。

架构:服务器是助手,本地是客户端
- 助手本体跑在 cadadmin-server,N5095 只做 USB 外设桥与网络桥接
- 起因:实测 N5095 无 AVX2,跑不动可用的语音模型

当前技术栈
- LLM:DeepSeek deepseek-flash(云端,必须关思考)
- TTS:Qwen3-TTS 1.7B(服务器 3090,独立 HTTP 服务)
- STT:Zipformer 中英双语 int8(CPU,中文识别率未测)

实测:端到端 16/16 通过,首音延迟 1545ms
(对比:本地 LLM + vits-zh-ll 是 179ms,但音色不满意——音质与延迟
在此硬件上此消彼长)

设计要点
- MemoryStore 接口按"可能远程"设计(全 async、可超时、可失败)
- user_id / session_id / track_id 三者分开,人脸只作候选不自动切身份
- 记忆查询强制带 owner_user_id,无按 id 单独取的口子
- 自动抽取的记忆是"候选",默认不参与检索
- 异步写记忆绑定创建时的身份,不读"当前用户"
- 引擎与传输解耦,只用文件音频即可端到端测试

模型与音频产物不进版本管理(1.1GB),由 download_models.sh 恢复
2026-09-15 11:05:09 +08:00

86 lines
1.4 KiB
JSON

{
"vits-zh-ll": {
"desc": "VITS 中文,115MB",
"rows": [
[
"短句",
1023.8842699995985,
0.44725,
2.289288474006928,
1
],
[
"中句",
2747.543926000162,
1.648,
1.6671989842233994,
1
],
[
"长句",
1709.2012230000364,
1.024,
1.669141819335973,
1
],
[
"数字",
3316.832393000368,
1.81275,
1.8297241169495893,
1
]
],
"rtf_avg": 1.8638383486289725,
"rtf_max": 2.289288474006928,
"gaps": [
2.0050806700000976,
1.562527183999915,
0.4825053690001191,
2.856295740000048,
3.7974527159998246
]
},
"piper-huayan-x_low": {
"desc": "Piper 中文,20MB",
"rows": [
[
"短句",
188.33520399994086,
1.104,
0.1705934818840044,
1
],
[
"中句",
584.8148079999191,
3.408,
0.17160058920185423,
1
],
[
"长句",
670.672593999825,
3.872,
0.17321089721069863,
1
],
[
"数字",
647.2685590001674,
3.776,
0.17141646159962062,
1
]
],
"rtf_avg": 0.17170535747404447,
"rtf_max": 0.17321089721069863,
"gaps": [
0.4739460710002277,
0.0,
0.0,
0.0,
0.0
]
}
}