• kantts docker化


    kan-tts docker本地化

    环境安装

    下载docker镜像(python3.8的)

    registry.cn-hangzhou.aliyuncs.com/modelscope-repo/modelscope:ubuntu20.04-cuda11.8.0-py38-torch2.0.1-tf2.13.0-1.9.2

    安装基础模型

    pip install modelscope

    安装语音模型

    pip install "modelscope[audio]" -f https://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.html

    自动标注

    安装最新版tts-autolabel

    # 运行此代码块安装

    tts-autolabel import sys !{sys.executable} -m pip install -U tts-autolabel -f https://modelscope.oss-cn-beijing.aliyuncs.com/releases/repo.html

    如果网不行,指定阿里镜像源

    !{sys.executable} -m pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/

    自动标注

    1. from modelscope.tools import run_auto_label
    2. input_wav = "./test_wavs/"
    3. output_data = "./output_training_data/"
    4. ret, report = run_auto_label(input_wav=input_wav, work_dir=output_data, resource_revision="v1.0.7")

    微调

    1. from modelscope.metainfo import Trainers
    2. from modelscope.trainers import build_trainer
    3. from modelscope.utils.audio.audio_utils import TtsTrainType
    4. pretrained_model_id = 'damo/speech_personal_sambert-hifigan_nsf_tts_zh-cn_pretrain_16k'
    5. dataset_id = "./output_training_data/"
    6. pretrain_work_dir = "./pretrain_work_dir/"
    7. # 训练信息,用于指定需要训练哪个或哪些模型,这里展示AM和Vocoder模型皆进行训练
    8. # 目前支持训练:TtsTrainType.TRAIN_TYPE_SAMBERT, TtsTrainType.TRAIN_TYPE_VOC
    9. # 训练SAMBERT会以模型最新step作为基础进行finetune
    10. train_info = {
    11. TtsTrainType.TRAIN_TYPE_SAMBERT: { # 配置训练AM(sambert)模型
    12. 'train_steps': 202, # 训练多少个step
    13. 'save_interval_steps': 200, # 每训练多少个step保存一次checkpoint
    14. 'log_interval': 10 # 每训练多少个step打印一次训练日志
    15. }
    16. }
    17. # 配置训练参数,指定数据集,临时工作目录和train_info
    18. kwargs = dict(
    19. model=pretrained_model_id, # 指定要finetune的模型
    20. model_revision = "v1.0.6",
    21. work_dir=pretrain_work_dir, # 指定临时工作目录
    22. train_dataset=dataset_id, # 指定数据集id
    23. train_type=train_info # 指定要训练类型及参数
    24. )
    25. trainer = build_trainer(Trainers.speech_kantts_trainer,
    26. default_args=kwargs)
    27. trainer.train()

    其中

    pretrained_model_id = 'damo/speech_personal_sambert-hifigan_nsf_tts_zh-cn_pretrain_16k'

    要下载下来

    最好提取下载,然后pretrained_model_id后面就等于下面下载的地址

    # 克隆预训练模型

    git clone https://www.modelscope.cn/damo/speech_personal_sambert-hifigan_nsf_tts_zh-cn_pretrain_16k.git

    拉取下来,然后合成

    合成模型

    1. import os
    2. from modelscope.models.audio.tts import SambertHifigan
    3. from modelscope.pipelines import pipeline
    4. from modelscope.utils.constant import Tasks
    5. model_dir = os.path.abspath("./pretrain_work_dir")
    6. custom_infer_abs = {
    7. 'voice_name':
    8. 'F7',
    9. 'am_ckpt':
    10. os.path.join(model_dir, 'tmp_am', 'ckpt'),
    11. 'am_config':
    12. os.path.join(model_dir, 'tmp_am', 'config.yaml'),
    13. 'voc_ckpt':
    14. os.path.join(model_dir, 'orig_model', 'basemodel_16k', 'hifigan', 'ckpt'),
    15. 'voc_config':
    16. os.path.join(model_dir, 'orig_model', 'basemodel_16k', 'hifigan',
    17. 'config.yaml'),
    18. 'audio_config':
    19. os.path.join(model_dir, 'data', 'audio_config.yaml'),
    20. 'se_file':
    21. os.path.join(model_dir, 'data', 'se', 'se.npy')
    22. }
    23. kwargs = {'custom_ckpt': custom_infer_abs}
    24. model_id = SambertHifigan(os.path.join(model_dir, "orig_model"), **kwargs)
    25. inference = pipeline(task=Tasks.text_to_speech, model=model_id)
    26. output = inference(input="今天的天气真不错")
    27. import IPython.display as ipd
    28. ipd.Audio(output["output_wav"], rate=16000)

    参考地址:

    环境安装

    SambertHifigan个性化语音合成-中文-预训练-16k

  • 相关阅读:
    (三)(Driver)驱动开发之双机调试环境搭建及内核驱动的运行
    NVIDIA 7th SkyHackathon(二)Nemo ASR
    Cmasher颜色包--共53种--全平台可用
    web前端页面基础
    dvc使用方法
    nginx的下载安装配置(Window)
    决策树分析及其在项目管理中的应用
    【头歌-Python】Python第二章作业(初级)
    Java请求电商平台api接口数据采集获取商品销量详情示例
    如何用IDEA创建SpringBoot项目
  • 原文地址:https://blog.csdn.net/qq_38403590/article/details/133815853