So Vits Svc|人声模拟

So Vits Svc是一个用来模拟人声的开源项目,可以将您训练好的声音模型,用于生成类似微软云希、抖音文字转语音等效果。对于电脑的硬件要求并不高,但是需要较为繁琐的准备工作,还有大量的声音素材。

So Vits Svc|人声克隆|音频模拟|唱歌仿声

So Vits Svc是一个用来模拟人声的开源项目,可以将您训练好的声音模型,用于生成类似微软云希、抖音文字转语音等效果。经本站测试,该项目对于电脑的硬件要求并不高,但是需要较为繁琐的准备工作,还有大量的声音素材。本站提供完整工具下载、安装教程和相关问题解析及处理方案。

希望大家能够务必遵循So-VITS使用规约:

1. 任何发布到视频平台的基于sovits制作的视频,都必须要在简介明确指明用于变声器转换的输入源歌声、音频,例如:使用他人发布的视频/音频,通过分离的人声作为输入源进行转换的,必须要给出明确的原视频、音乐链接;若使用是自己的人声,或是使用其他歌声合成引擎合成的声音作为输入源进行转换的,也必须在简介加以说明。
2. 由输入源造成的侵权问题需自行承担全部责任和一切后果。使用其他商用歌声合成软件作为输入源时,请确保遵守该软件的使用条例,注意,许多歌声合成引擎使用条例中明确指明不可用于输入源进行转换。
3. 请自行解决数据集的授权问题,任何由于使用非授权数据集进行训练造成的问题,需自行承担全部责任和一切后果。

软件下载

建议下载本站所提供的安装包,因为本站所提供的压缩包内已经解决了大部分问题,并且提供了快捷脚本,可以避免出现很多已知的问题。

官网下载

svc-develop-team/so-vits-svc: SoftVC VITS Singing Voice Conversion (github.com)

网盘下载

so-vits-svc-4.0

提取密码 文件说明 文件大小 3.2GB 文件格式 RAR 资源价格 免费 下载次数 15

使用教程

如果您想训练自己的声音模型并加以使用,需要以后几个步骤。

  1. 提取干音
  2. 音频切分
  3. 预处理
  4. 训练模型
  5. 配置模型
  6. 推理预测

本站将会对每一个步骤进行详细的解析,所有您可能遇到的问题已经写入后面的说明内,下面开始教学。

提取干音

如果您还不会提取干音,请先参考以下文章,使用Ultimate Vocal Remover提取干音:

站长之前做过几年直播,所以有很多录音,但是因为当时背景音乐声音特别特别小,所以在提取干音时,效果极差,提取干音这一步几乎没有任何效果,也不知道训练出来的数据到底怎么样。而且因为站长没有别人的干音数据,所以只能就用这个对付训练了吧。

本次站长所使用的音频素材大概在10个小时左右,素材的长度应该是够用的,但是质量很一般。什么样的算是高质量音频素材?如果您想用来唱歌,那么您最好素材里面大部分都是唱歌的素材;如果您想用来说话,那么最好都是说话的素材。

下面是站长的音频素材之一,原版和提取干声之后的效果对比如下,只截取42秒。站长声音一般,可能脏了各位的耳朵,请见谅。

直播录音【原声】

由于我这种音频属于特殊情况,背景音乐声音过小且音乐中存在人声,所以分离后的效果很糟糕,即使已经是干音,效果依然很差。

直播录音【干音】

由于背景音乐还是太明显了,站长又加了降噪,如果您的音频没有我这种情况,是不需要降噪的。

直播录音【干音+降噪】

通过UVR处理提取出所有音频的干音之后,本站将他们统一放到了D:\openai.wiki\so-vits-svc\output目录下。共计10个音频素材,每个音频素材时长一小时,提取之后将会一分为二,分别为BGM和人声,以下是当前已经提取之后的声音素材文件目录结构。

D:\openai.wiki\so-vits-svc\output
└─10_1111-2022-09-07_(Instrumental).wav
└─10_1111-2022-09-07_(Vocals).wav
└─1_1102-2022-08-28_(Instrumental).wav
└─1_1102-2022-08-28_(Vocals).wav
└─2_1103-2022-08-29_(Instrumental).wav
└─2_1103-2022-08-29_(Vocals).wav
└─3_1104-2022-08-30_(Instrumental).wav
└─3_1104-2022-08-30_(Vocals).wav
└─4_1105-2022-08-31_(Instrumental).wav
└─4_1105-2022-08-31_(Vocals).wav
└─5_1106-2022-09-01_(Instrumental).wav
└─5_1106-2022-09-01_(Vocals).wav
└─6_1107-2022-09-02_(Instrumental).wav
└─6_1107-2022-09-02_(Vocals).wav
└─7_1108-2022-09-03_(Instrumental).wav
└─7_1108-2022-09-03_(Vocals).wav
└─8_1109-2022-09-04_(Instrumental).wav
└─8_1109-2022-09-04_(Vocals).wav
└─9_1110-2022-09-05_(Instrumental).wav
└─9_1110-2022-09-05_(Vocals).wav

