pytorch根据开放场景语音文字合成新语音(VoiceLoop)

Song • 2119 次浏览 • 0 个回复 • 2018年01月12日

VoiceLoop

PyTorch实现了VoiceLoop:Voice Fitting and Synthesis via a Phonological Loop的文章中描述的方法。 

VoiceLoop是一种神经文本到语音(TTS),能够将文本转换为在野外采样的语音。一些演示样本可以在这里找到。

快速链接

  • 演示示例
  • 快速开始
  • 建立
  • 训练

快速开始

按照安装程序中的说明进行操作,然后执行:

python generate.py --npz data / vctk / numpy_features_valid / p318_212.npz --spkr 13 --checkpoint models / vctk / bestmodel.pth

结果将被放置在models/vctk/results。它会产生2个样本:

  • 生成的样本将被保存与gen_10.wav扩展。
  • ground-truth (test)也会生成,并以orig.wav扩展名保存。

您也可以生成相同的文本,但使用不同的说话者,具体为:

python generate.py --npz data / vctk / numpy_features_valid / p318_212.npz --spkr 18 --checkpoint models / vctk / bestmodel.pth

这将生成以下示例。

这是相应的图片:

图例:X轴是输出时间(声音样本)输入Y轴(文本/音素)。左图是扬声器10,右图是扬声器14。

最后,还支持自由文本:

python generate.py --text “ hello world ”-- spkr 1 --checkpoint models / vctk / bestmodel.pth

建立

要求:Linux/OSXPython2.7PyTorch 0.1.12Generation需要安装phonemizer,请按照设置说明那里。当前版本的培训代码需要对CUDA的支持。Generation可以在CPU上运行。

git clone https://github.com/facebookresearch/loop.git
cd loop
pip install -r scripts/requirements.txt

数据

用于训练的模型数据可以通过以下方式下载:

bash scripts/download_data.sh

该脚本下载并预处理VCTK的一个子集。这个子集包含美国口音的发言者。

使用Merlin对数据集进行预处理- 从每个音频片段中使用WORLD声码器提取声码器特征。下载后,数据集将位于data子文件夹下,如下所示:

loop
├── data└── vctk├── norm_info│   ├── norm.dat├── numpy_feautres│   ├── p294_001.npz│   ├── p294_002.npz│   └── ...└── numpy_features_valid

可以使用Kyle Kastner的以下脚本执行预处理管道:https://gist.github.com/kastnerkyle/cc0ac48d34860c5bb3f9112f4d9a0300。

预训练模型

Pretrainde模型可以通过以下途径下载:

bash scripts/download_models.sh

下载后,模型将位于models子文件夹下,如下所示:

loop
├── data
├── models├── blizzard├── vctk│   ├── args.pth│   └── bestmodel.pth└── vctk_alt

更新于10/25/2017:单个speaker模型可在models/blizzard/

SPTK和WORLD

最后,语音生成需要在Merlin中完成SPTK3.9WORLD声码器。要下载可执行文件:

bash scripts/download_tools.sh

其结果如下子目录:

loop
├── data
├── models
├── tools├── SPTK-3.9└── WORLD

训练

单喇叭

单一的扬声器模型是在blizzard 2011。数据应该如上所述下载和准备。数据准备就绪后,运行:

python train.py --noise 1 --expName blizzard_init --seq-len 1600 --max-seq-len 1600 --data data / blizzard --nspk 1 --lr 1e-5 --epochs 10

然后,继续训练模型:

python train.py --noise 1 --expName blizzard --seq-len 1600 --max-seq-len 1600 --data data / blizzard --nspk 1 --lr 1e-4 --checkpoint checkpoints / blizzard_init / bestmodel .pth --epochs 90

多音箱

vctk上训练一个新的模型,首先使用4的噪声等级训练模型,输入序列长度为100:

python train.py --expName vctk --data data / vctk --noise 4 --seq-len 100 --epochs 90

然后,继续使用2的噪音水平对全模型进行训练:

python train.py --noise 1 --expName blizzard --seq-len 1600 --max-seq-len 1600 --data data/blizzard --nspk 1 --lr 1e-4 --checkpoint checkpoints/blizzard_init/bestmodel.pth --epochs 90

引文

如果你发现这个代码在你的研究中有用,那么请引用:

@article{taigman2017voice,title           = {VoiceLoop: Voice Fitting and Synthesis via a Phonological Loop},author          = {Taigman, Yaniv and Wolf, Lior and Polyak, Adam and Nachmani, Eliya},journal         = {ArXiv e-prints},archivePrefix   = "arXiv",eprinttype      = {arxiv},eprint          = {1705.03122},primaryClass    = "cs.CL",year            = {2017}month           = October,
}

许可证

LoopCC-BY-NC许可证。

原创文章,转载请注明 :pytorch根据开放场景语音文字合成新语音(VoiceLoop) - pytorch中文网
原文出处: https://www.ptorch.com/news/108.html
问题交流群 :168117787

