WaveRNN

用 WaveRNN 快速生成高保真语音,让 TTS 更自然流畅

WaveRNN 是一个基于 PyTorch 的神经声码器与语音合成(TTS)项目,由 fatchord 开发。它实现了 WaveRNN 模型,能够将频谱特征(如 mel 频谱)转换为高质量、高采样率的原始音频波形,解决了传统声码器(如 Griffin-Lim)音质粗糙、生成速度慢的问题。项目核心能力包括:支持单说话人和多说话人训练,提供预训练模型(如 LJSpeech 数据集),内置高效的波形生成推理代码,并集成了 Tacotron 等前端 TTS 模型,形成完整的语音合成流水线。此外,项目还提供了数据预处理、训练和评估的完整脚本,方便研究者复现和二次开发。其生成音频的自然度和实时性在当时具有领先水平,是学习神经声码器和构建 TTS 系统的重要参考实现。

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

项目数据

分类音频音乐
开发团队fatchord
所属国家
定价模式free
价格说明开源项目,MIT许可证,可免费使用和修改,无付费版本。
访问状态
是否开源是
开源协议MIT
主要语言Python
技术栈/模型neural-vocoder,pytorch,speech-synthesis,tacotron,text-to-speech,tts,wavernn
GitHub 星标★ 2191
30天Star增速
HF 下载量
上线时间2018-03-16 00:00:00
最近更新2026-09-12 00:00:00
维护状态低维护
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-09
浏览次数5

使用教程

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

环境要求

  • Python >= 3.6
  • 已安装 Pytorch 1 且带 CUDA 支持
  • 可用的 pip 包管理环境
  • 如需自训练,需准备 LJSpeech 数据集

安装与启动步骤

  1. 1克隆项目代码

    把 WaveRNN 仓库下载到本地,进入项目目录后再进行后续安装操作。

    git clone https://github.com/fatchord/WaveRNN.git
    cd WaveRNN
  2. 2安装依赖

    安装项目其余 Python 依赖;Pytorch 1 with CUDA 需自行按官网方式先行安装。

    pip install -r requirements.txt
  3. 3快速体验 TTS

    直接运行会读取默认 sentences.txt,生成结果输出到新的 quick_start 文件夹。

    python quick_start.py
  4. 4自定义句子合成

    用 --input_text 指定文本合成;加 -u 走非批处理模式,音质更好但速度更慢。

    python quick_start.py -u --input_text "What will happen if I run this command?"
  5. 5数据预处理

    自训练需先下载 LJSpeech 数据集,并把 hparams.py 里的 wav_path 指向数据集路径。

    python preprocess.py
  6. 6训练 Tacotron

    先训练前端 Tacotron 模型,为后续 WaveRNN 提供声学特征输入。

    python train_tacotron.py
  7. 7生成 GTA 数据集

    无论 Tacotron 是否训练完成,都可用该参数强制生成 GTA 数据集供 WaveRNN 训练。

    python train_tacotron.py --force_gta

关键配置

配置项必填说明示例
wav_path是hparams.py 中的数据集音频路径,自训练前需修改指向 LJSpeech 数据集。/your/path/to/LJSpeech-1.1/wavs

如何确认成功

quick_start 目录下生成 wav 音频文件与 attention 图,能正常播放即表示流程跑通。

常见问题

Q:Tacotron 没训练完能继续吗?

A:可以。运行 python train_tacotron.py --force_gta,即使训练未结束也会强制生成 GTA 数据集。

注意事项

  • Pytorch 1 with CUDA 需按官网指引单独安装,requirements.txt 不含它。
  • 合成结果默认输出到项目下新建的 quick_start 文件夹。
  • README 中 WaveRNN 训练命令 py 被截断,未给出完整命令故本教程未列出。
  • 自训练完整流程需按 Tacotron、GTA 数据集、WaveRNN 的顺序依次执行。

核心亮点

  • 生成音频质量高,接近真人语音,显著优于传统声码器
  • 推理速度快,支持实时合成,适合实际应用
  • 代码结构清晰,提供完整训练和推理流程,易于上手

不足之处

  • 模型训练资源消耗大,需要较高 GPU 显存
  • 文档和社区维护不够活跃,部分依赖库较旧
  • 对长文本的稳定性有待提升

适用场景

  • 语音合成研究,用于对比和验证新模型
  • 构建低延迟 TTS 服务,如语音助手、有声书
  • 音频生成教学,学习神经声码器原理

替代项目

HiFi-GAN、MelGAN、Parallel WaveGAN

项目介绍

WaveRNN 是音频音乐领域的开源项目,由 fatchord 开发,2018 年首次发布。

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

项目已超过三个月没有代码更新,维护节奏明显放缓,最近一次代码更新于 2026-09-12。MIT许可证,可免费使用和修改,无付费版本。

它主要面向的使用场景是:语音合成研究,用于对比和验证新模型。同类可对比的替代方案包括 HiFi-GAN、MelGAN、Parallel WaveGAN。

上一篇:GPA

下一篇:openai-edge-tts

同类项目推荐

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···

★ 246 2026-08-09