GPT-SoVITS - few shot 声音克隆

打印 上一主题 下一主题

主题 630|帖子 630|积分 1890


一、关于 GPT-SoVITS



  • github : https://github.com/RVC-Boss/GPT-SoVITS

功能:


  • 零样本文本到语音(TTS):输入5秒人声样本,体验即时语音合成转换。
  • 少样本 TTS:仅用1分钟的训练数据微调模型,以进步语音相似性和真实感。
  • 跨语言支持:差别于训练集的语言推理,目前支持英语、日语和中文。
  • WebUI 工具:集成工具包括语音伴奏分离、自动训练集分割、中文ASR和文本标注,帮助初学者创建训练数据集和GPT/SoVITS模型。

演示视频 :https://www.bilibili.com/video/BV12g4y1m7Uw
未见过的语言者 few-shot 微调演示:

二、安装

中国地区的用户可以点击这里 使用AutoDL Cloud Docker在线体验全部功能。

测试通过的情况


  • Python 3.9,PyTorch2.0.1,CUDA 11
  • Python3.10.13,PyTorch2.1.2,CUDA 12.3
  • Python 3.9, Pytorch2.2.2,macOS14.4.1(苹果芯片)
  • Python 3.9,PyTorch 2.2.2,CPU 设备
注: numba==0.56.4 需要 python<3.11

1、Windows

如果您是Windows用户(使用win>=10测试),您可以下载集成的包并双击go-webui. bat以启动GPT-SoVITS-WebUI。
中国地区的用户可以通过单击链接下载该软件包,然后选择“下载副本”(如果下载时遇到错误,请退出。)

2、Linux

  1. conda create -n GPTSoVits python=3.9
  2. conda activate GPTSoVits
  3. bash install.sh
复制代码

3、macOS

注:在 Mac 上使用 GPU 训练的模型结果显著低于其他设备训练的模型,所以我们暂时使用 CPU 举行训练。

  • xcode-select --install
  • brew install ffmpeg

  • 完成上述步骤后,运行以下的下令来安装本项目:
  1. conda create -n GPTSoVits python=3.9
  2. conda activate GPTSoVits
  3. pip install -r requirements.txt
复制代码

4、手动安装


4.1 安装依赖

  1. pip install -r requirements.txt
复制代码

4.2 安装 FFmpeg


Conda 用户

  1. conda install ffmpeg
复制代码

Ubuntu/Debian 用户

  1. sudo apt install ffmpeg
  2. sudo apt install libsox-dev
  3. conda install -c conda-forge 'ffmpeg<7'
复制代码

Windows 用户

下载并将ffmpeg. exe和ffprobe.exe放在GPT-SoVITS根目录中。

MacOS 用户

  1. brew install ffmpeg
复制代码

5、在 Docker 中使用


5.1 docker-compose.yaml 设置


  • 关于镜像标签:由于代码库中的快速更新以及打包和测试镜像的缓慢过程,请检察Docker Hub以获取当前打包的最新镜像,并根据您的情况选择,或者根据您自己的需要使用Dockerfile在本地构建。
  • 情况变量:


  • is_half:控制半精度/双精度。如果在“SSL提取”步骤中没有正确天生 4-cnhubert/5-wav32k 目录下的内容,这通常是原因。根据您的实际情况调整为True或False。

  • 卷配置,容器内的应用程序根目录设置为 /workspace. 默认 docker-comp.yaml列出了一些上传/下载内容的实际示例。
  • shm_size :Windows上Docker Desktop 的默认可用内存太小,会导致操作异常。根据自己的情况举行调整。
  • 在部署部分,GPU相干设置应根据您的系统和实际情况谨慎调整。

5.2 通过 docker compose 运行

  1. docker compose -f "docker-compose.yaml" up -d
复制代码

5.3 通过 docker 下令运行

