不用GPU也能跑TTS?Pocket TTS让我家的树莓派开口说话了
搞智能家居的同学可能都有这个需求:让设备能"说话"。比如门铃响了播报访客信息、空气质量超标语音提醒、或者做个有声日历。之前试过几种TTS方案,要么需要GPU,要么延迟太高,要么音质拉胯。直到发现了Pocket TTS——纯CPU就能跑,100M参数,延迟低到200毫秒出第一段音频。
关键参数一览
- 模型大小——100M参数,比常见的TTS模型小一个量级
- 运行速度——MacBook Air M4上实测6倍实时速度,也就是说10秒的音频1.6秒就能生成
- 资源占用——只用2个CPU核心,树莓派4B也能跑
- 延迟——首包延迟约200ms,对话场景完全够用
- 支持语言——英语、法语、德语、葡萄牙语、意大利语、西班牙语(中文暂不支持,但模型开源,可以微调)
树莓派实测
我在树莓派4B(4GB版)上跑了一下。装好依赖后,生成一段10秒的英文语音大概需要8秒,基本接近实时。CPU温度会飙到65度左右,加个散热片就稳了。对于智能家居的语音播报场景来说,这个性能完全够用。
最爽的是支持流式输出——文本边喂边出音频,不用等全部生成完。做实时语音交互的话这个特性很关键。
跟Home Assistant集成
思路很简单:写个Python脚本监听MQTT消息,收到播报请求后调用Pocket TTS生成wav,再通过MPD或者直接推给HA的media_player播放。我搭了个简单pipeline,门铃按下的通知延迟大概1.5秒(网络传输+生成+播放),体验还不错。
另外它还支持语音克隆——录一段参考音频,就能用那个声音说话。我克隆了一个温柔的女声做家居播报,比默认的机械音自然多了。
安装踩坑
- 需要PyTorch 2.5+,但不需要GPU版本。树莓派上用CPU版就行,pip install torch --index-url ... 走CPU源
- Python 3.10-3.14都支持,树莓派默认的3.9不行,得先升级
- 首次加载模型会从HuggingFace下载,大概200MB,建议提前下好
- 浏览器里也能直接试用:kyutai.org/pocket-tts
值不值得上?
如果你的场景是英文TTS且对延迟敏感,Pocket TTS目前是我见过的最优解。纯CPU、低延迟、小体积,这几个特性组合在一起确实少见。中文支持目前没有,但模型是开源的,用中文数据集fine-tune一下应该可行。等中文版出来,这套方案在智能家居领域会更有竞争力。
文章评论