可以看到,目前素材目录里面的每个音频都存在Vocals和Instrumental两种分类,分别是提取出来的背景音乐和人声,我们只需要人声(Vocals),背景音乐(Instrumental)删除掉就好。

删除掉背景音乐之后的目录结构如下:

D:\openai.wiki\so-vits-svc\output
└─10_1111-2022-09-07_(Vocals).wav
└─1_1102-2022-08-28_(Vocals).wav
└─2_1103-2022-08-29_(Vocals).wav
└─3_1104-2022-08-30_(Vocals).wav
└─4_1105-2022-08-31_(Vocals).wav
└─5_1106-2022-09-01_(Vocals).wav
└─6_1107-2022-09-02_(Vocals).wav
└─7_1108-2022-09-03_(Vocals).wav
└─8_1109-2022-09-04_(Vocals).wav
└─9_1110-2022-09-05_(Vocals).wav

音频分割

因为目前我的每个音频长度都是1小时,这对于显存来说是非常恐怖的,所以我们需要将每个音频进行切分,以达到每个音频的时间长度为较小的尺寸。

音频批量分割工具下载

Audio Slicer

提取密码 文件说明 音频批量分割工具 文件大小 26.76MB 文件格式 RAR 资源价格 免费 下载次数 2

下载本站所提供的音频批量分割工具Audio Slicer,打开该工具文件夹内的slicer-gui.exe程序。

  1. 点击Add Audio Files...按钮,选择我们已经保存的干声文件夹。
  2. 点击右侧的Browse...按钮,选择切片分割后的文件目录。
  3. 建议将Minimum Length(ms)的数值设置为:30000,30000ms(毫秒)=30s(秒)。
  4. 其它选项,保持默认即可。

经本站测试,如果分割的音频时间过短,将会造成训练失败,所以您可以适当调整,但不要时长过短。

另外,本站将分割后的音频保存目录设置为.\so-vits-svc\dataset_raw\openai_wiki_Drug,在dataset_raw内的所有文件夹将会自动识别为训练素材,所以不用担心命名问题。

So Vits Svc|人声模拟

请耐心等待音频素材分割,切割完成后将会收到如下提示。

So Vits Svc|人声模拟

So Vits Svc|人声模拟

输出后的目录信息如左图,共计1081个音频文件。

预数理

将分割好的文件夹openai_wiki_Drug做为素材进行预训练,目前openai_wiki_Drug的所在目录为D:\openai.wiki\so-vits-svc\dataset_raw

点击本站所提供的.\so-vits-svc文件夹内的1、数据预处理.bat,将会自动对openai_wiki_Drug文件夹内的音频进行数据预处理。

1081段音频文件,居然只用了14分59秒,速度还挺快的。

So Vits Svc|人声模拟

预处理文件完成之后,将会在.\openai.wiki\so-vits-svc\dataset\44k下生成同名文件夹openai_wiki_Drug,里面就是预训练好的数据。

注意:如果并不是从我站下载的so-vits-svc,那么您可能会遇到报错找不到.\filelists\train.txt.\filelists\val.txt,本站已修复此问题,其实就是在.\so-vits-svc\filelists目录下新建两个空的txt文档就要可以啦,名称分别为train.txtval.txt

训练模型

在训练之前,我们需要先更改一个文件,位于.\so-vits-svc\configs\config.json,该文件中有一属性需要根据自身情况调整。

"batch_size": 8,

第13行batch_size属性,该属性的需要您根据自己的显卡GPU进行调整,本站长的显卡为2080TI,所以将batch_size属性设置为12。

建议参数

本站只是推测的可用参数,是否合适需要您自行测试。

  • RTX 2060
    • “batch_size”: 8,
  • RTX 2080TI
    • “batch_size”: 12,
  • RTX 3060
    • “batch_size”: 12,
  • RTX 3090
    • “batch_size”: 15,
  • RTX 4090
    • “batch_size”: 20,
So Vits Svc|人声模拟
训练过程截图

step为已训练步数,一般10,000次以上就可以正常使用了。

您可以随时停止训练,因为它是支持断点续练的,所以您完全不用担心。本站长训练的步数4万步左右,差不多耗时10个小时停止了训练,直接关掉CMD窗口即可。

