让你的HomePod可以TTS?没有那么多麻烦

您所在的位置:网站首页 homepod音响无法开机怎么办 让你的HomePod可以TTS?没有那么多麻烦

让你的HomePod可以TTS?没有那么多麻烦

2024-05-01 08:17| 来源: 网络整理| 查看: 265

本帖最后由 involute 于 2022-6-8 03:52 编辑

2022年6月

由于从HA2022.3开始,官方的AppleTV集成已经可以完美支持HomePod系列,而且作为一个media_player是全功能的,比我这个只能TTS的要好得多。所以请使用官方集成。 但如果你是第三方的兼容AirPlay设备,倒也许还可以继续试试这个。 2021年9月10日更新v0.0.8

修改了一个可能导致集成卸载失败的问题。 2021年8月6日更新 由于Home Assiatant2021.7.x-2021.8.x自带的环境配置上存在BUG,导致在以上版本的HomeAssistant中使用会导致无法配置集成、播放时造成系统崩溃的问题。 github上的@tsunglung帮我找到了解决方案,请看”安装前准备“下的”2021.7.x或之后版本“部分。

---------------------------------------------------------------------------------------------------------------------------------------

前言 本来由于没有良好的TTS引擎,一直也没有让HomePod说话的兴致,自从前几天弄了了微软的TTS改进版(HA自带的微软TTS引擎的全面改进威力加强版)之后,让HomePod说话的兴致就来了。

试过几种方案,forked-daapd确实可以发声,但也不知是不是我个人的原因,延迟巨大,时不时还卡死,肯定是无法正常使用的。其它方案要么干脆不出声,要么出两下,就不行了。 那只能自己撸了,好在有一个开源的py库叫pyatv,本来是为了控制AppleTV使用的,搞定个AirPlay不是小事?而且pyatv是HA自带组件,是HA中Apple-TV集成的依赖库。 写测试代码,跑起来一切没问题,可以发现AirPlay设备,可以出声,一切没问题。可一旦写成HA集成,上了HA,连AirPlay设备都发现不了了,仔细检查,发现HA自带的pyatv是0.7.7,而我跑测试代码的库是pyatv0.8.1,对比了两个版本的代码差异,发现从0.8以后加入了新的协议,才可以正确支持AirPlay。 好,搞清楚了,开始吧。

重要注意事项 docker安装的Home Assistant,必须是"与Docker Host使用相同的网络",而不是能是桥接模式。否则Home Assisatant与其它网络设备实际上不在一个网络中,除非你会处理RSTP协议的跨网段路由问题,否则无法正常使用AirPlay设备。

安装前准备 2021.6.x或之前版本 直接在宿主机上运行pip升级pyatv,会报告缺少依赖组件,但编译依赖组件,却又缺少gcc,所以: 1、在宿主机中安装gcc 我是群晖docker安装的,docker中跑的是Alpine Linux,所以包管理命令是apk,所以分别执行以下两个命令

apk update apk add build-base 在Home Assistant中安装gcc,我也是挺无奈的-_-。

2、升级pyatv 警告:虽然本身Home Assistant的pip包已经有一堆的冲突,但是升级pyatv可能会造成新的包版本冲突,虽然我目前使用一切正常,但不代表你的系统不会因为这些包冲突出现问题,所以请慎重考虑。 宿主机中运行

pip3 install --upgrade pyatv 3、重新升级attrs 由于升级pyatv时降级了attrs包,这个包HomeAssistant要求版本至少是20.2,别的包冲突咱们不管了,这个把它升回来 宿主机中运行 pip3 install --upgrade attrs 2021.7.x或之后版本

2021.7-2021.8中存在着配置上的Bug,使用本插件会造成无法正确配置集成、播放时造成系统崩溃的问题,这是因为HomeAssisatant中自带的miniaudio存在问题。 请依次完成以下操作: 1、在宿主机中安装gcc 我是群晖docker安装的,docker中跑的是Alpine Linux,所以包管理命令是apk,所以分别执行以下两个命令

apk update apk add build-base

2、卸载miniaudio, 宿主机中运行

pip3 uninstall --yes miniaudio 3、重新安装minaudio pip3 install miniaudio

安装 HACS安装自定义存储库,或者下载压缩包,放到custom_component下,重启Home Assistant。 地址我会放在帖子后部 配置 在集成界面,添加Apple Airplayer,会自动查找支持的设备,选其一点提交即可,缓存目录,和我TTS那贴中的缓存目录配置成一样的。要配置多部设备,多次添加该集成即可。

airplay.png 登录/注册后可看大图

airplay.png (18.86 KB, 下载次数: 0)

下载附件

2021-7-10 14:48 上传

airplay2.png 登录/注册后可看大图

airplay2.png (15.21 KB, 下载次数: 0)

下载附件

2021-7-10 14:56 上传

tips:为TTS配置缓存,可以使得你的TTS如果说的话是以前说过的,可以使得TTS时根本不需要访问网络,可以提高TTS响应速度,甚至在你的微软TTS服务到期后,仍可正常使用以前说过的语音。 支持的设备

AirPort ExpressAirPort Express Gen2Apple TV 2Apple TV 3Apple TV 4Apple TV 4KApple TV 4K Gen2HomePodHomePod Mini其它AirPlay兼容设备 我个人是穷鬼,只有一个HomePod Mini,兼容情况有劳各位测试并反馈。

实体 配置完成生成的media_player实体,支持开关和音量调节。 但并不是真正的电源开关,而只是控制让其TTS时是否发声及发声音量。 作用嘛,可以在脚本中调整音量再发声,满足不同场景要求,或者你半夜回家的时候先关闭电源,开门本应播放欢迎词的时候就不会老少皆知了(偷笑)。

项目地址,好用记得点星哦 https://github.com/georgezhao2010/apple_airplayer

本地压缩包下载

游客,如果您要查看本帖隐藏内容请回复

pyatv升级图解 点开看大图,就看着我图中的红圈点或者输入,除了包冲突,不应该有报错 1.png 登录/注册后可看大图

1.png (59.49 KB, 下载次数: 0)

下载附件

2021-7-11 00:58 上传

2.png 登录/注册后可看大图

2.png (45.28 KB, 下载次数: 0)

下载附件

2021-7-11 00:58 上传

3.png 登录/注册后可看大图

3.png (52.17 KB, 下载次数: 0)

下载附件

2021-7-11 00:58 上传

4.png 登录/注册后可看大图

4.png (54.29 KB, 下载次数: 0)

下载附件

2021-7-11 00:58 上传

5.png 登录/注册后可看大图

5.png (44.22 KB, 下载次数: 0)

下载附件

2021-7-11 00:58 上传

6.png 登录/注册后可看大图

6.png (85.15 KB, 下载次数: 0)

下载附件

2021-7-11 00:58 上传



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3