tacotron

用 TensorFlow 复现经典端到端语音合成,从文本直接生成语音

Tacotron 是一个基于 TensorFlow 实现的端到端文本转语音(TTS)模型,源自谷歌的论文《Tacotron: A Fully End-to-End Text-To-Speech Synthesis Model》。它解决了传统 TTS 系统需要复杂管线(如文本分析、音素对齐、声学模型、波形拼接)的问题,直接用神经网络将文本序列映射为线性频谱图,再通过 Griffin-Lim 算法重建语音波形。核心能力包括:字符级输入、注意力机制自动对齐、自回归解码生成频谱、支持多种超参数调节。项目提供了完整的训练和合成脚本,适合研究者复现实验或开发者快速搭建 TTS 原型。虽然音质不如现代 WaveNet 或 Tacotron 2,但作为早期端到端 TTS 的经典实现,对理解 TTS 原理和入门深度学习语音合成有重要参考价值。

开源 free 音频音乐
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 1832
维护状态 低维护
是否开源
定价模式 free

项目数据

分类音频音乐
开发团队Kyubyong
所属国家
官网地址
定价模式free
价格说明开源项目,Apache-2.0许可证,可自由使用和部署,无付费版本。
访问状态
是否开源
开源协议Apache-2.0
主要语言Python
技术栈/模型speech,speech-synthesis-model,tensorflow,tts
GitHub 星标★ 1832
30天Star增速
HF 下载量
上线时间2017-05-16 00:00:00
最近更新2026-08-01 00:00:00
维护状态低维护
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-09
浏览次数2

使用教程

难度:进阶 约 30 分钟 部署方式:本地安装 5 步

环境要求

  • Python 环境(项目为 Python 实现)
  • NumPy >= 1.11.1
  • TensorFlow >= 1.3
  • librosa、tqdm、matplotlib、scipy
  • 语音数据集:LJ Speech Dataset(或自备数据)

安装与启动步骤

  1. 1获取项目代码

    把仓库克隆到本地,进入项目目录后再做后续操作。

    git clone https://github.com/Kyubyong/tacotron
    cd tacotron
  2. 2安装依赖库

    README 的 Requirements 列出这几个包:NumPy、TensorFlow、librosa、tqdm、matplotlib、scipy。

    pip install numpy tensorflow librosa tqdm matplotlib scipy
  3. 3准备语音数据

    下载 LJ Speech Dataset(约 24 小时英文语音)作为训练数据;README 说明也可用自备数据或 Nick Offerman 有声书、World English Bible。

  4. 4调整超参数

    README 的 Training 章节 STEP 1 要求先调整超参数(hparams),请对照仓库 README 修改后再继续。

  5. 5开始训练

    按 README 的 Training 章节步骤执行训练;该章节节选不完整,具体命令请以仓库 README 为准。

如何确认成功

按 README Training 章节执行后,终端能持续输出训练日志/损失信息,即表示流程已跑通。

常见问题

Q:必须用哪个数据集?

A:README 使用三个数据集:LJ Speech Dataset(公开、约 24 小时,常用基准)、Nick Offerman 有声书(约 18 小时)、World English Bible(约 72 小时)。也可以准备自己的数据。

Q:LJ Speech Dataset 在哪里下载?

A:README 给出的地址是 https://keithito.com/LJ-Speech-Dataset/,从该页面获取数据。

Q:依赖装不上怎么办?

A:项目要求 TensorFlow >= 1.3,属较老版本,建议在独立虚拟环境或对应的旧版 Python 环境中安装,避免与新版 TensorFlow 冲突。

Q:训练大概要多久?

A:README 未给出训练时长;数据集本身从 18 小时到 72 小时不等,训练耗时取决于数据和硬件(GPU 更合适)。

注意事项

  • README 未给出完整安装与训练命令,训练相关命令请以仓库完整 README 为准。
  • Requirements 要求 TensorFlow >= 1.3,安装前先确认版本,建议使用虚拟环境隔离。
  • 数据集需自行下载并按 README 要求放置,README 未提供自动下载脚本。
  • 项目为论文复现性质,音质与现代 TTS 模型存在差距。

核心亮点

  • 完整实现 Tacotron 论文,包含注意力机制和 Griffin-Lim 波形重建
  • 提供预训练模型和合成脚本,开箱即用生成语音
  • 代码结构清晰,便于学习端到端 TTS 训练流程

不足之处

  • 音质受限于 Griffin-Lim,不如 WaveNet 等神经声码器
  • 训练速度慢,且依赖旧版 TensorFlow 1.x,环境配置复杂
  • 文档/社区待观察

适用场景

  • 学术研究:复现经典 TTS 模型,对比不同架构
  • 教学演示:展示端到端语音合成原理
  • 轻量级 TTS 原型开发:快速生成语音用于测试

替代项目

Tacotron 2、FastSpeech、WaveNet

项目介绍

tacotron 是音频音乐领域的开源项目,由 Kyubyong 开发,2017 年首次发布。

在全站 13,014 个收录项目中,它的 GitHub 星标数(1,832)位列前 30%,在音频音乐分类的 738 个项目里位列前 11%。

项目已超过三个月没有代码更新,维护节奏明显放缓,最近一次代码更新于 2026-08-01。Apache-2.0许可证,可自由使用和部署,无付费版本。

它主要面向的使用场景是:学术研究:复现经典TTS模型,对比不同架构。同类可对比的替代方案包括 Tacotron 2、FastSpeech、WaveNet。

上一篇:bot-whatsapp

下一篇:RealTimeSingingSynthesizer

同类项目推荐

tango 开源

输入一句话,自动生成匹配的音频内容

A family of diffusion models for text-to-audio generation.

★ 1239 2026-08-09
AuK 开源

一个模型搞定语音生成、编辑与分离

AuK: An Open-Source Foundational Model for Speech Generation and Editing

★ 1236 2026-09-13
swift-tts 开源

Swift 项目三行代码接入系统 TTS,兼容 TCA 和 Combine

A straightforward package containing version for Swift modern concurrency, Point-Fre···

★ 52 2026-08-09
ai-dj 开源

现场演出中实时用 AI 生成音乐,保持人类掌控

AI music generation for live performance - Standalone (Ableton Link) + VST3/AU. 8 tr···

★ 245 2026-08-09