SRT/VTT subtitles to speech, 322 voices, 75 languages, Docker AMD64+ARM64
734
字幕转语音工具 — 上传 SRT/VTT 字幕,自动生成多语言语音,支持 YouTube 多音轨制作
# 克隆
git clone https://github.com/yyzq-cf/ywsj-tts-studio.git
cd ywsj-tts-studio
# 配置环境变量(默认 admin/admin123)
cp .env.example .env
# 构建并启动
docker build -t ywsj-tts-studio .
docker run -d --name tts-studio --restart unless-stopped \
-p 5100:5100 \
--env-file .env \
-v $(pwd)/output:/app/output \
ywsj-tts-studio
# 或者使用 Docker Compose 一键启动
docker-compose up -d
# 访问
# http://你的IP:5100
# 默认账号: admin / admin123
镜像已发布至 Docker Hub,支持 AMD64 (x86_64) 和 ARM64 双平台架构:
ywsj/tts-studio:latest
| 平台 | 架构 | 适用场景 |
|---|---|---|
| linux/amd64 | x86_64 | VPS、PC服务器、Intel/AMD |
| linux/arm64 | ARM64 | 树莓派、Mac M系列、ARM 云服务器 |
直接拉取即可,Docker 会自动匹配当前平台架构:
docker pull ywsj/tts-studio:latest
💡 多架构镜像由 GitHub Actions 自动构建,代码推送到 master 后自动触发
| 端口 | 用途 |
|---|---|
| 5100/tcp | Web 界面 |
| 变量 | 默认值 | 说明 |
|---|---|---|
ADMIN_USERNAME | admin | 管理员用户名 |
ADMIN_PASSWORD | admin123 | 管理员密码 |
SECRET_KEY | tts-web-secret… | Flask Session 密钥 |
密码可在 Web 界面 ⚙️ 设置中修改,存储在 SQLite 数据库中(SHA-256 + salt 加密)
| 音色ID | 性别 | 风格 |
|---|---|---|
| zh-CN-YunxiNeural | 男声 | 云希(自然,推荐) |
| zh-CN-YunyangNeural | 男声 | 云扬(新闻播报) |
| zh-CN-XiaoxiaoNeural | 女声 | 晓晓(自然,推荐) |
| zh-CN-XiaoyiNeural | 女声 | 晓伊(温柔) |
| zh-CN-YunjianNeural | 男声 | 云健(激情/体育) |
| zh-CN-liaoning-XiaobeiNeural | 女声 | 晓北(东北话) |
| zh-CN-shaanxi-XiaoniNeural | 女声 | 晓妮(陕西话) |
| zh-HK-HiuGaaiNeural | 女声 | 粤语 |
| zh-TW-HsiaoChenNeural | 女声 | 台湾繁体 |
用不同音色生成多语言音频后,用 ffmpeg 合并:
ffmpeg -i video.mp4 -i chinese.mp3 -i english.mp3 \
-map 0:v -map 1:a -map 2:a \
-c:v copy -c:a aac \
-metadata:s:a:0 language=chi \
-metadata:s:a:1 language=eng \
output.mp4
MIT
Content type
Image
Digest
sha256:3d3bbe625…
Size
215.8 MB
Last updated
28 days ago
docker pull ywsj/tts-studio