同上,根据您自己的实际情况修改对应的参数,然后运行如下下令:
  1. docker run --rm -it --gpus=all --env=is_half=False --volume=G:\GPT-SoVITS-DockerTest\output:/workspace/output --volume=G:\GPT-SoVITS-DockerTest\logs:/workspace/logs --volume=G:\GPT-SoVITS-DockerTest\SoVITS_weights:/workspace/SoVITS_weights --workdir=/workspace -p 9880:9880 -p 9871:9871 -p 9872:9872 -p 9873:9873 -p 9874:9874 --shm-size="16G" -d breakstring/gpt-sovits:xxxxx
复制代码

三、预训练模型

从GPT-SoVITS模型下载预训练模型并将其放入GPT_SoVITS/pretrained_models。
对于UVR5(人声/伴奏分离和混响消除,别的),从 UVR5权重下载模型,并将它们放在tools/uvr5/uvr5_weights。

中国地区的用户可以通过进入下面的链接并单击“下载副本”来下载这两种型号(如果在下载时遇到错误,请退出。)


  • GPT-SoVITS型号
  • UVR5重量

对于中文ASR(别的),从Damo ASR模型、Damo VAD模型和Damo Punc模型下载模型,并将它们放置在tools/asr/models中。
对于英语或日语ASR(别的),从 Faster Whisper Large V3 下载模型并将它们放置在tools/asr/models。别的,其他模型大概具有雷同的结果,磁盘占用空间较小。
中国地区的用户可以通过输入以下链接下载此模型


  • Faster Whisper Large V3 (单击下载副本,如果下载时遇到错误,请注销。)
  • Faster Whisper Large V3 (HuggingFace镜像网站)

四、数据集格式

文本到语音(TTS)解释 .list 文件格式:
  1. vocal_path|speaker_name|language|text
复制代码

语言字典:


  • ‘zh’:中文
  • ‘ja’:日语
  • ‘en’:英语
  • ‘ko’: 韩语

示例:
  1. D:\GPT-SoVITS\xxx/xxx.wav|xxx|en|I like playing Genshin.
复制代码

五、(附加)下令行运行方式

使用下令行打开 UVR5 的 WebUI
  1. python tools/uvr5/webui.py "<infer_device>" <is_half> <webui_port_uvr5>
复制代码

如果打不开浏览器,请按照下面的格式举行UVR处理,这是使用 mdxnet 举行音频处理的方式
  1. python mdxnet.py --model --input_root --output_vocal --output_ins --agg_level --format --device --is_half_precision
复制代码

这是使用下令行完成数据集的音频切分的方式
  1. python audio_slicer.py \
  2.     --input_path "<path_to_original_audio_file_or_directory>" \
  3.     --output_root "<directory_where_subdivided_audio_clips_will_be_saved>" \
  4.     --threshold <volume_threshold> \
  5.     --min_length <minimum_duration_of_each_subclip> \
  6.     --min_interval <shortest_time_gap_between_adjacent_subclips>
  7.     --hop_size <step_size_for_computing_volume_curve>
复制代码

这是使用下令行完成数据集ASR处理的方式(仅限中文)
  1. python tools/asr/funasr_asr.py -i <input> -o <output>
复制代码

通过 Faster_Whisper 举行 ASR处理(除中文之外的ASR标志)
(没有进度条,GPU性能大概会导致时间耽误)
  1. python ./tools/asr/fasterwhisper_asr.py -i <input> -o <output> -l <language> -p <precision>
复制代码

启用自定义列表保存路径

六、致谢

特别感谢以下项目和贡献者:

理论研究



  • ar-vits
  • SoundStorm
  • vits
  • TransferTTS
  • contentvec
  • hifi-gan
  • fish-speech

预训练模型



  • Chinese Speech Pretrain
  • Chinese-Roberta-WWM-Ext-Large

推理用文本前端



  • paddlespeech zh_normalization
  • LangSegment

WebUI 工具



  • ultimatevocalremovergui
  • audio-slicer
  • SubFix
  • FFmpeg
  • gradio
  • faster-whisper
  • FunASR

2024-08-03(六)

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

涛声依旧在

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表