『瀚思彼岸』» 智能家居技术论坛

 找回密码
 立即注册
楼主: ptbsare

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

[复制链接]

1

主题

47

帖子

300

积分

论坛技术达人

积分
300
金钱
253
HASS币
0
 楼主| 发表于 2025-2-15 22:36:42 | 显示全部楼层
bugensui 发表于 2025-2-15 21:58
待会我用加载项,看下最新的行不行,如果haos里的加载项最新版可以,那就是威联通的问题了。只能改网络模 ...

还有问下你的homeassistant是什么版本的?
回复

使用道具 举报

164

主题

2644

帖子

8174

积分

元老级技术达人

积分
8174
金钱
5525
HASS币
30
发表于 2025-2-15 23:38:37 | 显示全部楼层
ptbsare 发表于 2025-2-15 22:36
还有问下你的homeassistant是什么版本的?

haos的版本号,我发你了。我测试了半个小时,已经找到原因了。但是我不知道要不要反馈给你,你的docker其实没有问题,可以用,但是也跟你的项目有点关系,后面我会说。另外跟docker网络模式没有关系,我docker部署了,haos加载项都部署了你的项目,可以用,但是有一种情况,不能用,就是发声设备选择(dlna的音响)不行,选择这个音响发声的时候,docker里的日志就出现报错了(很短的文本确可以)

我不知道整个tts发声是怎么样的工作机制(你的docker合成语音,haos,dlna音响)为什么dlna协议的音响就会干预docker的文字合成语音(短文本又不会),你是作者,有可能清楚,我haos里还有个edge tts,就是微软的tts,选择dlna音响发声,没有报错,如果你有这种音响,也可以简单测试下,没有就算了。不算什么bug。


QQ20250215-225022.png



回复

使用道具 举报

16

主题

227

帖子

1219

积分

金牌会员

Rank: 6Rank: 6

积分
1219
金钱
992
HASS币
0
发表于 2025-2-16 01:08:44 | 显示全部楼层
首先感谢楼主的分享。简单测试了一下stt比我GPU的whisper都快和准。而且我还是用的大型V3的模型。tts也挺好的,老外口音这个没办法,模型的问题,很多tts都是这样的。
回复

使用道具 举报

20

主题

708

帖子

3170

积分

论坛元老

Rank: 8Rank: 8

积分
3170
金钱
2462
HASS币
0
发表于 2025-2-16 08:17:51 | 显示全部楼层
刚测试了一下,发现发语音后,助手总是接收不到,提示:抱歉,我无法理解您的意思。倒是可以发出声音。我是在debian11的虚拟机拉取的docker镜像部署的。
回复

使用道具 举报

1

主题

47

帖子

300

积分

论坛技术达人

积分
300
金钱
253
HASS币
0
 楼主| 发表于 2025-2-16 11:27:01 | 显示全部楼层
gzroc 发表于 2025-2-16 08:17
刚测试了一下,发现发语音后,助手总是接收不到,提示:抱歉,我无法理解您的意思。倒是可以发出声音。我是 ...

你好,请说一下你的部署方式。有调试日志吗?看一下有没有识别出来具体是说的什么文字?在addon打开debug看一下日志,在对话助手点击调试,看一下对话。无法理解意思不一定是没有识别到文字,可能是意图没有识别,你可以换个大模型的对话代理,不要用默认的。stt只管识别到文字,这个意图是homeassistant对话代理决定的。
回复

使用道具 举报

1

主题

47

帖子

300

积分

论坛技术达人

积分
300
金钱
253
HASS币
0
 楼主| 发表于 2025-2-16 11:29:44 | 显示全部楼层
本帖最后由 ptbsare 于 2025-2-16 11:37 编辑
bugensui 发表于 2025-2-15 23:38
haos的版本号,我发你了。我测试了半个小时,已经找到原因了。但是我不知道要不要反馈给你,你的docker其 ...

