AI数字人:基于VITS-fast-fine-tuning构建多speaker语音训练

这篇具有很好参考价值的文章主要介绍了AI数字人:基于VITS-fast-fine-tuning构建多speaker语音训练。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1 VITS模型介绍

        VITS(Variational Inference with adversarial learning for end-to-end Text-to-Speech)是一种语音合成方法,它使用预先训练好的语音编码器 (vocoder声码器) 将文本转化为语音。

AI数字人:基于VITS-fast-fine-tuning构建多speaker语音训练,AI数字人技术,人工智能

        VITS 的工作流程如下:

        (1)将文本输入 VITS 系统,系统会将文本转化为发音规则。

        (2)将发音规则输入预先训练好的语音编码器 (vocoder),vocoder 会根据发音规则生成语音信号的特征表示。

        (3)将语音信号的特征表示输入预先训练好的语音合成模型,语音合成模型会根据特征表示生成合成语音。

        VITS 的优点是生成的语音质量较高,能够生成流畅的语音。但是,VITS 的缺点是需要大量的训练语料来训练 vocoder 和语音合成模型,同时需要较复杂的训练流程。

        论文链接:论文地址

2 VITS-fast-fine-tuning介绍

        VITS-fast-fine-tuning是在原始VITS(VITS源码)基础上开发出的一站式多speaker训练的傻瓜式版本,简单易用,可以基于VITS-fast-fine-tuning半小时内无需标注训练任意角色的语音,并提供了基础的预训练模型,可以在预训练模型上进行二次训练,实现任意角色的语音生成。

        代码地址如下:VITS-fast-fine-tuning源码

        训练步骤如下:

        (1)准备预训练数据,按照制定格式和路径进行存放,数据无需标注

        (2)对数据进行预处理,采用whisper模型进行语音提取和切分,形成标注数据。

                whisper的内容详见:whisper

        (3)使用提出的带标注的数据进行语音合成训练

3 VITS-fast-fine-tuning部署与训练

    (1)conda环境准备

        conda环境准备详见:annoconda

    (2)运行环境安装

conda create -n vits python=3.9
conda activate vits

pip install imageio==2.4.1
pip install --upgrade youtube-dl
pip install moviepy


cd VITS-fast-fine-tuning
pip install -r requirements.txt

     (3)训练准备

mkdir monotonic_align
python setup.py build_ext --inplace
cd ..
mkdir pretrained_models
mkdir video_data
mkdir raw_audio
mkdir denoised_audio
mkdir custom_character_voice
mkdir segmented_character_voice

(4)数据准备

数据下载地址:数据集合包

下载完成后:

  • 将“sampled_audio4ft”和“sampled_audio4ft.txt”放入VITS-fast-fine-tuning的根目录下
  • 将“D_0.pth”和“G_0.pth”放入pretrained_models目录下
  • 将“finetune_speaker.json”放入config目录下
  • 将“baker”放入custom_character_voice目录下

注意,如果使用其他文件,命名规则如下:

视频:./video_data/
长音频:./raw_audio/
短音频:./custom_character_voice/
1.其中短音频的格式是:
 ├───aaa
 ├   ├───xxx.wav
 ├   ├───...
 ├   └───zzz.wav
 ├───bbb
 ├   ├───xxx.wav
 ├   ├───...
 ├   └───zzz.wav
 ├───...
 ├
 └───Character_name_n
     ├───xxx.wav
     ├───...
     └───zzz.wav
质量要求:2秒以上,10秒以内,尽量不要有背景噪音。
数量要求:一个角色至少10条,最好每个角色20条以上。
2.以角色名命名的长音频文件,音频内只能有单说话人,背景音会被自动去除。
命名格式为:{角色名}_{数字}.wav
同一个角色可以放多个音频,数字不同
(例如:aaa_001.wav, bbb_001.wav),必须是.wav文件。
3.以角色名命名的长视频文件,视频内只能有单说话人,背景音会被自动去除。
命名格式为:{角色名称}_{数字}.mp4
(例如:aaa_332452.mp4, bbb_957315.mp4),必须是.mp4文件。

(5)启动数据的预处理

python video2audio.py

python denoise_audio.py

python long_audio_transcribe.py --languages "CJE" --whisper_size medium

python short_audio_transcribe.py --languages "CJE" --whisper_size medium

python preprocess_v2.py

参数--add_auxiliary_data选择:

如果总样本少于100条时增加,即最后一行改为如下命令执行:

python preprocess_v2.py --add_auxiliary_data True

(6)启动模型训练

 为保证模型可以二次训练,修改 finetune_speaker_v2.py文件中的代码

utils.save_checkpoint(net_g, None, hps.train.learning_rate, epoch, os.path.join(hps.model_dir, "G_{}.pth".format(global_step)))
utils.save_checkpoint(net_g, None, hps.train.learning_rate, epoch,
                              os.path.join(hps.model_dir, "G_latest.pth".format(global_step)))

在保存推理模型的同时,保存判别模型。

启动训练命令如下:

python finetune_speaker_v2.py -m "./OUTPUT_MODEL" --max_epochs "300"

其中参数300为训练300个epochs,可以根据实际情况调整,一般建议200以上

(7)模型推理

将VC_inference.py文件中的

    parser.add_argument("--model_dir", default="./OUTPUT_MODEL/G_latest.pth", help="directory to your fine-tuned model")

