Project Icon

tacotron

开源文字到语音合成系统,采用TensorFlow实现

Tacotron是基于TensorFlow的开源语音合成系统,能够直接将文本转换为语音。本项目独立实现了Google的论文'Tacotron: Towards End-to-End Speech Synthesis',虽然当前性能未及Google的演示,但已具备一定参考价值。支持包括LJ Speech和Blizzard 2012在内的多种语音数据集,并允许通过命令行调整和优化参数。项目还提供了预训练模型的下载与部署指南,便于用户快速开始使用及测试。

Tacotron 项目介绍

Tacotron 项目是一项开源的语音合成实现,基于 Google 在 2017 年 4 月发表的名为《Tacotron: Towards End-to-End Speech Synthesis》的论文,使用 TensorFlow 进行构建。该项目致力于开发一个能够直接从文本与音频对中学习来合成语音的神经网络文本到语音(TTS)模型。

音频示例

  • 项目中提供了多个通过该代码库训练的模型音频示例。其中一个模型在 LJ Speech 数据集上训练了 441,000 步,而另一个模型由社区贡献者 @MXGray 在 Nancy Corpus 数据集上训练了 140,000 步。通常,语音在训练到约 20,000 步时开始变得简明易懂。

最近更新

项目团队与社区不断对代码库进行优化和改进。例如,@npuichigo 修复了一个关于 dropout 未在 prenet 中应用的错误,另一位贡献者 @begeekmyfriend 则在项目中引入了 Tacotron 2 论文中的位置敏感注意力和停止标识功能,能够大大减少训练模型所需的数据量。

项目背景

Tacotron 的开发始于 2017 年,是对 Google 原论文中描述模型的独立开源实现尝试。尽管该实现尚未达到 Google 演示的高质量,但团队和社区都期望通过不断的改进能够实现这一目标。目前,该项目欢迎贡献者通过 Pull Request 的形式参与改进。

快速开始指南

安装依赖

  1. 安装 Python 3。

  2. 为你的平台安装最新版本的 TensorFlow。如果条件允许,建议选择支持 GPU 的版本来获得更佳性能。(支持 TensorFlow 1.3 及以后的版本)

  3. 安装其它需要的依赖项:

    pip install -r requirements.txt
    

使用预训练模型

  1. 下载并解压模型:

    curl https://data.keithito.com/data/speech/tacotron-20180906.tar.gz | tar xzC /tmp
    
  2. 运行 demo 服务器:

    python3 demo_server.py --checkpoint /tmp/tacotron-20180906/model.ckpt
    
  3. 在浏览器中访问 localhost:9000,输入你想合成的文本即可。

训练

训练模型需要至少 40GB 的磁盘空间。

  1. 下载一个语音数据集,如 LJ SpeechBlizzard 2012 数据集。

  2. 将数据集解压到 ~/tacotron 目录下。

  3. 预处理数据:

    python3 preprocess.py --dataset ljspeech
    
  4. 训练模型:

    python3 train.py
    

    可通过命令行的 --hparams 参数调整训练超参数,如 --hparams="batch_size=16,outputs_per_step=2"。推荐在训练和评估时都使用相同的超参数设置。

  5. (可选)使用 Tensorboard 监控训练过程:

    tensorboard --logdir ~/tacotron/logs-tacotron
    
  6. 从检查点开始合成:

    python3 demo_server.py --checkpoint ~/tacotron/logs-tacotron/model.ckpt-185000
    

    或在命令行上运行 eval.py

    python3 eval.py --checkpoint ~/tacotron/logs-tacotron/model.ckpt-185000
    

注意事项及常见问题

  • 使用 TCMalloc 可以提高训练速度,并避免默认分配器偶尔出现的速度瓶颈。通过安装 TCMalloc 并设置 LD_PRELOAD=/usr/lib/libtcmalloc.so 来启用。
  • 可通过下载 CMUDict 并传递 --hparams="use_cmudict=True" 参数来使用 ARPAbet 发音字典。
  • 可设置 --slack_url 来接收训练进度的定时通知。
  • 有时模型会出现损失值的突增,此时可以通过从一个早期的检查点重新启动训练来节省恢复时间。

Tacotron 项目在不断进化中,用户和贡献者可以通过代码库提供的链接参与更多详细的研究和改进工作。

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

白日梦AI

白日梦AI提供专注于AI视频生成的多样化功能,包括文生视频、动态画面和形象生成等,帮助用户快速上手,创造专业级内容。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

讯飞绘镜

讯飞绘镜是一个支持从创意到完整视频创作的智能平台,用户可以快速生成视频素材并创作独特的音乐视频和故事。平台提供多样化的主题和精选作品,帮助用户探索创意灵感。

Project Cover

讯飞文书

讯飞文书依托讯飞星火大模型,为文书写作者提供从素材筹备到稿件撰写及审稿的全程支持。通过录音智记和以稿写稿等功能,满足事务性工作的高频需求,帮助撰稿人节省精力,提高效率,优化工作与生活。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号