• 新一代开源语音库CoQui TTS冲到了GitHub 20.5k Star


    Coqui TTS 项目介绍

    Coqui 文本转语音(Text-to-Speech,TTS)是新一代基于深度学习的低资源零样本文本转语音模型,具有合成多种语言语音的能力。该模型能够利用共同学习技术,从各语言的训练资料集转换知识,来有效降低需要的训练资料量。

    这个模型库现在已经在GitHub上开源,并有高达 20.5K+ 的star量。似乎和以前讲过的Mozilla 的 TTS 有着千丝万缕的联系,但是如今Mozilla TTS 已经停止更新,而 Coqui TTS 更新稳定,是目前少数几个更新比较稳定的开源语音库。

    coqui官网:https://coqui.ai/

    开源地址:https://github.com/coqui-ai/TTS/

    在这里插入图片描述

    Arm架构离线安装 coqui TTS

    要在 ARM 架构的设备上离线安装 Coqui TTS,可以按照以下步骤进行操作:

    1. 1. 安装必要的依赖项:Python 3PipGit.

    2.克隆CoquiTTS 的Git 仓库.

    git clone https://github.com/coqui-ai/TTS
    
    • 1

    3.安装所需的Python包.

    pip install -r requirements.txt
    
    • 1

    4.下载所需的语音模型和配置文件,并将其放在IIS/tts/mode1s 目录下.可以从 CoquiTTS 的GitHub 页面上下载这些文件.

    5.运行测试脚本来验证安装是否成功.

    python demo_cli .py
    
    • 1

    注意,由于 ARM 架构的设备通常性能较低,因此可能需要更长时间才能完成编译和训练等操作。此外,如果您希望在 ARM 架构的设备 上进行 TTS 实时推理,则可能需要使用较小的模型或调整一些模型参数以提高性能。

    python 命令行安装及使用

    1.安装

    pip install tts
    
    • 1

    注意 TTS 是依赖 torch 的,由于 torch 庞大的体积,所以可能是要等很久。但是我这里由于环境问题,只能用特定版本的 torch,否则用不了 GPU。

    2.安装完成后测试

    tts --list_models
    
    • 1

    输出模型的信息,说明OK

    Name format: type/language/dataset/model
     1: tts_models/multilingual/multi-dataset/your_tts
     2: tts_models/en/ek1/tacotron2
     ....
    
    • 1
    • 2
    • 3
    • 4

    查看模型信息

    tts --model_info_by_name tts_models/tr/common-voice/glow-tts
    > model type : tts_models
    > language supported : tr
    > dataset used : common-voice
    > model name : glow-tts
    > description : Turkish GlowTTS model using an unknown speaker from the Common-Voice dataset.
    > default_vocoder : vocoder_models/tr/common-voice/hifigan
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    文本生成语音

    tts --text "text for TTS" --out_path ./test_speech.wav
    100%|████████████████████████████                                                                                                                                                    █████████████████████████████████                                                                                                                                                          █████████████████████████████████                                                                                                                                                          █████████████████████████████████                                                                                                                                                          ████████████████████| 113M/113M [                                                                                                                                                          05:58<00:00, 315kiB/s]
    > Model's license - apache 2.0
    > Check https://choosealicense.c                                                                                                                                                          om/licenses/apache-2.0/ for more                                                                                                                                                           info.
    > Downloading model to /root/.lo                                                                                                                                                          cal/share/tts/vocoder_models--en-                                                                                                                                                          -ljspeech--hifigan_v2
    100%|█| 3.80M/3.80M [00:01<00:00,
    > Model's license - apache 2.0
    ......
    Removing weight norm...
    > Text: text for TTS
    > Text splitted to sentences.
    ['text for TTS']
    > Processing time: 0.78575992584                                                                                                                                                          22852
    > Real-time factor: 0.4602105388                                                                                                                                                          021246
    > Saving output to ./test_speech                                                                                                                                                          .wav
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    离线安装TTS

    以下是在Linux系统上离线安装CoquiTTS的步骤:

    1.下载CoquiTTS的代码.

    git clone https://github.com/coqui-ai/TTS
    
    • 1

    2.安装依赖项.

    sudo apt-get install python3-pip libsndfile1
    pip3 install -r requirements.txt
    
    • 1
    • 2

    3.下载所需的模型,例如英文的Tacotron2模型.

    wget https://github.com/coqui-ai/TTS/releases/download/tts_models/tts_models_tacotron2_anon.tar.bz2
    tar xvf tts_models_tacotron2_anon.tar.bz2
    
    • 1
    • 2

    4.设置环境变量.

    export PYTHONPATH=$PYTHONPATH: /path/to/TTS
    
    • 1

    5.启动TTS服务器.

    python3 server.py --model_path /path/to/tacotron2 --config_path /path/to/tacotron2/config.json --port 8000
    
    • 1

    其中/path/to/tacotron2 为第3步中下载的Tacotron2模型的路径,/path/to/tacotron2/config. json 为Tacotron2模型的配置文件的路径。

    6.连接到TTS服务器并进行语音合成.

    import requests
    import ison
    r = requests.post('http://localhost:8000/api/tts', data=json.dumps(
        {"text": "hello", "model_name": "ntacotron2"}
    ))
    with open ("output .wav", "wb") as f:
        f.write(r.content)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    这将生成一个名为 output .wav 的WAV文件,其中包含语音合成的结果。

    有兴趣的有条件的同学可以下载体验一番,试一试!欢迎关注公粽号:Python兴趣圈,学习更多Python技能、开源项目推荐。

  • 相关阅读:
    STM32将FreeRTOS移植到用CubeMX生成的HAL库中
    关于卷积神经网络的池化层(pooling)
    [附源码]JAVA毕业设计工程车辆动力电池管理系统(系统+LW)
    数据分割处理示例
    51单片机学习:DS1302时钟实验
    HarmonyOS应用开发-RushOrm体验
    线性dp,优化,272. 最长公共上升子序列
    基于Java毕业设计中药分类管理系统源码+系统+mysql+lw文档+部署软件
    python+yolov3视频车辆检测代码
    #775 Div.1 B. Integral Array 数学
  • 原文地址:https://blog.csdn.net/z_ipython/article/details/133895242