AI语音克隆

安装

下载安装github代码库

复制代码
git clone https://github.com/Plachtaa/VITS-fast-fine-tuning.git

安装文档
中日语言模型网站

目前支持的任务:

  • 从 10条以上的短音频 克隆角色声音
  • 从 3分钟以上的长音频(单个音频只能包含单说话人) 克隆角色声音
  • 从 3分钟以上的视频(单个视频只能包含单说话人) 克隆角色声音
  • 通过输入 bilibili视频链接(单个视频只能包含单说话人) 克隆角色声音

本地运行和推理

复制代码
python VC_inference.py --model_dir ./OUTPUT_MODEL/G_latest.pth --share True

这个时候在本地的浏览器打开网址

复制代码
http://localhost:7860

就可以看到语音tts的使用界面,但这只能在本地电脑能看到,如果要在远程的电脑上访问,可以使用cpolar

复制代码
cpolar http 7860

这个时候就会出现一个访问的网址链接。

本地训练

1.创建conda运行环境

复制代码
conda create -n tts python=3.8

2.安装环境依赖

复制代码
pip install -r requirements.txt

在这个过程中,有一部分安装包,比如OpenAI的whisper代码包,可能因为网络问题,而无法访问,无法使用pip进行网络安装。可以在其它地方,单独下载好代码包,然后使用pip单独安装本地包。

3.安装GPU版本的PyTorch

复制代码
# CUDA 11.6
pip install torch==1.13.1+cu116 torchvision==0.14.1+cu116 torchaudio==0.13.1 --extra-index-url https://download.pytorch.org/whl/cu116
# CUDA 11.7
pip install torch==1.13.1+cu117 torchvision==0.14.1+cu117 torchaudio==0.13.1 --extra-index-url https://download.pytorch.org/whl/cu117

4.安装视频模块包

复制代码
pip install imageio==2.4.1
pip install moviepy

5.构建预处理模块

复制代码
cd monotonic_align
mkdir monotonic_align
python setup.py build_ext --inplace
cd ..

6.下载辅助数据包

复制代码
mkdir pretrained_models
# download data for fine-tuning
wget https://huggingface.co/datasets/Plachta/sampled_audio4ft/resolve/main/sampled_audio4ft_v2.zip
unzip sampled_audio4ft_v2.zip
# create necessary directories
mkdir video_data
mkdir raw_audio
mkdir denoised_audio
mkdir custom_character_voice
mkdir segmented_character_voice

7.下载预训练模型

复制代码
CJE: Trilingual (Chinese, Japanese, English)
CJ: Dualigual (Chinese, Japanese)
C: Chinese only

wget https://huggingface.co/spaces/Plachta/VITS-Umamusume-voice-synthesizer/resolve/main/pretrained_models/D_trilingual.pth -O ./pretrained_models/D_0.pth
wget https://huggingface.co/spaces/Plachta/VITS-Umamusume-voice-synthesizer/resolve/main/pretrained_models/G_trilingual.pth -O ./pretrained_models/G_0.pth
wget https://huggingface.co/spaces/Plachta/VITS-Umamusume-voice-synthesizer/resolve/main/configs/uma_trilingual.json -O ./configs/finetune_speaker.json

wget https://huggingface.co/spaces/sayashi/vits-uma-genshin-honkai/resolve/main/model/D_0-p.pth -O ./pretrained_models/D_0.pth
wget https://huggingface.co/spaces/sayashi/vits-uma-genshin-honkai/resolve/main/model/G_0-p.pth -O ./pretrained_models/G_0.pth
wget https://huggingface.co/spaces/sayashi/vits-uma-genshin-honkai/resolve/main/model/config.json -O ./configs/finetune_speaker.json

wget https://huggingface.co/datasets/Plachta/sampled_audio4ft/resolve/main/VITS-Chinese/D_0.pth -O ./pretrained_models/D_0.pth
wget https://huggingface.co/datasets/Plachta/sampled_audio4ft/resolve/main/VITS-Chinese/G_0.pth -O ./pretrained_models/G_0.pth
wget https://huggingface.co/datasets/Plachta/sampled_audio4ft/resolve/main/VITS-Chinese/config.json -O ./configs/finetune_speaker.json

