开源语音转换框架 支持多种F0算法和快速训练
Mangio-RVC-Fork是一个基于VITS的开源语音转换框架,具有top1检索功能。它提供CLI和Web界面,支持多种F0估计方法,包括混合F0算法。该工具可快速训练,使用少量数据也能获得良好效果。支持模型融合改变音色,以及UVR5模型分离人声和伴奏。项目持续开发中,计划添加更多功能优化用户体验。
os.path.abspath(os.getcwd())
<b>我正在独自开发。通过捐赠来支持我快速开发开源A.I深度神经网络音频工具和框架。捐赠意味着您对改进音频A.I整体做出承诺。您应该捐赠是因为您只想"支持"我,而不是因为您期望得到一个成品。没有任何保证。谢谢</b> <br> <a href="https://www.paypal.com/donate/?business=HEW6P8R79NFFN&no_recurring=0&item_name=I+have+an+altruistic+drive+to+develop+open-source+A.I+frameworks+and+tools.+Support+me+in+improving+A.I+audio+entirely.¤cy_code=AUD"><img src="https://yellow-cdn.veclightyear.com/835a84d5/a56fc058-e1d5-4c00-8df1-f5632e2e5cbc.png" height="42"></a>
💓 请支持原始RVC仓库。显然,没有它,这个分支就不可能存在。Mangio-RVC-Fork旨在以我自己的方式基本上增强原始RVC仓库的功能。请注意,这个分支不稳定,分叉的目的是为了实验。不要认为这个分支是原始仓库的"更好"版本。把它看作是原始仓库的另一个"版本"。请注意,这没有Google Colab。如果您想使用Google Colab,请前往原始仓库。目前,这个分支旨在与Paperspace和本地机器一起使用。
</b>
<b>现在支持版本2预训练模型!</b>
我能够在这里与您进行交流。
特别感谢Discord用户@kalomaze#2983为这个分支创建了一个临时的Colab笔记本。最终,一个官方的、更稳定的笔记本将包含在这个分支中。如果可能的话,请使用Paperspace,因为它更加稳定。 <br>
<img src="https://yellow-cdn.veclightyear.com/835a84d5/7c269570-41c9-4998-8649-458a71c43945.gif" /><br>
</div>原始RVC演示视频在这里!
使用RVC的实时语音转换软件:w-okada/voice-changer
预训练模型的数据集使用了近50小时的高质量VCTK开源数据集。 高质量的授权歌曲数据集将陆续添加到训练集中供您使用,无需担心版权侵权问题。
目前,混合f0方法仅在命令行中可用,尚未在GUI中实现。但基本上在推理过程中,我们可以指定一个f0方法数组,例如["pm", "harvest", "crepe"],获取所有方法的f0计算结果,然后用nanmedian"组合"它们,得到一个混合f0信号,以获得所有提供的f0方法的"最佳效果"。
以下是如何在命令行中使用混合f0方法进行推理:
MyModel.pth saudio/Source.wav Output.wav logs/mi-test/added.index 0 -2 hybrid[pm+crepe] 128 3 0 1 0.95 0.33
注意,方法是"hybrid[pm+crepe]"而不是单一方法如"harvest"。
hybrid[pm+harvest+crepe] # crepe计算将在计算堆栈的"末端"。 # parselmouth计算将在计算堆栈的"开始"。 # "hybrid"方法将计算pm、harvest和crepe的nanmedian
可以使用多种f0方法。但需要用'+'字符分隔。请注意,由于我们需要计算X倍的f0,推理时间会大大延长。
原始仓库的crepe f0计算方法与我的略有不同。可以说在某些方面,我的crepe实现在某些部分听起来更稳定。然而,原始仓库的crepe实现在消除噪音和伪音方面效果更好。在这个分支中,我自己的crepe实现(mangio-crepe)在GUI和CLI上都使用了可自定义的crepe_hop_length功能,而原始crepe没有这个功能。请注意,每种实现的声音略有不同,没有明确的"更好"或"更差"之分。这完全取决于具体情况!
如果必须选择一个,我强烈建议使用原始的crepe实现(而不是这个分支的),因为RVC的开发者对修复问题有更多的控制权。
Crepe训练仍然非常不稳定,有报告称存在内存泄漏。这将在未来修复,但在Paperspace机器上运行得相当好。请注意,crepe训练与harvest训练的模型相比会有一些差异。Crepe在某些部分听起来更清晰,但在某些部分也更像机器人。我认为两者都同样适合训练,但我仍然认为在推理时使用crepe不仅更快,而且音高更稳定(尤其是对于多层人声)。目前,使用harvest模型训练并用crepe进行推理是相当稳定的。但是,如果您使用crepe进行训练(f0特征提取),请确保您的数据集尽可能干净,以减少伪音和不需要的谐波,因为我认为crepe音高估计更容易受到混响的影响。
仅 适用于命令行(尚未在GUI中实现)。基本上与本自述文件中描述的推理时f0混合使用方法相同。在f0特征提取页面的参数中,您可以使用"hybrid[harvest+dio+pm+crepe]"代替"harvest"。这种f0 nanmedian混合方法在特征提取过程中会花费很长时间。如果您愿意使用混合f0,请耐心等待。
这是由于进程数(n_p)过高造成的。请确保减少线程数。请在特征提取GUI上降低"使用的CPU线程数"滑块的值。
欢迎使用RVC版本2!
请注意,版本2的预训练模型仅支持40k模型采样率。如果您想使用32k或48k,请使用版本1的预训练模型。
使用pip(python3.9.8与此分支稳定兼容)
cd Mangio-RVC-Fork make install # 每次启动Paperspace机器时都需要执行此操作
注意:faiss 1.7.2
在MacOS
下会引发Segmentation Fault: 11错误,如果您使用pip手动安装,请使用pip install faiss-cpu==1.7.0
。在MacOS
下可以通过brew
安装Swig
brew install swig
安装依赖:
pip install -r requirements.txt
如果遇到httpx无效端口错误,请安装httpx==0.23.0
cd Mangio-RVC-Fork # 克隆此分支后只需执行一次(除非hugging face上的预训练模型发生变 化,否则无需再次执行) make basev1 # 或者如果使用版本2的预训练模型 make basev2
RVC需要其他预训练模型来进行推理和训练。 您需要从我们的Huggingface空间下载它们。
以下是RVC需要的预训练模型和其他文件列表:
hubert_base.pt ./pretrained ./uvr5_weights 如果您想测试v2版本模型(v2版本模型将特征从9层hubert+final_proj的256维输入更改为12层hubert的768维输入,并添加了3个循环判别器),需要额外下载 ./pretrained_v2 #如果您使用Windows,可能需要此文件,如果已安装ffmpeg和ffprobe则可以跳过;ubuntu/debian用户可以通过apt install ffmpeg安装这两个库 ./ffmpeg ./ffprobe
cd Mangio-RVC-Fork make run-ui
然后点击它提供的gradio链接。
# 在云端系统上使用 --paperspace 或 --colab 参数 python infer-web.py --pycmd python --port 3000
cd Mangio-RVC-Fork make run-cli
python infer-web.py --pycmd python --is_cli
Mangio-RVC-Fork v2 命令行应用! 欢迎使用 RVC 的命令行版本。请阅读 https://github.com/Mangio621/Mangio-RVC-Fork (README.MD) 上的文档以了解如何使用此应用。 您当前在"首页": go home : 返回带有导航列表的首页。 go infer : 进入推理命令执行页面。 go pre-process : 进入训练步骤1)预处理命令执行页面。 go extract-feature : 进入训练步骤2)特征提取命令执行页面。 go train : 进入训练步骤3)开始或继续训练命令执行页面。 go train-feature : 进入训练特征索引命令执行页面。 go extract-model : 进入提取小模型命令执行页面。 首页:
例如,输入"go infer"将带您进入推理页面,您可以在那里输入您希望用于该特定页面的参数。例如,输入"go infer"将带您到这里:
首页: go infer 您当前在"推理": 参数 1) ./weights 中带 .pth 的模型名称: mi-test.pth 参数 2) 源音频路径: myFolder\MySource.wav 参数 3) 要放置在 './audio-outputs' 中的输出文件名: MyTest.wav 参数 4) 特征索引文件路径: logs/mi-test/added_IVF3042_Flat_nprobe_1.index 参数 5) 说话人 ID: 0 参数 6) 转调: 0 参数 7) f0 方法: harvest (pm, harvest, crepe, crepe-tiny) 参数 8) crepe 跳跃长度: 160 参数 9) harvest 中值滤波半径: 3 (0-7) 参数 10) 后重采样率: 0 参数 11) 混音音量包络: 1 参数 12) 特征索引比率: 0.78 (0-1) 参数 13) 无声辅音保护 (减少伪音): 0.33 (数字越小 = 保护越多。0.50 表示不使用。) 示例: mi-test.pth saudio/Sidney.wav myTest.wav logs/mi-test/added_index.index 0 -2 harvest 160 3 0 1 0.95 0.33 推理: <在此处插入参数或复制粘贴示例>
cd Mangio-RVC-Fork make tensorboard
然后点击它提供的 tensorboard 链接并刷新数据。
[可选] 更改 Gradio 的主题:
notepad++
、notepad
、vscode
等)打开 infer-web.py
2a. 按 Ctrl+F 搜索 with gr.Blocks(
,选择未被完全注释的那个
2b. 转到第 1842
行,你会看到 with gr.Blocks(theme='HaleyCH/HaleyCH_Theme') as app:
3.1 选 择你喜欢的任何主题(例如这个)
3.2 查看页面顶部
3.3 复制主题变量(在这个例子中,是 theme='freddyaboulton/dracula_revamped'
)
infer-web.py
中用 Gradio 主题库 中任何主题的值替换 theme='HaleyCH/HaleyCH_Theme'
wav
文件,而且处理速度很慢,请耐心等待。\formantshiftcfg\
文件夹中添加了新的 preset.txt
,请点击带有刷新表情的按钮如果你使用 Windows,你可以下载并解压 RVC-beta.7z
以直接使用 RVC,并使用 go-web.bat
启动网页界面。
还有一个中文版的 RVC 教程,如有需要可以查看。
AI数字人视频创作平台
Keevx 一款开箱即用的AI数字人视频创作平台,广泛适用于电商广告、企业培训与社媒宣传,让 全球企业与个人创作者无需拍摄剪辑,就能快速生成多语言、高质量的专业视频。
一站式AI创作平台
提供 AI 驱动的图片、视频生成及数字人等功能,助力创意创作
AI办公助手,复杂任务高效处理
AI办公助手,复杂任务高效处理。办公效率低?扣子空间AI助手支持播客生成、PPT制作、网页开发及报告写作,覆盖科研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!
AI辅助编程,代码自动修复
Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。
AI小说写作助手,一站式润色、改写、扩写
蛙蛙写作—国内先进的AI写作平台,涵盖小说、学术、社交媒体等多场景。提供续写、改写、润色等功能,助力创作者高效优化写作流程。界面简洁,功能全面,适合各类写作者提升内容品质和工作效率。
全能AI智能助手,随时解答生活与工作的多样问题
问小白,由元石科技研发的AI智能助手,快速准确地解答各种生活和工作问题,包括但不限于搜索、规划和社交互动,帮助用户在日常生活中提高效率,轻松管理个人事务。
实时语音翻译/同声传译工具
Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。
一键生成PPT和Word,让学习生活更轻松
讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标 制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。
深度推理能力全新升级,全面对标OpenAI o1
科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。
一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型
Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。
最新AI工具、AI资讯
独家AI资源、AI项目落地
微信扫一扫关注公众号