文章目录
-
-
-
- 前言
* 启动脚本
* 启动容器
* 模型下载
* 使用方式
- 前言
-
-

前言
为什么要使用这种框架,原因很简单,分离环境和工作区间,因为我不可能只跑一个应用,因此docker就是最好的选择。
背景是实现文字转语音的简单AI功能,实现转化自由,为什么叫ai因为它集成了hugeface的语音ai模型。
启动脚本
1# 使用 Ubuntu 22.04 LTS(你指定的版本) 2FROM ubuntu:22.04 3 4ENV DEBIAN_FRONTEND=noninteractive 5 6# 安装最小运行依赖 7RUN apt-get update && \ 8 apt-get install -y --no-install-recommends \ 9 ca-certificates \ 10 libatomic1 \ 11 libgomp1 \ 12 alsa-utils \ 13 && rm -rf /var/lib/apt/lists/* 14 15# === 完整复制 Piper 官方打包的所有内容(推荐方式)=== 16# 这样包含了 piper 可执行文件 + 所有共享库 + 自带 espeak-ng-data 17WORKDIR /opt 18COPY piper/piper_amd64.tar.gz ./ 19RUN tar -xzf piper_amd64.tar.gz \ 20 && mv piper piper-full \ 21 && rm piper_amd64.tar.gz 22 23# 将 piper 可执行文件加入 PATH 24ENV PATH="/opt/piper-full:${PATH}" 25 26# 创建模型目录并复制模型 27RUN mkdir -p /models 28COPY models/zh_CN-huayan-medium.onnx /models/ 29COPY models/zh_CN-huayan-medium.onnx.json /models/ 30 31# 工作目录 32WORKDIR /app 33 34# 默认交互 shell 35CMD ["/bin/bash"] 36
启动容器
1// 构建镜像 2docker build -t local-piper-tts-ubuntu . 3 4// 启动容器 5docker run -it --rm \ 6-v "$(pwd)/models:/models" \ 7-v "$(pwd)/output:/app/output" \ 8local-piper-tts-ubuntu 9 10
这里讲下 -v 意思是将当前目录下的models 挂载到容器根目录下的models
模型下载
1 2# 1. zh_CN-huayan-medium(你已经有了,但再列出来) 3wget https://huggingface.co/rhasspy/piper-voices/resolve/main/zh/zh_CN/huayan/medium/zh_CN-huayan-medium.onnx 4wget https://huggingface.co/rhasspy/piper-voices/resolve/main/zh/zh_CN/huayan/medium/zh_CN-huayan-medium.onnx.json 5 6
使用方式
1cat /app/output/狼来了.txt | piper --model /models/zh_CN-huayan-medium.onnx --output_file /app/output/狼来了.wav 2 3echo "你好!不好意思!谢谢!再见!你真漂亮!" | \ 4piper --model /models/zh_CN-huayan-medium.onnx --output_file /app/output/test_zh.wav 5
就是这么简单,生成示例如下

想要部署的可以联系我 「我在闲鱼发布了【Docker服务部署指导】」
《ubuntu + Docker + piper + 实现TTS自由》 是转载文章,点击查看原文。