找回密码
 立即注册
查看: 10619|回复: 155

[技术探讨] 本地语言助手基于Sherpa Onnx的Wyoming STT/TTS Addon无惧断网纯离线

  [复制链接]

2

主题

51

回帖

364

积分

论坛技术达人

积分
364
金钱
311
HASS币
0
发表于 2025-2-10 23:55:54 | 显示全部楼层 |阅读模式
本帖最后由 ptbsare 于 2025-5-11 11:44 编辑

项目地址https://github.com/ptbsare/home-assistant-addons/tree/main/sherpa-onnx-tts-stt

我是项目作者,欢迎PR,欢迎提出宝贵意见。
一个addon集成了TTS及STT两个服务。
纯图形界面操作,官方原生支持Wyoming自动发现集成,无需安装HACS插件,无需修改配置文件。至少需要1.5G内存,建议使用强劲的CPU或者docker部署到性能较强的服务器上。
支持kokoro-TTS/matcha-TTS/paraformer-STT。

纯离线,所有模型均在本地部署运行,不向云端发送任何数据。

使用:
1、HASSOS添加addon repo:点击↓
添加到我的Homeassistant
https://my.home-assistant.io/red ... me-assistant-addons或者 手动添加如下repo到你的addon 加载项商店右上角三个点-仓库:https://github.com/ptbsare/home-assistant-addons
2、启动addon,正常会自动发现Wyoming,点击添加Wyoming集成即可。
3、在语音助手里面选择相应TTS及STT引擎。

备选:
如果你不是使用HASSOS,可以直接使用docker镜像,支持amd64及aarch64两种构架,直接启动镜像即可,也可配置环境变量:
docker pull ghcr.io/ptbsare/home-assistant-addons/amd64-addon-sherpa-onnx-tts-stt:latest
docker pull ghcr.io/ptbsare/home-assistant-addons/aarch64-addon-sherpa-onnx-tts-stt:latest
然后点击设备页面添加Wyoming集成:host填服务器或docker的IP,port填10400,提交保存即可。

详细说明:
目前默认参数即可运行,下面是详细参数配置说明,可自定义模型、语言、语速等,具体可见项目主页。
游客,如果您要查看本帖隐藏内容请回复

演示视频:

语音助手配置截图:
1000047669.jpg
更新:
v0.2.6:已经支持kokoro-tts(内部集成),速度相对默认的matcha-tts略慢。
v0.2.8:实验性支持高阶用户自定义Sherpa Onnx 模型的类型、名字、参数,高阶用户可以自行指定模型及参数,插件会自动下载相应STT/TTS模型,完整模型列表详见:
STT: https://github.com/k2-fsa/sherpa-onnx/releases/tag/asr-models
TTS: https://github.com/k2-fsa/sherpa-onnx/releases/tag/tts-models
具体配置详见文档。https://github.com/ptbsare/home- ... on-custom_stt_model
普通用户暂时使用v0.2.6版本,编程爱好者欢迎使用v0.2.8反馈不同模型的效果。
v0.2.9:
* 实验性支持GPU运行!方便docker用户提速,详见github repo Dockerfile.gpu,因CUDA镜像较大(10G+),请GPU用户自行本地使用该Dockerfile.gpu文件自行构建运行镜像。
* 新增内置STT模型:sherpa-onnx-paraformer-zh-small-2024-03-09(默认paraformer模型的微缩版本)供性能较差小主机STT使用提速,效果也非常不错,更加快速,内存占用更低;
* 新增内置TTS模型:vits-melo-tts-zh_en,这是一个中英文模型,可以同时说中文与英语,速度介于matcha-icefall-zh-baker与kokoro-multi-lang-v1_0之间。
v0.2.10: 升级kokoro-TTS到v1.1。
v0.3.0: 添加Openai兼容格式 TTS/STT 实验性支持,实现了两个接口 IP:10500/v1/audio/speech IP:10500/v1/audio/transcriptions
v0.3.1: 修复STT结果为空导致语音助手阻塞的bug
v0.3.2: 支持不重启addon直接在wyoming集成选择不同的模型内置朗读者Speaker0-Speaker100(sid)
v0.3.3:
* 新增选项设置STT_BUILTIN_AUTO_CONVERT_NUMBER=True以启用内置STT模型汉字数字一二三到阿拉伯数字123的转换更好适应内置Hass Intent;举例:三十分钟后关闭主卧灯,现在可以由TTS自动生成为:30分钟后关闭主卧灯 以被官方Hass Intent直接识别,此外形如两万一千三百一十五也会被TTS直接输出为21315阿拉伯数字;需要手动开启此特性:STT_BUILTIN_AUTO_CONVERT_NUMBER=True(默认False)
* 固定TTS生成比特率为44100以与微信聊天机器人astrbot机器人语音输出兼容
v0.3.4: 统一CPU & GPU docker构建
v0.3.5: 增添addon勾选选项stt_builtin_auto_convert_number(默认False不勾选)
不一定长时间在论坛在线,如有问题请在Github反馈;最新更新内容请前往Github项目主页查看。







