RapidTTS项目(文本转语音):支持中文、数字和英文转语音

阅读: 评论:0

RapidTTS项目(文本转语音):支持中文、数字和英文转语音

RapidTTS项目(文本转语音):支持中文、数字和英文转语音

目录

      • 引言
      • RapidTTS
        • csmsc_tts2
          • 使用步骤
        • csmsc_tts3
          • 使用步骤
        • ljspeech_tts3
          • 使用步骤
      • 写在最后

引言

  • 对于一个工具,大部分情况是我们会先在自己数据集上跑一下,看看效果如何,才会来决定是否引入这个工具。
  • 但是目前大部分项目的情况是,只是想简单试验一下也比较困难。虽说有着完善的说明文档,但是复杂的运行环境往往让人筋疲力竭。
  • 这次想要介绍的是我们Team-RapidAI-NG整理的RapidTTS项目

RapidTTS

  • 支持合成语言: 中文和数字
目录名称推理引擎支持语言
csmsc_tts2Paddle+ONNXRuntime中文和数字
csmsc_tts3ONNXRuntime中文和数字
ljspeech_tts3ONNXRuntime英文
csmsc_tts2
  • 共分为三步,frontendacousticvocoder

    • 其中acoustic这一步模型推理目前基于PaddlePaddle,
    • vocoder模型推理基于ONNXRuntime
  • 其中PaddleSpeech中提供的预训练模型可以参见link。在RapidTTS2中使用的是:

    主要部分具体模型支持语言
    声学模型speedyspeech_csmsczh
    声码器pwgan_csmsczh
使用步骤
  1. 下载resources, Google Drive | 百度网盘,提取码:kmcf, 解压到RapidTTS/csmsc_tts2目录下

  2. 安装<

    pip install - -i /
    
  3. 运行tts2.py

    python tts2.py
    
  4. 运行日志如下:

    初始化前处理部分frontend done!初始化提取特征模型am_predictor done!初始化合成wav模型合成指定句子Building prefix dict from the default dictionary ...Loading model from cache /tmp/jieba.cacheLoading model cost 1.431 seconds.Prefix dict has been built successfully.infer_result/001.wav done!      cost: 7.226019859313965sinfer_result/002.wav done!      cost: 9.149477005004883sinfer_result/003.wav done!      cost: 3.4020116329193115sinfer_result/004.wav done!      cost: 14.5472412109375sinfer_result/005.wav done!      cost: 14.142913818359375sinfer_result/006.wav done!      cost: 10.191686630249023sinfer_result/007.wav done!      cost: 15.726643800735474sinfer_result/008.wav done!      cost: 15.421608209609985sinfer_result/009.wav done!      cost: 8.083441972732544sinfer_result/010.wav done!      cost: 10.538750886917114sinfer_result/011.wav done!      cost: 7.974739074707031sinfer_result/012.wav done!      cost: 7.274432897567749sinfer_result/013.wav done!      cost: 8.204563856124878sinfer_result/014.wav done!      cost: 8.994312286376953sinfer_result/015.wav done!      cost: 5.084768056869507sinfer_result/016.wav done!      cost: 5.3102569580078125s
    
csmsc_tts3
  • 支持合成语言: 中文和数字,不支持英文字母

  • 基于PaddleSpeech下的TTS3整理而来

  • 整个推理引擎只采用ONNXRuntime

  • 其中PaddleSpeech中提供的预训练模型可以参见link。在csmsc_tts3中使用的是:

    主要部分具体模型支持语言
    声学模型fastspeech2_csmsczh
    声码器hifigan_csmsczh