此时我们可以在.\so-vits-svc\logs\44k目录下看到已训练好的一些PHT后缀文件,目录结构如下:

D:\openai.wiki\so-vits-svc\logs\44k>
│  config.json
│  D_0.pth
│  D_41600.pth
│  D_42400.pth
│  D_43200.pth
│  events.out.tfevents.1679480221.openAI.32440.0
│  G_0.pth
│  G_41600.pth    //已训练41600步的模型文件
│  G_42400.pth    //已训练42400步的模型文件
│  G_43200.pth    //已训练43200步的模型文件
│  train.log      //训练时记录的日志文件
│
└─eval
        events.out.tfevents.1679480221.openAI.32440.1

训练聚类模型

训练聚类模型是指将您已经训练好的数据打包成一个模型,此时直接执行.\openai.wiki\so-vits-svc\3、训练聚类模型.bat脚本即可,无需任何配置。

So Vits Svc|人声模拟

在训练聚类模型时,您将会一直停留在这样的窗口中,没有任何回显功能,本站长起初以为是卡了,关闭了好几次,但是有一次打开之后去上了个厕所,回来之后……就变成了下图这样:

So Vits Svc|人声模拟

居然是正在后台偷偷跑!导致站长在这一步重复操作了很多次,耽误了很长时间,因为找了挺多up主的视频,都是一带而过,并没有详细介绍。如果您不确定是否为假死的状态,可以打开任务管理器看一下。

当您看到上图的界面时,其实就已经代表模型生成完毕,我们可以在.\openai.wiki\so-vits-svc\logs\44k\目录下找到新生成的.pt文件,本站目录内的模型名称为kmeans_10000.pt

D:\openai.wiki\so-vits-svc\logs\44k>
│  config.json
│  D_0.pth
│  D_41600.pth
│  D_42400.pth
│  D_43200.pth
│  events.out.tfevents.1679480221.openAI.32440.0
│  G_0.pth
│  G_41600.pth
│  G_42400.pth
│  G_43200.pth
│  kmeans_10000.pt   //聚类模型
│  train.log
│
└─eval
        events.out.tfevents.1679480221.openAI.32440.1

配置模型

我们已经训练完成声音模型和聚类模型,此时我们需要将这些模型加载到配置文件呢。

修改.\openai.wiki\so-vits-svc目录内的app.py文件,找到第19行,我们仅修改这一行即可。

model = Svc("./logs/44k/G_42400.pth", "./configs/config.json", cluster_model_path="./logs/44k/kmeans_10000.pt")

本站训练完成后的声音模型为G_42400.pth,自定义聚类模型为kmeans_10000.pt,其它保持默认即可,保存。

推理预测

到这一步,其实我们就已经可以正常使用啦。

打开.\openai.wiki\so-vits-svc目录内的4、推理预测.bat文件,等待片刻,将会自动加载出如下信息。

So Vits Svc|人声模拟

当您看到http://127.0.0.1:7860这一行时,代表已经可以正常使用。

我们在浏览器中打开网址http://127.0.0.1:7860后,可以看到如下界面:

So Vits Svc|人声模拟

参数解析

  • 音色
    • 我们训练的语音模型
  • 上传音频
    • 我们想要模型的声音音频,必须要小于90秒。
  • 变调
    • 如果您想和原音色一致,尽量不要调整该数值。
  • 聚类模型混合比例
    • 本站理解为语音模型和基础模型的融合比例
  • 自动f0预测
    • 开启后变调功能失效,唱歌不要勾选,建议仅在朗读文本时使用。
  • 切片阈值
    • 建议保持默认
  • noise_scale
    • 建议保持默认
  • 转换
    • 点击该按钮之后将会开始执行推理任务,将上传的语音与音色进行模拟。
  • Output Message
    • 音频转换状态,会返回音频转换成功或失败的状态。
  • Output Audio
    • 转换成功的音频

⚠️警告:上传想要模拟的音频文件时,必须要使用使用16位的WAV格式,否则转换必会失败。

拟声教程

文本朗读

首先,我们准备一段文本朗读的音频,本站使用比较简单的方式,通过剪映的文本朗读功能倒出一段音频,音频内容如下:

openai.wiki是一个关于AI相关内容的新闻教程网站,每日更新发布关于ai行业领域的最新资讯,并提供相关的github开源项目部署教程,对ai绘画、声音、聊天机器人、音视频处理等相关内容提供全方位教学。

本站这里导出了两上版本,一男一女的朗读效果分别如下:

文本朗读音频示例【男】
文本朗读音频示例【女】