pytorch根据开放场景语音文字合成新语音(VoiceLoop)相关推荐

  1. cesium实现图片与文字合成新图标

    文章目录 1.实现效果 2.实现方法 2.1背景 2.2思路 2.3实现 Cesium实战系列文章总目录: 传送门 1.实现效果 2.实现方法 2.1背景 在Cesium项目开发过程中,需要使用点聚合 ...

  2. python实现文字转语音的合成

    创建应用 https://console.bce.baidu.com/ai/#/ai/speech/overview/index 访问百度ai语音 语音合成 https://ai.baidu.com/ ...

  3. 语音识别方案 - 联想语音团队多场景实时语音文字转换方案

    [本文转载自联想乐语音论坛] 语音技术一直是人工智能的重要领域之一,其应用也日益广泛.语音技术本身也包括许多细分领域,如远场语音识别.副语言语音属性.说话人日志.声纹识别防欺骗攻击和零资源TTS等. ...

  4. 小程序语音之文字合成语音

    步骤: 1.获取百度语音token 2.将文字合成语音,获取url 3.播放url 一.获取token getBaiDuYuYinAccessToken(body) {return doRequest ...

  5. 仅用1/4数据量还原真人语音100%细节 火山语音上新超自然对话语音合成技术

    ‍数据智能产业创新服务媒体 --聚焦数智 · 改变商业 如今,数字化转型成为了抓住新一轮科技革命和产业变革浪潮的关键.无论是中国还是全球其他经济体,都将破局点聚焦于数字化转型.能否成功实现全面的数字化 ...

  6. python语音在线编辑-python实现语音在线合成,让你的小说自己念给你听

    前言 有声小说相信大家都不陌生了, 里面的音频基本都是一些声优录制的.其实除了录制音频, 咱们可以利用百度开放的api接口使用python语言在线合成语音. 制作属于自己的有声小说, 一睹为快吧!! ...

  7. 文字直接转语音,一直都这么简单!

    文字转语音其实很简单,找到一个好用的工具就行了.如果你是这方面的小白,看完这篇文章肯定会茅塞顿开.     一.文字直接转语音的工具     现在市面上文字转语音的工具非常多,基本上都是付费的,之前有 ...

  8. 站在Z时代社交风口 融云打造语音聊天室新模式

    谁也没想到,2019年第一个风口竟然来的如此高调. 2019年1月,排名App Store榜首既不是微信.支付宝这些传统大牌,也不是抖音.拼多多这样的互联网新贵,而是一款主打语音社交的App成功登顶. ...

  9. 面对面翻译小程序是微信团队针对面对面沟通的场景开发的流式语音翻译小程序,通过微信同声传译插件提供了语音识别,文本翻译等功能。

    面对面翻译小程序 面对面翻译小程序是微信团队针对中英文面对面沟通的场景开发的流式语音翻译小程序,基于微信同声传译插件封装实现,提供了中英文语音识别,文本翻译等功能. 预览 下载与使用 克隆代码 pro ...

最新文章

  1. POJ 2411 Mondriaan's Dream(状态压缩DP)
  2. 三:Java之Applet
  3. ubuntu下sogou突然不能用
  4. iphone7无服务_iphone7无服务无信号怎么办
  5. [SceneKit] 不会 Unity3D 的另一种选择
  6. 揭秘新的供应链攻击:一研究员靠它成功入侵微软、苹果等 35 家科技公司
  7. 让用VS2013编写的程序在XP中顺利运行
  8. ftp服务器通信协议设计,基于FTP协议的文件传输服务器的研究
  9. 自动化所宗成庆研究员:108页PPT干货读懂NLP的过去与现在!(附教材PPT)
  10. linux apt 安装命令
  11. 2007所做更改会影响共用模板normal
  12. JAVA中的getBytes()方法(史上最能明白的总结)
  13. 用计算机做电子贺卡送祝福,春节祝福电子贺卡模板制作
  14. 使用 Vue 和 epub.js 制作电子书阅读器
  15. python预处理c语言_C语言预处理器
  16. XP IIS下配置.net的问题总结与简单解决方法
  17. 佳能打印机手机显示未连接服务器失败,佳能打印机连不上手机
  18. 面试网答题(如老牛网)
  19. java——简易绘图板
  20. Ubunbu18.4运行代码bug提示:Successful NUMA node read from SysFS had negative value (-1)

热门文章

  1. 志愿者系统/新时代文明实践平台
  2. 分清概念十分重要系列之--关于GPS,你需要了解这些
  3. 面向对象的C++了解
  4. Buffon投针实验
  5. 阿里云配置DNS服务器
  6. ubuntu下屏幕闪烁
  7. 通过freemarker模板,使用jsoup将html转换为word,包含图片
  8. HMS Core Discovery第15期直播预告|构筑立体世界,共造沉浸式营销
  9. 设计数据密集型应用——分布式系统的麻烦(8)
  10. http java编程_Java编程:发送HTTP请求到服务器