大模型学习-ai声音克隆_GPT-SoVITS的基本使用

目录

宇宙免责声明

安装包下载

准备音频

切割音频

打标

训练

推理


宇宙免责声明

参考b站视频:你的声音,现在是我的了!- 手把手教你用 GPT-SoVITS 克隆声音!_哔哩哔哩_bilibili

做的笔记整理,只做个人记录分享给大家

安装包下载

GPT-SoVITS是github上的一个开源项目,所以需要科学上网。

网址为:GitHub - RVC-Boss/GPT-SoVITS: 1 min voice data can also be used to train a good TTS model! (few shot voice cloning)

进入该网址后,下滑,点击:

然后就会开始下载。。。

下载完成后,对它进行解压

解压完成后,双击文件夹:

再双击:

再双击:

然后就会弹出:

耐心等待一会儿,就会自动跳转到页面:

准备音频

准备一段1到2分钟的音频素材,长一点会更好。如果想克隆自己的声音,直接用手机录制即可,录制好后,发给电脑。音频格式设置为wav,可以获得更好的效果

如果有背景音乐等噪音,可以点击UVR5-WebUI处理一下

勾选之后,再耐心等待一下,会自动打开一个新的页面(等待时间可能会有点长):

把需要处理的音频素材拖进来:

再按照文字提示,选择对应的模型:

注:一个模型只能去除一种噪声,所以有时需要多次处理

选择好模型后,点击转换即可:

转换后的文件默认会保存在output/uvr5_opt目录下,这里可能会存在一些非人声音频,所以建议把每一条都听一遍,然后把不需要的删除。

当然,也可以手动修改路径:

音频处理完后,关闭当前标签页,回到GPT-SoVITS页面,并取消勾选UVR5-WebUI:

切割音频

在下图所指位置输入音频所在文件夹路径:

其余参数保持不变,然后点击开启语言切割:

切割后的音频默认会输出在output/slicer_opt目录下,可以简单听一下,如果单个片段超过20秒,就需要清空音频,调整一下参数,重新切割一次。

打标

打标就是把音频对应的文本内容弄出来。

将切割后的音频所在的路径输入到下图所指位置:

然后点击:

当输出下面的内容,说明打标完成:

打标的结果默认在output/asr_opt目录下:

为了获得更好的效果,我们需要对打标结果进行校正。

复制文件地址:

粘贴到下图所指位置,并勾选打标WebUI:

耐心等待,会自动打开:

在该页面,可以播放音频,对照着左边的文本,看是否有差错,有的话就进行修改。也要注意停顿和标点是否对应,如果有停顿,而文本连贯,则需要手动插入逗号。

改完当前页后,点击Submit Text保存结果,并点击Next Index进入下一页:

!!!注意,进入下一页前,一定要点击Submit Text保存,否则就白做了。

对于特别短或不想要的音频,可以点击yes,然后再点击Delete Audio:

如果想合并音频,可以点击yes,然后点击Merge Audio:

全部完成后,点击Save File,并关闭该页面即可。

然后取消勾选打标WebUI:

训练

切换到1-GPT-SoVITS-TTS:

用英文或数字填写一下名称:

然后输入标注文件的路径和切割好的音频文件的路径:

然后直接点击一键三连:

耐心等待后,当输出下面的内容,说明处理完毕

然后切换到1B-微调训练

参数先全部保持默认,依次进行下面两个模型的训练即可

训练完成时,会有提示:

如果在命令行中看到下图的报错:

说明爆显存了,此时需要降低batch_size值,然后再次尝试,每次可以减4,看看能否正常进行。

训练完成后,就可以在下面两个文件夹中找到训练出来的模型文件(如果没有,说明没成功):

总训练轮数/保存频率=保存的模型数量:

推理

切换到1C-推理

先点击刷新模型路径:

然后再依次选择自己训练的模型:

e10表示训练了10轮,s120表示训练的步数

然后再勾选TTS推理WebUI:

耐心等待推理页面的开启。。。。

然后拖入一段参考音频,音频不用太长,可以直接用我们已经切割好的音频。然后输入音频对应的文本、选择参考语种:

参考音频对最终合成的效果的影响比较大,如果想要获得平静一点的效果,参考音频也需要平静一点。

然后输入想要的文本,并点击合成语音,就可以得到生成的音频了:

也可以合成英文音频,挺有意思的:

点击三个点,可以将生成的音频下载下来:

临时文件

TEMP文件夹存放着我们使用过的音频,记得定时清理:

还有很多其他功能,待自己摸索了。。。。。

### 使用 GPT-SoVITS 实现声音克隆的批量生成 为了利用 GPT-SoVITS 进行高效的声音克隆批量生成,可以遵循以下指南: #### 准备环境 确保已安装必要的依赖库并配置好运行环境。首先通过 Git 下载源项目[^2]: ```bash git clone https://github.com/RVC-Boss/GPT-SoVITS.git cd GPT-SoVITS pip install -r requirements.txt ``` #### 数据准备 收集待处理的目标语音文件,并将其整理到指定目录下。每个目标说话者应有一个独立的子文件夹用于存储对应的少量样本音频。 #### 配置参数 编辑 `config.yaml` 文件来调整模型超参数以及设置输入输出路径等信息。特别注意 batch_size 参数的选择会影响处理速度与资源占用情况。 #### 批量生成脚本编写 创建 Python 脚本来自动化整个流程,包括加载预训练模型、读取多个用户的语音片段、依次调用 API 完成转换任务并将结果保存至相应位置。 ```python import os from sovits_api import SoVITSAPI # 假设这是封装好的接口类 def process_directory(input_dir, output_dir): api = SoVITSAPI() for speaker_id in os.listdir(input_dir): input_path = os.path.join(input_dir, speaker_id) output_path = os.path.join(output_dir, speaker_id) if not os.path.exists(output_path): os.makedirs(output_path) for audio_file in os.listdir(input_path): source_audio = os.path.join(input_path, audio_file) target_audio = os.path.join(output_path, f"cloned_{audio_file}") try: cloned_voice = api.clone(source_audio) cloned_voice.save(target_audio) print(f"Successfully processed {source_audio} -> {target_audio}") except Exception as e: print(f"Failed to process {source_audio}: {str(e)}") if __name__ == "__main__": INPUT_DIR = "./data/speakers" OUTPUT_DIR = "./output/clones" process_directory(INPUT_DIR, OUTPUT_DIR) ``` 此代码段展示了如何遍历给定目录中的所有子文件夹及其内部音频文件,逐一对它们应用声音克隆功能,并妥善管理输出文件的位置和命名方式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值