评分

参与人数 8金钱 +81 收起 理由
cuichuanyu + 5 感谢楼主分享!
penguinmm + 8 感谢楼主分享!
xiaobai1828 + 5 墙都不扶,就服楼主!
DDDear + 12 膜拜大神!
dscao + 20 感谢楼主分享!
xun897426280 + 5
nuknoop + 16 高手,这是高手!这帖应该火
25989406 + 10 我来瀚思就为看你!

查看全部评分

回复

使用道具 举报

2

主题

51

回帖

364

积分

论坛技术达人

积分
364
金钱
311
HASS币
0
 楼主| 发表于 2025-2-11 11:43:02 | 显示全部楼层
本帖最后由 ptbsare 于 2025-3-10 21:29 编辑
bugensui 发表于 2025-2-11 11:35
说话速度太慢了。默认好像是1,我改成0.5好像效果一样,加快应该设置多少,另外说话的声音哪个模型,比较贴 ...

你好,时间原因,插件目前是仅工作状态,一些功能可能需要时间适配比如自定义模型等,speed参数调大可变快,说话声音是是模型的提供的,插件只是对接模型。关于效果,因为我们要在速度和效果上取得一个折中点,采用Sherpa Onnx是因为他在本地运行识别stt和tts比较快,CPU即可不需要太强GPU;目前效果比较好的模型一般需要的运算力比较大且难以实时识别及输出。如果你有更好的想法,欢迎在Github上提交pull request。谢谢!
更新:自定义模型/参数已在v0.2.8。
回复

使用道具 举报

172

主题

2561

回帖

8543

积分

元老级技术达人

积分
8543
金钱
5805
HASS币
30
发表于 2025-2-11 01:00:45 | 显示全部楼层
纯离线吗?
回复

使用道具 举报

2

主题

51

回帖

364

积分

论坛技术达人

积分
364
金钱
311
HASS币
0
 楼主| 发表于 2025-2-11 08:03:26 | 显示全部楼层

是的,纯离线运行。
回复

使用道具 举报

4

主题

61

回帖

1427

积分

金牌会员

积分
1427
金钱
1362
HASS币
0
发表于 2025-2-11 10:03:46 | 显示全部楼层
能否出个演示视频
回复

使用道具 举报

0

主题

69

回帖

1019

积分

金牌会员

积分
1019
金钱
950
HASS币
0
发表于 2025-2-11 10:37:20 | 显示全部楼层
楼主好,感谢无私分享。
刚刚用docker pull,发现镜像拉取不下来,报错了Error response from daemon: manifest unknow。
回复

使用道具 举报

2

主题

51

回帖

364

积分

论坛技术达人

积分
364
金钱
311
HASS币
0
 楼主| 发表于 2025-2-11 10:51:11 | 显示全部楼层
你好,请提供一下你的主机是什么CPU,怎么安装的?目前因为Sherpa Onnx构架预编译包的缘故,支持的构架是Linux上的aarch64和amd64,谢谢。
回复

使用道具 举报

30

主题

1414

回帖

6460

积分

元老级技术达人

积分
6460
金钱
4991
HASS币
100
发表于 2025-2-11 10:54:11 | 显示全部楼层
优秀哦。晚上回去试试
回复

使用道具 举报

2

主题

51

回帖

364

积分

论坛技术达人

积分
364
金钱
311
HASS币
0
 楼主| 发表于 2025-2-11 11:11:34 | 显示全部楼层
vanscer 发表于 2025-2-11 10:03
能否出个演示视频

你好,演示视频已经上传,谢谢。
回复

使用道具 举报

2

主题

51

回帖

364

积分

论坛技术达人

积分
364
金钱
311
HASS币
0
 楼主| 发表于 2025-2-11 11:12:34 | 显示全部楼层
penguinmm 发表于 2025-2-11 10:37
楼主好,感谢无私分享。
刚刚用docker pull,发现镜像拉取不下来,报错了Error response from daemon: mani ...

你好,请提供一下你的主机是什么CPU,怎么安装的?目前因为Sherpa Onnx构架预编译包的缘故,支持的构架是Linux上的aarch64和amd64,谢谢。
回复

使用道具 举报

172

主题

2561

回帖

8543

积分

元老级技术达人

积分
8543
金钱
5805
HASS币
30
发表于 2025-2-11 11:35:23 | 显示全部楼层
说话速度太慢了。默认好像是1,我改成0.5好像效果一样,加快应该设置多少,另外说话的声音哪个模型,比较贴近我们的发音,现在的发音很生硬
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Hassbian ( 晋ICP备17001384号-1 )

GMT+8, 2025-5-21 12:24 , Processed in 0.206803 second(s), 28 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表