使用步骤
  1. 下载resources, Google Drive | 百度网盘,提取码:a2nw, 解压到csmsc_tts3目录下,最终目录结构如下:

     csmsc_tts3├── ├── ├── frontend├── main.sh├── tts3.py├── infer_result├── resources│   ├── fastspeech2_csmsc_onnx_0.2.0│   │   ├── │   │   └── phone_│   └── └──syn_utils.py
    
  2. 安装<

    pip install - -i /
    
  3. 运行tts3.py

    python tts3.py
    
  4. 运行日志如下:

     frontend done!warm up done!Building prefix dict from the default dictionary ...Loading model from cache C:UsersWANGJI~1AppDataLocalTempjieba.cacheLoading model cost 0.836 seconds.Prefix dict has been built successfully.009901, mel: (331, 80), wave: 99300, time: 1.3718173s, Hz: 72385.938204132, RTF: 0.33155610876132857.009902, mel: (288, 80), wave: 86400, time: 1.1350326000000024s, Hz: 76121.49025085453, RTF: 0.3152854722222228.009903, mel: (341, 80), wave: 102300, time: 1.4687841000000006s, Hz: 69649.7502651354, RTF: ation speed: 72441.68237053939Hz, RTF: 0.33130097499999983
    

    生成结果会保存到infer_result目录下

ljspeech_tts3
  • 支持合成语言: 英文字母

  • 基于PaddleSpeech下的ljspeech-TTS3整理而来

  • 整个推理引擎只采用ONNXRuntime

  • 其中PaddleSpeech中提供的预训练模型可以参见link。在ljspeech_tts3中使用的是:

    主要部分具体模型支持语言
    声学模型fastspeech2_ljspeechen
    声码器pwg_ljspeechen
使用步骤
  1. 下载resources, Google Drive | 百度网盘,提取码:4vlu, 解压到ljspeech_tts3目录下,最终目录结构如下:

     ljspeech_tts3├── ├── ├── frontend├── main.sh├── tts3.py├── infer_result├── resources│   ├── fastspeech2_ljspeech│   │   ├── │   │   └── phone_│   └── └──syn_utils.py
    
  2. 安装<

    pip install - -i /
    
  3. 运行tts3.py

    python tts3.py
    

    or

    bash main.sh
    
  4. 运行日志如下:

     frontend done!001, mel: (343, 80), wave: 87808, time: 7.583922399999999s, Hz: 11578.186242472837, RTF: 1.9044433677455357.002, mel: (274, 80), wave: 70144, time: 5.986744399999999s, Hz: 11716.561243394675, RTF: 1.8819514994154878.003, mel: (175, 80), wave: 44800, time: 3.911470399999999s, Hz: 11453.51349948683, RTF: 1.9251734414062498.004, mel: (217, 80), wave: 55552, time: 4.678628299999996s, Hz: 11873.585640758554, RTF: 1.8570632888104823.005, mel: (371, 80), wave: 94976, time: 7.7152417s, Hz: 12310.185834993608, RTF: 1.7911996045843162.006, mel: (338, 80), wave: 86528, time: 7.670878100000003s, Hz: 11280.071739420744, RTF: 1.954774801913832.007, mel: (205, 80), wave: 52480, time: 4.628822800000002s, Hz: 11337.668363997142, RTF: 1.9448443270769813.008, mel: (390, 80), wave: 99840, time: 8.2700763s, Hz: 12072.447745611855, RTF: 1.826473012319712.009, mel: (169, 80), wave: 43264, time: 4.2657806000000065s, Hz: 10142.12548840801, RTF: ation speed: 11613.502408804885Hz, RTF: 1.8986520365538124
    

    生成结果会保存到infer_result目录下

写在最后

  • 因为我们只做了模型转换和推理代码整理的工作,因此可以保证效果与原始PaddleSpeech模型相当
  • 我们做的意义在于解决部署落地的最后一公里,更加便捷。
  • 最近我们也在积极尝试,采用更快的OpenVINO引擎来推理涉及到的各个模型,具体进展参见Paddle模型尝试转换

本文发布于:2024-02-01 21:18:46,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170679352739485.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:语音   英文   中文   文本   数字
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23