栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Tacotron2中文训练笔记

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Tacotron2中文训练笔记

Tacotron2(NVIDIA版)中文训练笔记

Tacotron2项目地址:https://github.com/NVIDIA/tacotron2

Tacotron2英文训练笔记:https://blog.csdn.net/qq_44951010/article/details/124828260

从科大讯飞爬取音频数据:https://blog.csdn.net/qq_44951010/article/details/124829630

步骤
  1. 下载项目或通过git clone https://github.com/NVIDIA/tacotron2.git拉取项目

  2. 准备数据,可以用开源的中文数据集,也可以自己制造,自己制造过程如下:

    • 准备中文文本(我直接提取了标贝数据集的中文),放在一个txt文件中,格式如下:

      卡尔普陪外孙玩滑梯
      假语村言别再拥抱我
      宝马配挂跛骡鞍貂蝉怨枕董翁榻
      邓小平与撒切尔会晤
      老虎幼崽与宠物犬玩耍
      身长约五尺二寸五分或以上
      ...
      
    • 通过爬虫从科大讯飞爬取文本对应的音频,详见从科大讯飞爬取音频数据

    • 将音频转换为.wav格式,需要安装ffmpeg并添加到环境变量,代码参考:

      # -*- coding: utf-8 -*-
      from ffmpy import FFmpeg as mpy
      import os
      
      
      def trans(mp3_file, wav_folder):
          # 创建 wav 文件路径
          wav_file = os.path.join(wav_folder)
          wav_file = os.path.join(wav_file, 
              '{}.wav'.format(os.path.basename(mp3_file).strip().split('.')[0]))
          # 创建转换时的命令行参数字符串
          cmder = '-f wav -ac 1 -ar 16000'
          # 创建转换器对象
          mpy_obj = mpy(
              inputs = {
                  mp3_file: None
              },
              outputs = {
                  wav_file: cmder
              }
          )
          print('执行cmder命令: {}'.format(mpy_obj.cmd))
          # 执行转换
          mpy_obj.run()
      
      
      def mp3_to_wav(mp3_folder, wav_folder):
          for mp3_file in os.listdir(mp3_folder):
              mp3_file = os.path.join(mp3_folder, mp3_file)
              trans(mp3_file, wav_folder)
      
      
      if __name__ == '__main__':
          mp3_to_wav('mp3文件夹', 'wav文件夹')
      
    • 通过lazy_pinyin模块生成中文文本对应的拼音,代码示例:

      from pypinyin import lazy_pinyin, Style
      
      text = "我好菜啊"
      text = " ".join(lazy_pinyin(text, style=Style.TONE3))
      print(text)
      
  3. 得到中文文本的应的音频和拼音后,建它们的关系,即需要生成filelists目录下的三个文件,格式如下:

  4. 打开hparams.py文件,将samling_rate(采样率)改为16000,然后就可以开始训练了

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/893109.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号