8.将语音数据放置在对应的文件目录

  • 短语音
    将多段语音打包成zip文件,文件结构为

    Your-zip-file.zip
    ├───Character_name_1
    ├ ├───xxx.wav
    ├ ├───...
    ├ ├───yyy.mp3
    ├ └───zzz.wav
    ├───Character_name_2
    ├ ├───xxx.wav
    ├ ├───...
    ├ ├───yyy.mp3
    ├ └───zzz.wav
    ├───...

    └───Character_name_n
    ├───xxx.wav
    ├───...
    ├───yyy.mp3
    └───zzz.wav

将打包文件放置在./custom_character_voice/

运行

复制代码
unzip ./custom_character_voice/custom_character_voice.zip -d ./custom_character_voice/
  • 长语音
    将wav格式的语音命名为Diana_234135.wav,放置在./raw_audio/
  • 视频
    将视频命名为Taffy_332452.mp4,放置在./video_data/

9.处理音频

复制代码
python scripts/video2audio.py
python scripts/denoise_audio.py
python scripts/long_audio_transcribe.py --languages "{PRETRAINED_MODEL}" --whisper_size large
python scripts/short_audio_transcribe.py --languages "{PRETRAINED_MODEL}" --whisper_size large
python scripts/resample.py

注意将"{PRETRAINED_MODEL}"替换为"C",如果GPU内存没有12GB,将whisper_size替换为medium或small。

10.处理文本数据

选择对应的辅助数据包,运行

复制代码
python preprocess_v2.py --add_auxiliary_data True --languages "C"

如果不选择辅助数据包,运行

复制代码
python preprocess_v2.py --languages "{PRETRAINED_MODEL}"

11.开始训练

运行命令,开始训练

复制代码
python finetune_speaker_v2.py -m ./OUTPUT_MODEL --max_epochs "{Maximum_epochs}" --drop_speaker_embed True

如果是从一个训练过的模型,开始继续训练

复制代码
python finetune_speaker_v2.py -m ./OUTPUT_MODEL --max_epochs "{Maximum_epochs}" --drop_speaker_embed False --cont True

12.清除语音数据

复制代码
rm -rf ./custom_character_voice/* ./video_data/* ./raw_audio/* ./denoised_audio/* ./segmented_character_voice/* ./separated/* long_character_anno.txt short_character_anno.txt

del /Q /S .\custom_character_voice\* .\video_data\* .\raw_audio\* .\denoised_audio\* .\segmented_character_voice\* .\separated\* long_character_anno.txt short_character_anno.txt
相关推荐
Rubin智造社1 小时前
安全先行·自主编程|Claude Code Opus 4.7深度解读:AI开发进入合规量产时代
人工智能·anthropic·claude opus 4.7·mythos preview·xhigh努力等级·/ultrareview命令·自主开发ai
xinlianyq1 小时前
全球 AI 芯片格局生变:英伟达主导训练,国产算力崛起推理
人工智能
ShineWinsu1 小时前
AI训练硬件指南:GPU算力梯队与任务匹配框架
人工智能
范桂飓1 小时前
精选 Skills 清单
人工智能
码农的日常搅屎棍2 小时前
AIAgent开发新选择:OpenHarness极简入门指南
人工智能
AC赳赳老秦2 小时前
OpenClaw生成博客封面图+标题,适配CSDN视觉搜索,提升点击量
运维·人工智能·python·自动化·php·deepseek·openclaw
萝卜小白2 小时前
算法实习Day04-MinerU2.5-pro
人工智能·算法·机器学习
geneculture2 小时前
从人际间性到人机间性:进入人机互助新时代——兼论融智学视域下人类认知第二次大飞跃的理论奠基与实践场域
人工智能·融智学的重要应用·哲学与科学统一性·融智时代(杂志)·人际间性·人机间性·人际间文性
东方品牌观察2 小时前
观澜社张庆解析AI:便利与挑战并存
人工智能
w_t_y_y2 小时前
Agent 开发框架(一)有哪些框架&&A2A协议
人工智能