多彩编程 多彩编程MZPH · CODE BLOG
ARTICLE DETAIL

文章详情

深耕前端与后端开发技术的一线实战笔记与踩坑复盘。

Docker 部署 Piper:轻松搭建本地 TTS 文本转语音平台

Docker 部署 Piper:轻松搭建本地 TTS 文本转语音平台 本文基于 linuxserver/piper:2.4.2实测Linuxserver.io 2.4.2-ls123wyoming-piper2.4.2测试平台Ubuntu 24.04Linux。门铃响了、洗衣机洗完、夜里有人按开关——这些事如果交给云端 TTS句子要先出家门有延迟、按量计费、断网就哑门铃和漏水这类家务文本也会落到第三方。手机 App 自带的「云语音」换一家就换一套账号树莓派或 NAS 上已经跑了 Home Assistant却仍然缺一块完全本地的「把文字念出来」。把合成留在自己的机器上文本不出内网删容器也不丢已下载的语音模型Home Assistant 用同一套 Wyoming 协议接入。商业云语音要订阅、内容在厂商侧自己从源码编译 Piper对只想先跑通播报的人又不划算。家用 x86 NAS 和树莓派 4 这类设备缺的是一个现成服务起容器、选一个中文音色Assist 就能开口。linuxserver/piper见 镜像页把开源神经 TTS Piper 封装成Wyoming 协议服务器监听10200。它没有网页控制台浏览器打不开「管理后台」而是给 Home Assistant Assist、自动化tts.speak以及其它 Wyoming 客户端当本地发音引擎。容器由 LinuxServer.io 维护带 PUID/PGID 映射。部署跑通之后你实际能做这些事场景部署后怎么用Home Assistant 本地 Assist在 HA 里加Wyoming集成把 Piper 设成文字转语音引擎家务 / 安防播报自动化里tts.speak门铃、漏水、洗衣完成用本机声音念隐私敏感环境合成全程在容器内完成不必把句子交给云 TTS与本地听写配对另外部署 Whisper 等 STT组成「听得见、答得出」的本地语音链路本文按「能跟做」写完整链路用 轩辕镜像 加速拉取linuxserver/piper:2.4.2Docker Compose映射10200默认中文音色zh_CN-huayan-medium再接入 Home Assistant——文内附6张实测截图。无 Compose 时见文末docker run备选。下文局域网地址以实测192.168.1.35为例请换成你自己的 IP。上手要点部署默认Compose第五节临时试玩见第九节 docker run访问无 Web UI协议口为宿主机10200→ 容器10200Wyoming TCP不要用浏览器打开http://IP:10200未就绪时常见ERR_CONNECTION_REFUSED日志已有Ready后常见ERR_EMPTY_RESPONSE。都不是故障验证请走第六节 Home Assistant数据卷./config→ 容器/config模型文件也在这里必填PIPER_VOICE跟做用zh_CN-huayan-medium标签钉死2.4.2见 tags不要写latest账号无登录、协议无认证不要把 10200 裸暴露公网首次启动默认会访问HuggingFace更新语音列表并下载.onnx。Ubuntu 实测出现Failed to update voices list/Network is unreachableconfig为空——按5.5 节手动放模型并设LOCAL_ONLYtrue官方说明LinuxServer · piper。HA 本地语音Set up a fully local voice assistant。一、Piper 是什么本镜像跑的是Wyoming 协议上的 Piper TTS不是带按钮的网站也不是「把网页念出来」的浏览器插件。linuxserver/piper本文云端 TTSAzure / 讯飞等入口Wyoming TCP:10200HTTPS API数据文本在本机合成模型挂在/config句子发到厂商适合Home Assistant、内网播报、离线公网应用、多语种托管注意无网页后台首次要下载语音模型费用、延迟、隐私策略Home Assistant / 其它客户端 │ WyomingTCP 10200 ▼ linuxserver/piper 容器 │ 本地神经合成Piper ▼ 音频流回客户端播放 宿主机 ./config ←→ /config.onnx 语音模型原始引擎仓库 rhasspy/piper 已于 2025 年 10 月归档后续开发见 OHF-Voice/piper1-gpl。坐标必须是linuxserver/piper不要拉成数据管道镜像meroxa/piper。Home Assistant OS 用户也可以装官方Piper Add-on。已经在 Ubuntu / NAS 上用 HA Container没有附加组件商店时用本文这个独立容器。同生态的本地听写可另看linuxserver/faster-whisper。二、环境要求项目建议系统Linux建议Ubuntu 24.04Docker Desktop 亦可DockerEngine Compose V2架构amd64 / arm64树莓派 4 64 位可用内存≥1 GBmedium 音色更从容高品质模型再留余量磁盘实测镜像占用约636MB跟做的 huayan-medium 模型约61MB端口宿主机10200Wyoming网络首次下载模型需要访问HuggingFace之后可离线LOCAL_ONLYdocker--versiondockercompose versionLinux 未装 Docker 可使用轩辕镜像一键安装脚本bash(wget-qO- https://xuanyuan.cloud/docker.sh)备用地址bash(wget-qO- https://get.xuanyuan.me/docker.sh)更多见 轩辕镜像使用手册。启动前先看10200是否空闲ss-tlnp|grep1020010200被占用时只改左侧宿主机端口例如10201:10200Home Assistant 里填10201。容器内仍是 10200。三、标签怎么选标签含义推荐2.4.2本文钉死版本对齐 PyPIwyoming-piper 2.4.2跟做 / 生产本文2.4.2-ls*LinuxServer CI 构建号需与某次构建完全对齐时选用amd64-2.4.2/arm64v8-2.4.2指定架构多架构清单异常时再钉架构latest浮动指针会随上游更新不要写入跟做命令完整列表linuxserver/piper 标签。升级时先改 Compose 标签再pull/up -d。撰写时latest常与2.4.2指向同一构建仍应写死2.4.2避免日后环境变量或协议行为静默变化。中文镜像页示例若仍写STREAMING、PIPER_PROCS以 LinuxServer 文档 为准当前可选开关是NO_STREAMING。四、拉取镜像用 轩辕镜像 加速拉取dockerpull docker.xuanyuan.run/linuxserver/piper:2.4.2Ubuntu 24.04 实测2.4.2: Pulling from linuxserver/piper Digest: sha256:8a188dd841a24bce24128d6b3d5af38e1b7cbb52d77be69e8cab833dd64c6fa9 Status: Downloaded newer image for docker.xuanyuan.run/linuxserver/piper:2.4.2 docker.xuanyuan.run/linuxserver/piper:2.4.2dockerimages docker.xuanyuan.run/linuxserver/piper:2.4.2IMAGE ID DISK USAGE CONTENT SIZE docker.xuanyuan.run/linuxserver/piper:2.4.2 8a188dd841a2 636MB 176MB五、Docker Compose 部署推荐平台工作目录Linux正文默认/www/wwwroot/pipermacOS 实测~/docker/piperWindowsDocker Desktop如C:\docker\piper5.1 创建目录mkdir-p/www/wwwroot/piper/configchown-R$USER:$USER/www/wwwroot/pipercd/www/wwwroot/piper# macOSmkdir -p ~/docker/piper/config cd ~/docker/piper非 root 时给mkdir/chown加sudo。用id查看本机 uid / gid写入下方PUID/PGID。id5.2 编写 docker-compose.ymlcatdocker-compose.ymlEOF services: piper: image: docker.xuanyuan.run/linuxserver/piper:2.4.2 container_name: piper environment: - PUID1000 - PGID1000 - TZAsia/Shanghai # 必填语言-名称-质量英文官方示例是 en_US-lessac-medium - PIPER_VOICEzh_CN-huayan-medium # 连不上 HuggingFace 时先按 5.5 节放入 .onnx再取消下一行注释 # - LOCAL_ONLYtrue # - PIPER_LENGTH1.0 # - PIPER_NOISE0.667 # - PIPER_NOISEW0.333 # - PIPER_SPEAKER0 # 设为任意非空值如 true将关闭按句流式合成 # - NO_STREAMINGtrue volumes: - ./config:/config ports: - 10200:10200 restart: unless-stopped EOFPUID/PGID请改成id输出的数字。语音列表与试听见 Piper samples模型文件在 rhasspy/piper-voices。5.3 参数说明参数作用10200:10200Wyoming 连接端口PUID/PGID容器内进程用户避免卷权限错乱TZ时区跟做用Asia/ShanghaiPIPER_VOICE必填。格式语言-名称-质量LOCAL_ONLY设为任意值后不再请求在线voices.json。不会凭空生成模型./config里仍须已有.onnx.onnx.jsonPIPER_LENGTH语速默认1.0小于 1 更快大于 1 更慢PIPER_NOISE音色随机度超过 1 容易发糊PIPER_NOISEW节奏随机度超过 1 容易口吃、乱停PIPER_SPEAKER多说话人模型的说话人编号从0起NO_STREAMING设为任意值则关闭句边界音频流./config:/config配置与语音模型目录5.4 启动并验证dockercompose up-ddockercomposepsdockercompose logs--tail80Ubuntu 24.04 实测工作目录/www/wwwroot/piper[] up 2/2 ✔ Network piper_default Created ✔ Container piper StartedNAME IMAGE COMMAND SERVICE CREATED STATUS PORTS piper docker.xuanyuan.run/linuxserver/piper:2.4.2 /init piper 7 seconds ago Up 5 seconds 0.0.0.0:10200-10200/tcp, [::]:10200-10200/tcp容器Up 不等于 TTS 可用。默认会访问https://huggingface.co/rhasspy/piper-voices/更新语音列表并下载zh_CN-huayan-medium的.onnx。本机到 HuggingFace网络不可达Errno 101时日志会出现[custom-init] No custom files found, skipping... ERROR:wyoming_piper.download:Failed to update voices list ... OSError: [Errno 101] Network is unreachable ... urllib.error.URLError: urlopen error [Errno 101] Network is unreachablels-lh/www/wwwroot/piper/configtotal 0列表更新失败、模型也没落下。再空等不会自己好按5.5 节处理。宿主机此时已经在听 10200docker-proxy在听不代表模型已就绪ss-tlnp|grep10200LISTEN 0 4096 0.0.0.0:10200 0.0.0.0:* users:((docker-proxy,...)) LISTEN 0 4096 [::]:10200 [::]:* users:((docker-proxy,...))不要用浏览器验证。Chrome 发的是 HTTP对端是 Wyoming不会回网页。未Ready时常见ERR_CONNECTION_REFUSED日志已有Ready后常见ERR_EMPTY_RESPONSE。请直接进入 5.5 节放模型再按第六节用 Home Assistant 验证。5.5 手动放入中文模型HuggingFace 不通时在本机用wget把两个文件下到/www/wwwroot/piper/config/官方路径见 piper-voices · zh_CN/huayan/medium。若本机也必须走 HTTP 代理给 wget 加-e use_proxyyes和http_proxy/https_proxy不要把代理账号写进公开教程。wget-O/www/wwwroot/piper/config/zh_CN-huayan-medium.onnx.json\https://huggingface.co/rhasspy/piper-voices/resolve/main/zh/zh_CN/huayan/medium/zh_CN-huayan-medium.onnx.jsonwget-c-O/www/wwwroot/piper/config/zh_CN-huayan-medium.onnx\https://huggingface.co/rhasspy/piper-voices/resolve/main/zh/zh_CN/huayan/medium/zh_CN-huayan-medium.onnxUbuntu 24.04 实测文件大小total 61M -rw-r--r-- 1 root root 61M zh_CN-huayan-medium.onnx -rw-r--r-- 1 root root 4.8K zh_CN-huayan-medium.onnx.json属主改成与PUID/PGID一致chown1000:1000 /www/wwwroot/piper/config/zh_CN-huayan-medium.onnx*只放文件、不改环境变量时进程后面仍可能打出Ready但每次重启还会去拉voices.json日志里会继续出现 HuggingFace ERROR。跟做建议打开LOCAL_ONLYtrue再重建一次-LOCAL_ONLYtruecd/www/wwwroot/piperdockercompose up-ddockercompose logs--tail80只开LOCAL_ONLY、目录仍是空的进程还是会尝试下载模型照样失败。必须文件 LOCAL_ONLY一起做。改环境变量要用compose up -d重建后才生效。Ubuntu 24.04 实测已放模型 LOCAL_ONLYtrue日志干净User UID: 1000 User GID: 1000 Linuxserver.io version: 2.4.2-ls123 Build-date: 2026-08-16T13:41:3100:00 [custom-init] No custom files found, skipping... INFO:__main__:Ready Connection to localhost (127.0.0.1) 10200 port [tcp/*] succeeded! [ls.io-init] done.健康标志Ready 本机10200探测成功 [ls.io-init] done.且没有Network is unreachable。下一步不是刷新浏览器而是进入第六节接 Home Assistant。六、接入 Home Assistant 并让它开口Piper自己不会出声它只负责把文字合成音频要由 HA 里的媒体播放器手机 App、音箱、投屏播出来。本镜像没有「浏览器首次初始化」验证入口就是这一节。完整 HA 教程见想本地掌控智能家居Docker 部署 Home Assistant。已经有 HA 的读者可跳过 6.0从 6.1 开始。下文是与 Piper同一台 Ubuntu 24.04192.168.1.35上的实测命令。6.0 同机部署 Home Assistant Container可选HA 官方常用 host 网络这里按实测给出docker run不是 Piper 的主路径。dockerpull docker.xuanyuan.run/homeassistant/home-assistant:2026.7.1Ubuntu 24.04 实测2026.7.1: Pulling from homeassistant/home-assistant Digest: sha256:f73512ba4fe06bb4d57636fe3578d0820cdec46f81e8f837ab59e451662ff3cb Status: Downloaded newer image for docker.xuanyuan.run/homeassistant/home-assistant:2026.7.1 docker.xuanyuan.run/homeassistant/home-assistant:2026.7.1mkdir-p/www/wwwroot/homeassistant/configcd/www/wwwroot/homeassistantdockerrun-d\--namehomeassistant\--privileged\--restartunless-stopped\-eTZAsia/Shanghai\-v/www/wwwroot/homeassistant/config:/config\-v/run/dbus:/run/dbus:ro\--networkhost\docker.xuanyuan.run/homeassistant/home-assistant:2026.7.1--networkhost时 HA 直接占用宿主机8123。本机ufw当时为inactive仍放行端口以免以后启用防火墙被挡ufw allow8123/tcp浏览器打开http://192.168.1.35:8123完成初始化。HA 与 Piper 都在这台机、且 HA 为 host 网络时Wyoming 主机填127.0.0.1或局域网 IP192.168.1.35均可端口10200。截图里用的是局域网 IP。6.1 添加 Wyoming 协议打开 Home Assistant设置 → 设备与服务 → 集成 → 添加集成。搜索Wyoming ProtocolWyoming 协议。主机填127.0.0.1同机 host 网络或192.168.1.35端口填10200点提交。成功后会提示已为 “piper” 创建了配置点完成。集成卡片显示1 个实体。进入该集成服务列表里应有piper仍是 1 个实体。这就是后面tts.speak要用的 TTS 引擎。官方说明见 HA · Wyoming 与 本地语音助手。6.2 第一次文字转语音开发者工具 → 动作实测播放器天翼智屏-8E02实体 IDmedia_player.tian_yi_zhi_ping_8e02。没有这台设备时换成手机Home Assistant Companion或其它已接入的media_player。打开左侧开发者工具。顶栏从左到右是YAML、状态、动作、模板、事件、统计、语音助手。不要停在「YAML」这一页。那一页只用来「检查配置 / 重新加载」不能执行 TTS。点第三项动作。点进动作后右上角有两个按钮用户界面模式默认和YAML 模式。先用界面模式不必手写 YAML确认右上角高亮的是用户界面模式。动作搜索并选择说话tts.speak。目标选piper实体tts.piper。媒体播放器实体选你的音箱跟做截图是天翼智屏-8E02。消息填你好这是 Piper 本地语音。点右下角执行操作。若你更习惯 YAML点右上角YAML 模式不要回到顶栏那个「YAML」页粘贴后执行action:tts.speaktarget:entity_id:tts.piperdata:media_player_entity_id:media_player.tian_yi_zhi_ping_8e02message:你好这是 Piper 本地语音。cache:true6.3 执行了没声音先分清 Piper 还是播放器先在 Piper 宿主机看日志cd/www/wwwroot/piperdockercompose logs--tail40wyoming-piper 默认是INFO启动会打Ready每次合成只写 DEBUG。执行 TTS 后日志仍停在[ls.io-init] done.不能说明「没调用 Piper」。只有 ERROR如下载失败、VoiceNotFound才会在默认日志里冒出来。现象结论执行后仍只有Ready/[ls.io-init] done.没有 ERRORPiper 进程健康合成是否发生要看 HA 日志或换播放器对照出现Network is unreachable/VoiceNotFoundPiper 侧失败回看 5.5 节ss -tnp | grep 10200里出现ESTAB已建立连接HA 确实连上了 Wyomingss -tlnp只能看到 LISTEN看不出客户端更稳的对照把tts.speak的播放器换成手机 Companion。手机有声 Piper HA 合成都正常问题在音箱这一侧。Piper 正常、智屏仍无声时开发者工具 → 状态看播放器是否为unavailable、是否is_volume_muted: true、volume_level是否一直是0。HA 里把音量拉到最右刷新后又变 0这台天翼智屏不接受或不回报HA 的音量设置。TTS 会按设备上报的音量去播报 0 就等于静音。用智屏遥控器 / 机身按键把音量调大。对同一实体执行Media player: Play media填一段公网可播的 MP3。能播歌、不能播 TTS多半是音箱访问不了 HA 的 TTS 文件。到设置 → 系统 → 网络把本地网络 URL改成音箱能访问的地址例如http://192.168.1.35:8123不要用localhost。天翼智屏常见限制音量不能被 HA 持久改写不一定能拉取 HA 的/api/tts_proxy/。对照用手机 App 或 Chromecast。6.4 设成语音助手的默认 TTS让 Assist / 语音卫星用 Piper 回答设置 → 语音助手侧栏偏下→ 添加助手或编辑现有助手。语言选中文。文字转语音选Piper跟做音色为容器里的zh_CN-huayan-medium。听写语音转文字是另一条链路可暂用云端或另外部署 Whisper。本文只保证念出来走本地 Piper。Home Assistant 2026.7 默认已启用assist_pipeline一般不用改configuration.yaml。列表是空的再检查配置里是否被关掉。七、自动化播报与音色微调日常播报不必每次打开开发者工具。在设置 → 自动化与场景 → 创建自动化里触发条件用门铃、洗衣完成等动作仍是同一套tts.speakaction:tts.speaktarget:entity_id:tts.piperdata:media_player_entity_id:media_player.tian_yi_zhi_ping_8e02message:洗衣机已经洗完了。把media_player_entity_id换成你实际的播放器。更完整的写法见 Using Piper TTS in automations。换语速改 Compose 里的PIPER_LENGTH小于 1 更快再docker compose up -d。换音色改PIPER_VOICE若已开LOCAL_ONLY须先按 5.5 节放入对应.onnx文件否则不会上网去下。八、安全与生产注意Wyoming没有账号密码能连上 10200 就能请求合成。不要把 10200 映射到公网防火墙只放行 Home Assistant 所在网段。语音模型体积不大但属于运行必需数据请把./config纳入备份。只读根文件系统镜像支持--read-only细节见 LinuxServer · read-only。跟做不必开启。九、备选docker run无 Compose 或临时试玩时Linuxdockerrun-d\--namepiper\-ePUID1000\-ePGID1000\-eTZAsia/Shanghai\-ePIPER_VOICEzh_CN-huayan-medium\-p10200:10200\-v/www/wwwroot/piper/config:/config\--restartunless-stopped\docker.xuanyuan.run/linuxserver/piper:2.4.2WindowsPowerShell一行docker run-d--name piper-e PUID1000-e PGID1000-e TZAsia/Shanghai-e PIPER_VOICEzh_CN-huayan-medium-p 10200:10200-v C:\docker\piper\config:/config--restart unless-stopped docker.xuanyuan.run/linuxserver/piper:2.4.2HA 中同样填写该主机的10200。连不上 HuggingFace 时仍按 5.5 节放模型需要LOCAL_ONLY时在命令里加-e LOCAL_ONLYtrue。十、升级、停止与数据先改 Compose 中的版本标签再cd/www/wwwroot/piperdockercompose pulldockercompose up-d./config里已下载的模型会保留。dockercompose down删除全部数据慎用会丢掉语音模型下次还要重新下载dockercompose downrm-rf/www/wwwroot/piper十一、常见问题 FAQQ1浏览器打开http://192.168.1.35:10200/报 ERR_CONNECTION_REFUSED 或 ERR_EMPTY_RESPONSEA都不是故障。本镜像没有管理后台。REFUSED多半还没ReadyEMPTY_RESPONSE说明 TCP 已接通Wyoming 不会回 HTTP。请到 Home Assistant 添加Wyoming 协议主机192.168.1.35端口10200。不要靠反复重启来「修好网页」。Q2日志Failed to update voices list/Network is unreachableA容器直连 HuggingFace 失败Errno101。后面仍可能出现Ready但config为空时 TTS 仍缺模型。按5.5 节放入.onnx.onnx.json再设LOCAL_ONLYtrue重建。不要把代理口令写进 Compose 或公开文档。Q3如何改成英文官方示例音色A把PIPER_VOICE改成en_US-lessac-mediumcompose up -d。HA 助手语言也改成英语避免中文句子用英文模型硬念。Q4中文镜像页写了STREAMING、PIPER_PROCSA过时译文。当前 LinuxServer 文档使用NO_STREAMING设了就关闭流式没有PIPER_PROCS。跟做以本文 Compose 为准。Q5Home Assistant 提示无法连接 / 超时A核对 IP 与端口、双方防火墙、以及 HA 是否host网络。跨 VLAN 时在 Piper 宿主机放行10200/tcp。HA 与 Piper 不在同一 Docker 网络时不要填容器名piper填宿主机可达 IP。Q610200 被占用A只改左侧ports:-10201:10200HA 里端口改为10201。Q7权限错误、模型写不进 configAPUID/PGID与宿主机目录所有者一致例如sudochown-R1000:1000 /www/wwwroot/piper/configQ8PIPER_LENGTH1.2为什么更慢A官方定义1.0为默认小于 1 更快大于 1 更慢。不是「越大越快」。Q9和 HA OS 自带的 Piper Add-on 怎么选AHA OS 附加组件商店用官方 Add-on 最省事。已经在 Ubuntu / NAS 上用HA Container时用本文镜像。不要在同一套 Assist 里重复接两个 Piper以免选错实体。Q10会不会拉成 meroxa/piperA坐标必须是linuxserver/piper。meroxa/piper是另一个项目。Q11能否完全离线A镜像用轩辕镜像拉取即可。语音列表和.onnx默认走 HuggingFace。通不了时按5.5 节预置文件并设LOCAL_ONLYtrue之后合成不依赖外网。Q12容器名/piperalready in useAdocker stop piper docker rm piper再docker compose up -d。Q13开发者工具里找不到「用 YAML 执行」A顶栏YAML页不能播 TTS。点动作右上角用用户界面模式搜「说话」即可。要手写 YAML 时点同一页的YAML 模式不要回到顶栏「YAML」。步骤与截图见6.2 节。Q14执行了 tts.speakPiper 日志没有新行是没调用到吗A不一定。默认 INFO 只在启动时打Ready合成过程是 DEBUG成功合成可以完全没有新日志。没有 ERROR 说明进程没崩。请看 HA设置 → 系统 → 日志搜 wyoming / tts或把播放器换成手机 Companion。Q15天翼智屏在 HA 里音量默认是 0拉满刷新又变回 0A播放器协议问题不是 Piper。显示 0 时 TTS 可能完全没声。用遥控器把音量调到能听电视的位置后再执行。对照见6.3 节手机 Companion 有声则 Piper 正常。十二、命令速查dockerpull docker.xuanyuan.run/linuxserver/piper:2.4.2cd/www/wwwroot/piper# macOScd ~/docker/piperdockercompose up-ddockercomposepsdockercompose logs-f--tail100ss-tlnp|grep10200# 然后在 Home Assistant 添加 Wyoming主机 端口 10200dockercompose down备选dockerrun-d--namepiper\-ePUID1000-ePGID1000-eTZAsia/Shanghai\-ePIPER_VOICEzh_CN-huayan-medium\-p10200:10200\-v/www/wwwroot/piper/config:/config\--restartunless-stopped\docker.xuanyuan.run/linuxserver/piper:2.4.2十三、延伸阅读linuxserver/piper 镜像页 · 标签列表LinuxServer 官方文档 · piperGitHub · linuxserver/docker-piperGitHub · OHF-Voice/wyoming-piperPiper 音色试听 · HuggingFace · piper-voicesHome Assistant · 本地语音助手同系列Home Assistant Container 部署轩辕镜像使用手册总结Compose 拉起linuxserver/piper:2.4.2日志2.4.2-ls123映射10200→10200必填PIPER_VOICE。HuggingFace 不通时放入中文模型并设LOCAL_ONLYtrue重建后日志应为Ready10200 succeeded无Network is unreachable。没有网页后台请在 Home Assistant 添加Wyoming 协议实测主机192.168.1.35:10200到开发者工具动作里执行tts.speak。协议口无认证不要把 10200 映射到公网。阅读原文轩辕镜像官方博客https://xuanyuan.cloud/blog/piper-docker-deploy
返回列表