此时我们在所有参数保持默认的情况下,尝试对女声进行转换,将会得到如下结果。

文本朗读音频示例【女声-默认参数模拟效果】

我可以发现,so-vits-svc默认是对声调也进行模拟的,对于女生的模拟这听起来非常难受,本站尝试将音调修改为-15才稍微好一些,但还是半死不活,没有什么活力的样子。

文本朗读音频示例【女声-音调-15模拟效果】

下面进行男声的测试,可以听到该效果虽然有活力,但是有电音,可能是因为对电音部分的训练素材不足,所以导致该问题的出现。

文本朗读音频示例【男声-默认音调模拟】

唱歌模拟

关于唱歌的模拟部分,如果我们直接上传整首歌曲,其实默认效果非常差。但是我们先增加一个步骤,那就可以让唱歌的效果提升几个档次。

人声分离,我们将歌手的声音就行分离,然后进行模拟,这样效果会非常好。

下面是将整首歌直接上传之后模拟得到的结果,它会连同伴奏一起模拟出来,非常鬼畜:

相思【原曲+拟声】

下面是将人声提取之后进行模拟,所得到的效果:

此时的效果依然奇怪,但是已经好了很多,我们加上将伴奏和人声合成到一起,效果就又会提升一些:

唱到后面不太行,可能因为站长的音频素材中没有高音部分,也没有唱歌部分,所以效果很差。

再来一个演示

我要找到你【拟声】

