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

 找回密码
 立即注册
查看: 874|回复: 12

[插件集成] 发布个 TTS 插件 Edge-TTS-Proxy

[复制链接]

1

主题

28

帖子

184

积分

论坛技术达人

积分
184
金钱
151
HASS币
20
发表于 2024-12-9 21:48:08 | 显示全部楼层 |阅读模式
本帖最后由 netcookies 于 2024-12-10 16:28 编辑

官方的Microsoft Edge TTS 插件用起来有问题,同时也因为国内的网络环境问题可靠性不足。于是基于 https://github.com/yy4382/read-aloud (可以用 Cloudflare Worker 白嫖)这个插件,写了个转发插件 https://github.com/netcookies/Edge-TTS-Proxy


-----------------------2024.12.10 更新下简单的食用说明------------------------------

app_url 和 token是后端产生的。后端部署有两种方式

1. 点这个链接 Cloudflare worker 一键部署,详细教程 https://yfi.moe/post/deploy-with-cloudflare-btn-guide
2. 自行 docker 部署,
docker run -d --name read-aloud -p 3000:3000 -e TOKEN=YOUR_TOKEN yunfinibol/read-aloud:main

-----------------------懒的码字,直接贴 README,README 是 AI 写的将就看看,实在是懒得写------------------------------
Edge-TTS-Proxy 插件
1. 插件介绍
Edge-TTS-Proxy 插件将 Microsoft Edge TTS(文本到语音)服务集成到 Home Assistant 中。通过代理服务,该插件利用 read-aloud API 实现语音合成功能,为 Home Assistant 提供基于 Microsoft Edge 的文本到语音支持。

2. 插件功能
使用 Microsoft Edge 提供的 TTS 引擎进行语音合成。
支持通过 Home Assistant 发送语音通知。
提供缓存功能,提升语音播放效率。
支持两种使用方式:通过语音助手选择或通过 tts.speak 调用指定实体。
后端通过 read-aloud API 调用 Microsoft Edge TTS 服务。
3. 安装与配置
安装步骤
通过 HACS(Home Assistant Community Store)进行安装:
在 Home Assistant 中打开 HACS。
搜索 Edge TTS Proxy 插件并点击安装。
安装完成后,重新启动 Home Assistant。
配置
安装完成后,可以通过 Home Assistant 的 UI 配置流程(config_flow)来设置插件:

在 Home Assistant UI 中,转到 设置 > 集成。
点击右下角的 + 添加集成。
搜索 Edge TTS Proxy 并选择它。
按照向导完成配置
完成配置后,插件会自动进行设置并准备就绪。

4. 使用方法
插件提供两种使用方式:

方式一:通过语音助手配置
在 Home Assistant 的 设置 > 语音助手 中选择您配置的语音助手。
在语音助手的配置中,选择使用 Edge TTS Proxy 作为语音引擎。
配置完成后,语音助手会使用 Microsoft Edge TTS 进行语音合成并播放。
方式二:通过 tts.speak 服务调用
您还可以通过 tts.speak 服务来指定具体的 TTS 实体(如 tts.edge_tts_proxy_entity),例如:

service: tts.speak
data:
  entity_id: tts.edge_tts_proxy_entity  # 选择您的 TTS 实体
  message: "Hello, this is a test of Edge TTS Proxy!"
通过这种方式,您可以在任何自动化或脚本中使用 Edge TTS。

5. 后端技术说明
Edge-TTS-Proxy 插件的语音合成是通过调用 read-aloud API 实现的,该 API 提供了对 Microsoft Edge TTS 服务的代理接口。read-aloud 是一个基于 Node.js 的项目,通过 Microsoft Edge 和 Azure 的语音服务进行文本到语音合成。

read-aloud API:该 API 提供了通过 HTTP 请求将文本转换为语音文件的功能,支持多种语言和语音模型。
插件通过此 API 调用来处理文本转语音请求,返回的语音文件可以缓存并在 Home Assistant 中播放。
6. 支持的语言与语音
插件支持通过 Microsoft Edge TTS API 提供的多种语言和语音模型。您可以在配置过程中选择所需的语言和语音。例如:

中文(简体):zh-CN
更多语言和语音模型的选择,请参考 Microsoft Edge TTS API 文档.