好的,我有时间看一下吧,感谢你的测试。近期有点忙。看你的描述,也不排除是homeassistant上层里面dlan和Wyoming协议实现处理的问题,可能有待官方完善。我这这边只是把合成的语音通过Wyoming协议送给homeassistant的pipeline,后面都是homeassistant处理了。Wyoming协议是homeassistant近期主推的智能助手语音通信协议,当然他是2023年5月份以后才有的,可能edgetts写插件的时候可能还没有这个协议,所以edgetts并没有使用Wyoming协议集成到homeassistant。
具体参见:https://www.home-assistant.io/integrations/wyoming/
回复

使用道具 举报

164

主题

2644

帖子

8174

积分

元老级技术达人

积分
8174
金钱
5525
HASS币
30
发表于 2025-2-16 17:00:23 | 显示全部楼层
ptbsare 发表于 2025-2-16 11:29
好的,我有时间看一下吧,感谢你的测试。近期有点忙。看你的描述,也不排除是homeassistant上层里面dlan和 ...

谢谢作者大佬,耽误你时间了,edge是单独的集成,和你的不一样,你的是原生接入,你的更优雅,再次谢谢大佬的无私付出,
回复

使用道具 举报

3

主题

16

帖子

207

积分

中级会员

Rank: 3Rank: 3

积分
207
金钱
191
HASS币
0
发表于 2025-2-16 17:41:19 | 显示全部楼层
ptbsare 发表于 2025-2-15 18:48
你好哈,现在推测长文本无声音可能是合成时间较长时被定期的healthcheck打断的原因,解决方法有两个:
1、 ...

我在树莓派上装的是HAOS,直接加载项安装的,刚重新安装0.2.9,还是一样问题,文字一长就无法播放语音 Capture_2025-02-16_17-40-16.png
回复

使用道具 举报

20

主题

708

帖子

3170

积分

论坛元老

Rank: 8Rank: 8

积分
3170
金钱
2462
HASS币
0
发表于 2025-2-16 18:00:44 | 显示全部楼层
本帖最后由 gzroc 于 2025-2-16 18:09 编辑
ptbsare 发表于 2025-2-16 11:27
你好,请说一下你的部署方式。有调试日志吗?看一下有没有识别出来具体是说的什么文字?在addon打开debug ...

core_openwakeword_2025-02-16T09-57-39.893Z.log.zip (2.5 KB, 下载次数: 1)
我部署的方式是使用你的docker-compose(高阶用户)这段代码部署的,我直接在debian11虚拟机拉取的,容器成功运行后就在ha添加debian主机ip和端口,就这样,好像这个是要https吗?我没用https地址访问时麦克风前有个叹号,提示[backcolor=var(--chat-background-color-hass,var(--secondary-background-color))]与 Home Assistant 的连接未使用 HTTPS 进行保护,将导致浏览器阻止 Home Assistant 访问麦克风。使用 Home Assistant 应用或访问[color=var(--primary-text-color)]文档[backcolor=var(--chat-background-color-hass,var(--secondary-background-color))]了解如何使用安全网址

,用了https地址访问也是无法理解我说什么,以上是我的日志。

好像客户端总是断开连接。
回复

使用道具 举报

7

主题

78

帖子

749

积分

高级会员

Rank: 4

积分
749
金钱
671
HASS币
0
发表于 2025-2-16 18:49:59 | 显示全部楼层
gzroc 发表于 2025-2-16 18:00
我部署的方式是使用你的docker-compose(高阶用户)这段代码部署的,我直接在debian11虚拟机拉取的,容器 ...

是在纯内网环境用的https,并且浏览器访问的麦克风吗
浏览器使用麦克风权限需要ssl连接(https),但是如果ssl证书没有配置公网IP地址的话,ha中的网络-外部访问会提示本地网络不可用。
如果可以的话试试不用https然后用ha的应用试试,这是我目前试下来可行的方法,缺点是浏览器访问不能使用语音,但是手机应用可以
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2025-3-4 23:01 , Processed in 0.058395 second(s), 32 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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