一、关于 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
- conda create -n GPTSoVits python=3.9
- conda activate GPTSoVits
- bash install.sh
复制代码 3、macOS
注:在 Mac 上使用 GPU 训练的模型结果显著低于其他设备训练的模型,所以我们暂时使用 CPU 举行训练。
- xcode-select --install
- brew install ffmpeg
- 完成上述步骤后,运行以下的下令来安装本项目:
- conda create -n GPTSoVits python=3.9
- conda activate GPTSoVits
- pip install -r requirements.txt
复制代码 4、手动安装
4.1 安装依赖
- pip install -r requirements.txt
复制代码 4.2 安装 FFmpeg
Conda 用户
Ubuntu/Debian 用户
- sudo apt install ffmpeg
- sudo apt install libsox-dev
- conda install -c conda-forge 'ffmpeg<7'
复制代码 Windows 用户
下载并将ffmpeg. exe和ffprobe.exe放在GPT-SoVITS根目录中。
MacOS 用户
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 运行
- docker compose -f "docker-compose.yaml" up -d
复制代码 5.3 通过 docker 下令运行
同上,根据您自己的实际情况修改对应的参数,然后运行如下下令:
- 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。
中国地区的用户可以通过进入下面的链接并单击“下载副本”来下载这两种型号(如果在下载时遇到错误,请退出。)
对于中文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 文件格式:
- vocal_path|speaker_name|language|text
复制代码 语言字典:
- ‘zh’:中文
- ‘ja’:日语
- ‘en’:英语
- ‘ko’: 韩语
示例:
- D:\GPT-SoVITS\xxx/xxx.wav|xxx|en|I like playing Genshin.
复制代码 五、(附加)下令行运行方式
使用下令行打开 UVR5 的 WebUI
- python tools/uvr5/webui.py "<infer_device>" <is_half> <webui_port_uvr5>
复制代码 如果打不开浏览器,请按照下面的格式举行UVR处理,这是使用 mdxnet 举行音频处理的方式
- python mdxnet.py --model --input_root --output_vocal --output_ins --agg_level --format --device --is_half_precision
复制代码 这是使用下令行完成数据集的音频切分的方式
- python audio_slicer.py \
- --input_path "<path_to_original_audio_file_or_directory>" \
- --output_root "<directory_where_subdivided_audio_clips_will_be_saved>" \
- --threshold <volume_threshold> \
- --min_length <minimum_duration_of_each_subclip> \
- --min_interval <shortest_time_gap_between_adjacent_subclips>
- --hop_size <step_size_for_computing_volume_curve>
复制代码 这是使用下令行完成数据集ASR处理的方式(仅限中文)
- python tools/asr/funasr_asr.py -i <input> -o <output>
复制代码 通过 Faster_Whisper 举行 ASR处理(除中文之外的ASR标志)
(没有进度条,GPU性能大概会导致时间耽误)
- 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企服之家,中国第一个企服评测及商务社交产业平台。 |