[关闭]
@mymy 2020-12-10T09:41:15.000000Z 字数 2071 阅读 4193

基于神经网络的语音合成

机器学习 实验


You can click here to get the English version.

实验目的

  1. 掌握语音信号处理的基本知识。
  2. 了解序列建模方法在语音合成领域的应用。
  3. 理解Tacotron2语音合成模型的基本流程,并加以实践。

数据集描述

  1. 本教程采用英文语音合成公开数据集LJSpeech
  2. 包含有13000个短音频,每个音频有对应的文字,总时长24小时

实验环境

实验时间及地点

提交截止时间

实验形式

团队协作完成

实验步骤

基于神经网络的语音合成模型的实现代码可参考示例代码,详细步骤如下:

  1. 下载LJSpeech数据集,并解压为./data/LJSpeech-1.1

  2. 提取真实声音的Mel-Spectrogram

    1. python extract_mel_spec.py -i data/LJSpeech-1.1/wavs -o data/LJSpeech-1.1-spectrogram -n 16
  3. 训练Tacotron2

    1. # 单GPU训练
    2. CUDA_VISIBLE_DEVICES=7 python train.py save_dir ckpt/v2 batch_size 48 val_epoch 20 audio_root data/LJSpeech-1.1/wavs mel_spectrogram_root data/LJSpeech-1.1-spectrogram
    3. # 多GPU训练
    4. CUDA_VISIBLE_DEVICES=6,7 python distributed.py save_dir ckpt/v1 batch_size 48 val_epoch 20 audio_root data/LJSpeech-1.1/wavs mel_spectrogram_root data/LJSpeech-1.1-spectrogram
  4. Inference

    1. CUDA_VISIBLE_DEVICES=6 python inference.py checkpoint_path ckpt/v1/model_00052130
  5. 可视化测试结果,整理实验结果并完成实验报告(实验报告模板将包含在示例仓库中)

[可选1] 感兴趣的同学可调整配置文件中的参数, 如encoder_kernel_size, learning rate

[可选2] 分析随着模型训练的epoch数的增加,生成声音的Mean Opinion Score (MOS)变化趋势

[可选3] 感兴趣的同学可自行探索使用WaveGlow将预测的Mel-Spectrogram还原为Waveform(替换示例代码中的Griffin-Lim算法),代码可参考GitHub仓库(注意:训练WaveGlow过程中Mel-Spectrogram提取方法和参数以及数据集划分应与训练Tacotron2保持一致)

扩展建议

[扩展1] 感兴趣的同学可以训练一个中文语音合成模型

[扩展2] 感兴趣的同学可以自己设计个软件(简单的手机APP或者网页),例如页面有一个输入框和一个播放按钮,输入一段英文,点击播放按钮可以听到朗读这段英文的声音

[扩展3] 同学也可以展示一些声音生成失败的例子,例如单词被跳过或重复朗读

评分标准

评分项 占比 说明
出勤 40% 特殊情况可向学院请假
代码有效 20% 代码可以编译通过,没有任何编译错误
实验报告 30% 是否按照实验模板填写
代码规范 10% 主要考核代码变量命名是否规范

提交方式

  1. 访问ml-lab.scut-smil.cn
  2. 点击对应的提交入口
  3. 填写自己的姓名、学号,上传pdf格式的报告和zip格式的代码压缩包

注意事项


有任何的意见或者建议都可以直接在qq群中向助教反映。

参考资料

[1] http://fancyerii.github.io/dev287x/ssp

[2] Speech Signal Processing for Machine Learning

[3] Shen J, Pang R, Weiss R J, et al. Natural tts synthesis by conditioning wavenet on mel spectrogram predictions. In ICASSP, 2018.

[4] Prenger R, Valle R, Catanzaro B. Waveglow: A flow-based generative network for speech synthesis. In ICASSP, 2019.

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注