改为(如训练300个epochs):

    parser.add_argument("--model_dir", default="./OUTPUT_MODEL/G_300.pth", help="directory to your fine-tuned model")

运行启动命令:

python VC_inference.py

启动的语音生成界面如下:

AI数字人:基于VITS-fast-fine-tuning构建多speaker语音训练,AI数字人技术,人工智能

 输入文字点击generate即可体验语音生成效果文章来源地址https://www.toymoban.com/news/detail-571561.html

到了这里,关于AI数字人:基于VITS-fast-fine-tuning构建多speaker语音训练的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微调(Fine-Tune)或不微调:用于 AI 驱动业务转型的大型语言模型

    目录 To Fine-Tune or Not Fine-Tune: Large Language Models for AI-Driven Business Transformation微调或不微调:用于 AI 驱动业务转型的大型语言模型 LLMs - Large Language ModelsLLMs - 大型语言模型 Where do LLMs come from?LLMs 从何而来? How are LLMs trained? LLMs 是如何训练的? 

    2024年02月07日
    浏览(41)
  • 0基础搞AI-NL2SQL数据集处理脚本(用于LLM-fine-tune)

            消失了好久好久,这次换了一家公司,然后又在忙于秋招,因此很久没有更新,最近事情也告一段落,因此终于有空回来水博客,今天给大家带来最近的工作,NL2SQL数据集,我们的工作是利用代码生成大模型(类似CodeFuse系列,CodeLlama系列)进行fine-tune,通过用户

    2024年04月11日
    浏览(48)
  • AI大模型预先学习笔记二:prompt提问大模型、langchain使用大模型框架、fine tune微调大模型

    1)环境准备 ①安装OpenAI库 附加 安装来源 ②生成API key ③设定本地的环境变量 ④代码的准备工作 ⑤在代码运用prompt(简单提问和返回) 2)交互代码的参数备注 temperature:随机性(从0到2可以调节,回答天马行空变化大可以选2) model:跟什么类型的model互动 role:(定义交互

    2024年01月17日
    浏览(46)
  • 基于ChatYuan-large-v2 语言模型 Fine-tuning 微调训练 广告生成 任务

    ChatYuan-large-v2 是一个开源的支持中英双语的功能型对话语言大模型,与其他 LLM 不同的是模型十分轻量化,并且在轻量化的同时效果相对还不错,仅仅通过 0.7B 参数量就可以实现 10B 模型的基础效果,正是其如此的轻量级,使其可以在普通显卡、 CPU 、甚至手机上进行推理,而

    2024年02月13日
    浏览(45)
  • 详解AI大模型行业黑话,迅速搞懂提示工程(prompt)、向量工程(embedding)、微调工程(fine-tune)

    大家都在讨论大模型,似乎什么都可以与大模型结合,可当初学者也想上手时,却面临一堆令人头大的词汇,什么Prompt、、Embedding、Fine-tuning,看到瞬间头都大了。一堆英文就算了,还不容易查到正确解释,怎么办呢?别担心,本文就用一种有趣的方式让大家认识它们。 首先

    2024年02月02日
    浏览(40)
  • BERT原理&Fine Tuning&Bert变种

    BERT全称为Bidirectional Encoder Representation from Transformer,从名字可以知道,BERT是Transformer的Encoder部分。BERT的最大的改进是在模型的训练核数据的输入部分。 BERT是一个动态词向量模型,其主要功能就是抽取每个词在句子中的语义信息,并且表示出来。 训练时的任务 BERT在训练时,

    2024年02月05日
    浏览(35)
  • ChatGPT fine tune微调+prompt介绍

    首先我们需要安装openai 安装好openai以及获得API key后,我们就可以调用接口了,首先我们来看下openai能够提供的模型有什么: 我们可以看出,目前提供的模型有如下: 接下来大概介绍一下我们应该怎样去调用接口,获取我们想要的结果。 prompt=‘a delicious dessert’ , 其中返回

    2024年02月08日
    浏览(57)
  • chatgpt fine-tuning 官方文档

    Learn how to customize a model for your application. This guide is intended for users of the new OpenAI fine-tuning API. If you are a legacy fine-tuning user, please refer to our legacy fine-tuning guide. Fine-tuning lets you get more out of the models available through the API by providing: Higher quality results than prompting Ability to train on more exa

    2024年02月09日
    浏览(38)
  • ChatGPT的Fine-tuning是什么?

    fine-tuning基本概念 Fine-tuning(微调)是指在预训练过的模型基础上,使用特定任务的数据进行进一步的训练,以使模型更好地适应该任务。在ChatGPT的情况下,Fine-tuning是指在预训练的语言模型上使用对话数据进行进一步的训练,以使模型能够更好地生成对话响应。 GPT微调的一

    2024年02月12日
    浏览(47)
  • 小白理解GPT的“微调“(fine-tuning)

    对于GPT-3.5,我们实际上并不能在OpenAI的服务器上直接训练它。OpenAI的模型通常是预训练好的,也就是说,它们已经在大量的语料上进行过训练,学习到了语言的基本规则和模式。 然而,OpenAI提供了一种叫做\\\"微调\\\"(fine-tuning)的方法,让我们可以在预训练好的模型基础上进行

    2024年02月04日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包