7. 更新与维护
插件支持通过 HACS 自动更新,确保您获得最新的功能和修复。
定期检查 HACS 中的插件更新,保持插件为最新版本。
8. 问题排查
无法播放语音:检查插件配置中的语言和语音设置,确保您选择了有效的语音模型。
缓存问题:如果启用了缓存并且遇到问题,尝试清空缓存目录并重新启动 Home Assistant。
API 配置错误:确保您的网络环境可以访问 Microsoft Edge TTS API 和 read-aloud API。
9. 贡献与开发
如果您希望为插件贡献代码,请按照以下步骤:

Fork 本仓库。
创建新分支:git checkout -b feature/your-feature。
提交更改:git commit -m 'Add new feature'。
推送至 GitHub:git push origin feature/your-feature。
提交 Pull Request。
10. 许可证
本插件采用 MIT 许可证,可以自由修改和分发。



评分

参与人数 1金钱 +20 HASS币 +20 收起 理由
+ 20 + 20 高手,这是高手!

查看全部评分

回复

使用道具 举报

150

主题

2324

帖子

7189

积分

元老级技术达人

积分
7189
金钱
4860
HASS币
30
发表于 2024-12-9 23:41:12 | 显示全部楼层
HACS搜索不到Edge TTS Proxy
回复

使用道具 举报

13

主题

461

帖子

2439

积分

金牌会员

Rank: 6Rank: 6

积分
2439
金钱
1978
HASS币
0
发表于 2024-12-10 11:16:55 | 显示全部楼层
api url和api token怎么获取
回复

使用道具 举报

13

主题

461

帖子

2439

积分

金牌会员

Rank: 6Rank: 6

积分
2439
金钱
1978
HASS币
0
发表于 2024-12-10 11:18:36 | 显示全部楼层
意思是要自己先搭建read-aloud?
回复

使用道具 举报

1

主题

28

帖子

184

积分

论坛技术达人

积分
184
金钱
151
HASS币
20
 楼主| 发表于 2024-12-10 15:25:09 | 显示全部楼层
bugensui 发表于 2024-12-9 23:41
HACS搜索不到Edge TTS Proxy

添加custom repo 啊
回复

使用道具 举报

1

主题

28

帖子

184

积分

论坛技术达人

积分
184
金钱
151
HASS币
20
 楼主| 发表于 2024-12-10 15:26:11 | 显示全部楼层
jjss520 发表于 2024-12-10 11:18
意思是要自己先搭建read-aloud?

不好意思,我可能太懒写太少了,按照这个教程一键部署个。https://yfi.moe/post/deploy-with-cloudflare-btn-guide
回复

使用道具 举报

1

主题

28

帖子

184

积分

论坛技术达人

积分
184
金钱
151
HASS币
20
 楼主| 发表于 2024-12-10 15:27:18 | 显示全部楼层
jjss520 发表于 2024-12-10 11:18
意思是要自己先搭建read-aloud?

不好意思,对,在cloudflare 上部署个worker,按照这个教程一键部署个。https://yfi.moe/post/deploy-with-cloudflare-btn-guide
回复

使用道具 举报

150

主题

2324

帖子

7189

积分

元老级技术达人

积分
7189
金钱
4860
HASS币
30
发表于 2024-12-10 15:46:23 | 显示全部楼层
我内网跑了个docker tts的服务,这个docker是走代理的,公开了api,走的是get请求,可以用你这个集成不,还是得修改集成源代码
回复

使用道具 举报

1

主题

28

帖子

184

积分

论坛技术达人

积分
184
金钱
151
HASS币
20
 楼主| 发表于 2024-12-10 16:22:47 | 显示全部楼层
jjss520 发表于 2024-12-10 11:18
意思是要自己先搭建read-aloud?

更新了下说明
回复

使用道具 举报

1

主题

28

帖子

184

积分

论坛技术达人

积分
184
金钱
151
HASS币
20
 楼主| 发表于 2024-12-10 16:26:29 | 显示全部楼层
bugensui 发表于 2024-12-10 15:46
我内网跑了个docker tts的服务,这个docker是走代理的,公开了api,走的是get请求,可以用你这个集成不,还 ...

跑的是这个的话,可以。yunfinibol/read-aloud,api 可以看这 https://ra.yfi.moe/api/ui 和这 https://ra.yfi.moe/api/doc
回复

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|Hassbian

GMT+8, 2024-12-22 00:41 , Processed in 0.056529 second(s), 34 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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