常见报错信息

  • 报错:UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xd0 in position xx
    • 数据集文件名中不要包含中文或日文等非西文字符。
  • 报错:页面文件太小,无法完成操作。
    • 调整一下虚拟内存大小,具体的方法各种地方一搜就能搜到,不展开了。
  • 报错:UnboundLocalError: local variable ‘audio’ referenced before assignment
    • 上传的推理音频需要是16位整数wav格式,用Au转换一下就好。或者装个ffmpeg一劳永逸地解决问题。
  • 报错:AssertionError: CPU training is not allowed.
    • 非N卡跑不了的。
  • 报错:torch.cuda.OutOfMemoryError: CUDA out of memory
    • 爆显存了,试着把batch_size改小,改到1还爆的话建议云端训练。
  • 报错:RuntimeError: DataLoader worker (pid(s) xxxx) exited unexpectedly
    • 把虚拟内存再调大一点。
  • 报错:NotImplementedError: Only 2D, 3D, 4D, 5D padding with non-constant padding are supported for now
    • 数据集切片切太长了,5-10秒差不多。
  • 报错:CUDA error: CUBLAS_STATUS_NOT_INITIALIZED when calling ‘cublasCreate(handle)’
    • 爆显存了,基本上跟CUDA有关的报错大都是爆显存……
  • 报错:torch.multiprocessing.spawn.ProcessExitedException: process 0 terminated with exit code 3221225477
    • 调大虚拟内存,管理员运行脚本
  • 报错:’HParams’ object has no attribute ‘xxx’
    • 无法找到音色,一般是配置文件和模型没对应,打开配置文件拉到最下面看看有没有你训练的音色
  • 报错:raise ProcessExitedException( torch.multiprocessing.spawn.ProcessExitedException: process 0 terminated with exit code 3221225477
    • GPU显存不足
  • 报错:error, emb_g.weight is not in the checkpoint INFO:44k:emb_g.weight is not in the checkpoint load
    • 删除.\so-vits-svc\logs\44k目录下的G_0.pthD_0.pth文件,重新训练。

常见问答

  • Q: 跑这个的最低配置要求是啥啊?
    • A: 支持CUDA的6G显存以上的N卡,硬盘也留足一点空间。
  • Q: A卡真的跑不了吗
    • A: 理论上可以在Ubuntu或Linux环境下通过ROCm来实现,但是比较麻烦,小白建议放弃直接去云端。
  • Q: 我的显卡达不到最低要求,云端又心疼钱,真的没法训练了吗?
    • A: 建议去看DDSP-SVC项目,效果差一点但也能听,最重要的是对低配非常友好。
  • Q: 用UVR5分离人声的时候声音会失真,还有什么更给力的工具吗?
    • A: 理论上UVR5已经是目前最强的人声分离工具了,原曲如果伴奏声音太大轨道太复杂是一定会有失真的,建议选原曲的时候选择伴奏简单人声清楚的效果会好很多。
  • Q: Audio Slicer 切出来的音频有的长达几十秒甚至几分钟,是怎么回事?
    • A: 切片长度建议5-15秒,训练时过长部分会被自动丢弃。切出来过长的音频可以调整一下slicer里的maximum silence length这一条,改成500或者更低。还有过长的音频就自己用Au之类的手动切一下啦。
  • Q: 我怎么判断模型有没有训练好?
    • A: 数据集数量正常的情况下(几百条),可以每隔几千步(是总步数不是epoch)跑出来的模型推理听一下,你觉得ok就ok,一般一万步就可以有一个不错的效果了。或者有代码基础的可以用tensorboard查看一下损失率收敛趋势。
  • Q: 那么问题来了,tensorboard怎么用?
    • A: python38\Scripts\tensorboard.exe --logdir logs\44k
  • Q: 我在训练途中按CTRL+C暂停训练,继续训练的时候为什么从头开始/步数掉了很多呢?
    • A: 视频里说的有点歧义,其实是从你上一个保存的模型的进度开始的,比如保存的一个模型是G_8000, 即使你训练到了第8799步,只要下一个模型还没保存,继续训练的时候都是从第8000步开始的。同理,如果一个模型也没保存,那就是从头开始训练。
  • Q: 如果我在训练中途想要追加一些数据集该怎么办呢?
    • A: 需要重新预处理并重新训练。
  • Q: 我为什么没有聚类模型啊?
    • A: 重看一遍教程。
  • Q: 训练聚类模型的时候显卡根本没占用是怎么会是呢?
    • A: 聚类模型训练吃的是你的CPU,看一下python进程在占用CPU就是在训练,等就行了。
  • Q: 我实在是太懒了,只想让AI帮我读稿子,不想自己录原声再推理,有啥办法吗?
    • A: 可以考一下VITS项目,最近有个VITS fast fine-tuning的方法,几分钟的素材就能练出比较相似的声音,虽然效果没那么好但它实在是太方便了。
  • Q: 云端训练好的模型怎么在本地用?
    • A: 下载G模型和对应的config文件,放到本地的对应文件夹就行(.\logs\44k.\configs
  • Q: 我实在不会搞了,请问能代训练吗?有偿的那种。
    • A: 可以,每1万步100元。
  • Q: 我训练和推理都很顺利!现在已经做了一首翻唱了,想上传到网络,有什么注意事项吗?
    • A: 请务必遵循So-VITS使用规约:
    • 任何发布到视频平台的基于sovits制作的视频,都必须要在简介明确指明用于变声器转换的输入源歌声、音频,例如:使用他人发布的视频/音频,通过分离的人声作为输入源进行转换的,必须要给出明确的原视频、音乐链接;若使用是自己的人声,或是使用其他歌声合成引擎合成的声音作为输入源进行转换的,也必须在简介加以说明。
    • 由输入源造成的侵权问题需自行承担全部责任和一切后果。使用其他商用歌声合成软件作为输入源时,请确保遵守该软件的使用条例,注意,许多歌声合成引擎使用条例中明确指明不可用于输入源进行转换。
    • 请自行解决数据集的授权问题,任何由于使用非授权数据集进行训练造成的问题,需自行承担全部责任和一切后果。

本文参考以下相关文章进行整理及实现

AI声音克隆教程 – 哔哩哔哩 (bilibili.com)
So-VITS-SVC 4.0 训练/推理常见报错和Q&A – 哔哩哔哩 (bilibili.com)
so-vits-svc 革命性突破最强声音克隆,终于可以用自己的声音播稿了_哔哩哔哩_bilibili

此文章由OpenAI开源维基百科原创发布,如若转载请注明出处:https://openai.wiki/so-vits-svc.html

(1)
上一篇 2023-03-21 12:06
下一篇 2023-03-24 18:38

相关推荐

  • Voice Changer|实时变音

    VC Client是一款用于实时音频转换的客户端软件,利用各种音频转换人工智能进行AI音频转换。支持的音频转换人工智能模型包括MMVC|So-Vits-SVC|RVC|DDSP-SVC等项目。

    2023-07-07
    013.5K
  • Voice Changer|实时变音-WSL

    VC Client是一款用于实时音频转换的客户端软件,利用各种音频转换人工智能进行AI音频转换。支持的音频转换人工智能模型包括MMVC|So-Vits-SVC|RVC|DDSP-SVC等项目。

    2023-07-08
    001.5K
  • VITS-fast-fine-tuning|声音克隆

    VITS-fast-fine-tuning会指导你如何将自定义角色,加入预训练的VITS模型中,在1小时内的微调使模型具备包含任意两个角色之间进行声线转换以及声色声线进行中日英三语文本到语音合成。

    2023-08-15
    011.8K
  • MockingBird|便携版v1.1.7

    支持中文:支持普通话并使用多种中文数据集进行测试,Windows + Linux:可在 Windows 操作系统和 linux 操作系统中运行(苹果系统M1版也有社区成功运行案例)。

    2022-12-13
    084.7K
  • MockingBird|声音克隆

    本文介绍了MockingBird声音克隆,这是一款高效的音频处理工具,能够为电影配音和音效制作提供真实的声音模拟效果。通过对MockingBird的详细了解,可以更好的利用它来实现音频处理的需求。

    2022-12-12
    013.5K

回复 xxnx

您的邮箱地址不会被公开。 必填项已用 * 标注

评论列表(35条)

  • th
    th 2023-03-25 23:22

    这个不需要anaconda建立虚拟环境吗

    • PhiltreX
      PhiltreX 2023-03-26 12:10

      @th不需要哦,压缩包内自带Python

    • th
      th 2023-03-30 09:23

      @PhiltreX好的,谢谢!

    • kk
      kk 2023-06-19 23:26

      @PhiltreX您好,我的cuda版本和自带的python中安装的pytorch不匹配,请问如何修改对应包

  • felixqian
    felixqian 2023-05-03 12:13

    可以更改参数把歌曲时长增加到5分钟吗?

    • PhiltreX
      PhiltreX 2023-05-03 14:29

      @felixqian我没理解你的意思,你是指最后输出的时候,输出一首超过五分钟的歌曲吗?

    • felixqian
      felixqian 2023-05-04 10:33

      @PhiltreX就是上传音频时长不能超过90秒,那是不是意味着最多只能生成90秒的音频,那如果改成300秒的行吗?

    • PhiltreX
      PhiltreX 2023-05-04 18:12

      @felixqian这个我还真没试过,理论上是不行的,不然人家也不会给出限制哈。

    • felixqian
      felixqian 2023-05-05 10:56

      @PhiltreX哦哦 好吧 只能切片 模拟 另外 你一般用多长的声音数据进行模拟?

    • PhiltreX
      PhiltreX 2023-05-05 15:16

      @felixqian我这里一般用三分钟左右的,关于SVS这一块,我有个搞音乐的朋友感兴趣,正在给我录干音素材,最近我会再出一篇关于SVS的补充教程,请耐心等待。

    • felixqian
      felixqian 2023-05-09 11:06

      @PhiltreX好的,那等你补充,我现在就是模拟出来的声音就有比较重的电子音,你参数怎么调的呀

    • PhiltreX
      PhiltreX 2023-05-09 16:32

      @felixqian我的什么也没调,你的步数训练的如果太高了,可能会过饱和,就会有电子音。

    • felixqian
      felixqian 2023-05-10 11:18

      @PhiltreX原来如此 那一般用多少数据来训练呀 10分钟的干音够吗?

    • PhiltreX
      PhiltreX 2023-05-10 23:02

      @felixqian本站的素材使用了两个小时左右的干音,10分钟其实也是可以的,但是实在太少了,我觉得最少也要一小时比较好吧。

    • felixqian
      felixqian 2023-05-12 12:14

      @PhiltreX好的 明白了

  • vl
    vl 2023-05-14 14:11

    感谢站长的资源,请问我在训练时报错emb_g.weight is not in the checkpoint是因为什么造成的~感谢您能抽空回复

    • PhiltreX
      PhiltreX 2023-05-14 22:49

      @vl根据你提供的错误信息,提示在模型中找不到emb_g.weight参数。建议下载本站所提供的模型,应该可以避免这个问题。

  • vl
    vl 2023-05-15 22:14

    站长您好,我用的是本站提供的素材,也严格按照以上的步骤,最后导出的音频无声,请问您知道是什么原因吗。

    • PhiltreX
      PhiltreX 2023-05-17 23:22

      @vl是指在网页生成之后没有声音吗?

  • hero20072
    hero20072 2023-05-22 12:26

    训练时候,我这儿只有info:44k epoch:xx cost:x s 同样格式一次一行不停的跳,不显示loss, save xx.pth 这些内容,咋回事?

    • PhiltreX
      PhiltreX 2023-05-24 12:22

      @hero20072我也遇到过,用本站所提供的模型试试,你在官方下载的可能缺少文件。

  • felixqian
    felixqian 2023-05-26 13:00

    站长 如果要多训练几次由模型产生的唱歌的音乐 我应该如何设置 因为只做一次 效果并不好

  • xxnx
    xxnx 2023-07-07 14:10

    训练模型process 0 terminated with exit code 3221225477

  • xxnx
    xxnx 2023-07-07 14:15

    站长你好。第二步训练中似乎报错,复制给AI分析后指出process 0 terminated with exit code 3221225477.(使用的是本站的素材)

    • PhiltreX
      PhiltreX 2023-07-07 18:42

      @xxnx错误代码太少了,多贴一些出来,只看这一句我找不到原因。

  • asd
    asd 2023-07-11 20:28

    torch.cuda.OutOfMemoryError: CUDA out of memory. Tried to allocate 20.00 MiB (GPU 0; 6.00 GiB total capacity; 1.74 GiB already allocated; 1.94 GiB free; 1.79 GiB reserved in total by PyTorch) If reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation. See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF
    这样的报错请问如何解决?

    • PhiltreX
      PhiltreX 2023-07-14 10:40

      @asdGPU显存不足,你的显卡是不是不太好啊。

    • 黑巢
      黑巢 2023-11-06 19:53

      @PhiltreX有个商业化的应用想跟您沟通下,不知道是否方便留个联系方式?

  • SlookUP
    SlookUP 2023-08-05 17:21

    站长问一下你的配置是多少啊?我3080的显卡训练快三个小时才500步不到,像我这样的得加配置才行吧?

  • bcpyq
    bcpyq 2023-09-02 15:35

    打开slicer-gui时提示“api-ms-win-core-path-1-1-0.dll丢失”是怎么回事

  • 太一
    太一 2023-09-21 13:52

    您好 ,我现在到推理预测了 ,但是 最后 里面给出了AssertionError这样一个指示,然后就让我按任意键继续了,也没有给我URL,这个是什么原因导致的呢?

  • hei
    hei 2024-01-21 15:51

    声音素材大概需要多长呢

  • xxnx
    xxnx 2024-02-13 20:29

    报错(以下内容)怎么搞啊
    Traceback (most recent call last):
    File “app.py”, line 9, in
    from inference.infer_tool import Svc
    File “D:\so-vits-svc-4.0\inference\infer_tool.py”, line 8, in
    from inference import slicer
    File “D:\so-vits-svc-4.0\inference\slicer.py”, line 3, in
    import torchaudio
    File “D:\so-vits-svc-4.0\python38\lib\site-packages\torchaudio\__init__.py”, line 1, in
    from torchaudio import ( # noqa: F401
    File “D:\so-vits-svc-4.0\python38\lib\site-packages\torchaudio\_extension.py”, line 135, in
    _init_extension()
    File “D:\so-vits-svc-4.0\python38\lib\site-packages\torchaudio\_extension.py”, line 105, in _init_extension
    _load_lib(“libtorchaudio”)
    File “D:\so-vits-svc-4.0\python38\lib\site-packages\torchaudio\_extension.py”, line 52, in _load_lib
    torch.ops.load_library(path)
    File “D:\so-vits-svc-4.0\python38\lib\site-packages\torch\_ops.py”, line 573, in load_library
    ctypes.CDLL(path)
    File “D:\so-vits-svc-4.0\python38\lib\ctypes\__init__.py”, line 373, in __init__
    self._handle = _dlopen(self._name, mode)
    FileNotFoundError: Could not find module ‘D:\so-vits-svc-4.0\python38\Lib\site-packages\torchaudio\lib\libtorchaudio.pyd’ (or one of its dependencies). Try using the full path with constructor syntax.
    请按任意键继续. . .

  • ddd
    ddd 2024-11-06 10:33

    核显可以搞吗

  • xudo
    xudo 2025-03-12 00:49

    请问第二步报这个错是什么意思
    Active code page: 65001
    即将开始训练
    INFO:44k:{‘train’: {‘log_interval’: 200, ‘eval_interval’: 800, ‘seed’: 1234, ‘epochs’: 10000, ‘learning_rate’: 0.0001, ‘betas’: [0.8, 0.99], ‘eps’: 1e-09, ‘batch_size’: 6, ‘fp16_run’: False, ‘lr_decay’: 0.999875, ‘segment_size’: 10240, ‘init_lr_ratio’: 1, ‘warmup_epochs’: 0, ‘c_mel’: 45, ‘c_kl’: 1.0, ‘use_sr’: True, ‘max_speclen’: 512, ‘port’: ‘8001’, ‘keep_ckpts’: 3}, ‘data’: {‘training_files’: ‘filelists/train.txt’, ‘validation_files’: ‘filelists/val.txt’, ‘max_wav_value’: 32768.0, ‘sampling_rate’: 44100, ‘filter_length’: 2048, ‘hop_length’: 512, ‘win_length’: 2048, ‘n_mel_channels’: 80, ‘mel_fmin’: 0.0, ‘mel_fmax’: 22050}, ‘model’: {‘inter_channels’: 192, ‘hidden_channels’: 192, ‘filter_channels’: 768, ‘n_heads’: 2, ‘n_layers’: 6, ‘kernel_size’: 3, ‘p_dropout’: 0.1, ‘resblock’: ‘1’, ‘resblock_kernel_sizes’: [3, 7, 11], ‘resblock_dilation_sizes’: [[1, 3, 5], [1, 3, 5], [1, 3, 5]], ‘upsample_rates’: [8, 8, 2, 2, 2], ‘upsample_initial_channel’: 512, ‘upsample_kernel_sizes’: [16, 16, 4, 4, 4], ‘n_layers_q’: 3, ‘use_spectral_norm’: False, ‘gin_channels’: 256, ‘ssl_dim’: 256, ‘n_speakers’: 200}, ‘spk’: {‘openai_wiki_Drug’: 0}, ‘model_dir’: ‘./logs\\44k’}
    WARNING:44k:E:\ai\ai\so-vits-svc-4.0 is not a git repository, therefore hash value comparison will be ignored.
    INFO:torch.distributed.distributed_c10d:Added key: store_based_barrier_key:1 to store for rank: 0
    INFO:torch.distributed.distributed_c10d:Rank 0: Completed store-based barrier for key:store_based_barrier_key:1 with 1 nodes.
    ./logs\44k\G_0.pth
    error, emb_g.weight is not in the checkpoint
    INFO:44k:emb_g.weight is not in the checkpoint
    load
    INFO:44k:Loaded checkpoint ‘./logs\44k\G_0.pth’ (iteration 0)
    ./logs\44k\D_0.pth
    load
    INFO:44k:Loaded checkpoint ‘./logs\44k\D_0.pth’ (iteration 0)
    Traceback (most recent call last):
    File “train.py”, line 313, in
    main()
    File “train.py”, line 54, in main
    mp.spawn(run, nprocs=n_gpus, args=(n_gpus, hps,))
    File “E:\ai\ai\so-vits-svc-4.0\python38\lib\site-packages\torch\multiprocessing\spawn.py”, line 240, in spawn
    return start_processes(fn, args, nprocs, join, daemon, start_method=’spawn’)
    File “E:\ai\ai\so-vits-svc-4.0\python38\lib\site-packages\torch\multiprocessing\spawn.py”, line 198, in start_processes
    while not context.join():
    File “E:\ai\ai\so-vits-svc-4.0\python38\lib\site-packages\torch\multiprocessing\spawn.py”, line 160, in join
    raise ProcessRaisedException(msg, error_index, failed_process.pid)
    torch.multiprocessing.spawn.ProcessRaisedException:

    — Process 0 terminated with the following error:
    Traceback (most recent call last):
    File “E:\ai\ai\so-vits-svc-4.0\python38\lib\site-packages\torch\utils\data\dataloader.py”, line 1120, in _try_get_data
    data = self._data_queue.get(timeout=timeout)
    File “E:\ai\ai\so-vits-svc-4.0\python38\lib\queue.py”, line 178, in get
    raise Empty
    _queue.Empty

    The above exception was the direct cause of the following exception:

    Traceback (most recent call last):
    File “E:\ai\ai\so-vits-svc-4.0\python38\lib\site-packages\torch\multiprocessing\spawn.py”, line 69, in _wrap
    fn(i, *args)
    File “E:\ai\ai\so-vits-svc-4.0\train.py”, line 122, in run
    train_and_evaluate(rank, epoch, hps, [net_g, net_d], [optim_g, optim_d], [scheduler_g, scheduler_d], scaler,
    File “E:\ai\ai\so-vits-svc-4.0\train.py”, line 144, in train_and_evaluate
    for batch_idx, items in enumerate(train_loader):
    File “E:\ai\ai\so-vits-svc-4.0\python38\lib\site-packages\torch\utils\data\dataloader.py”, line 628, in __next__
    data = self._next_data()
    File “E:\ai\ai\so-vits-svc-4.0\python38\lib\site-packages\torch\utils\data\dataloader.py”, line 1316, in _next_data
    idx, data = self._get_data()
    File “E:\ai\ai\so-vits-svc-4.0\python38\lib\site-packages\torch\utils\data\dataloader.py”, line 1272, in _get_data
    success, data = self._try_get_data()
    File “E:\ai\ai\so-vits-svc-4.0\python38\lib\site-packages\torch\utils\data\dataloader.py”, line 1133, in _try_get_data
    raise RuntimeError(‘DataLoader worker (pid(s) {}) exited unexpectedly’.format(pids_str)) from e
    RuntimeError: DataLoader worker (pid(s) 12800, 5572, 2180) exited unexpectedly

微信