Project Icon

Retrieval-based-Voice-Conversion

基于VITS的开源语音转换框架

Retrieval-based-Voice-Conversion是一个基于VITS的开源语音转换框架。该项目提供库、API和命令行接口,支持标准和自定义设置,允许灵活配置模型和环境。它具有详细的音频推理参数设置功能,并支持Docker部署,使语音转换技术更易于使用和实施。

基于检索的语音转换

一个基于VITS的易用语音转换框架。

madewithlove


Licence

Discord


[!注意] 目前正在开发中...作为库和API在rvc中提供

安装和使用

标准设置

首先,在你的项目中创建一个目录。assets文件夹将包含推理和训练所需的模型,result文件夹将包含训练结果。

rvc init

这将在你的工作目录中创建一个assets文件夹和.env文件。

[!警告] 该目录应为空或不含assets文件夹。

自定义设置

如果你已经下载了模型或想更改这些配置,请编辑.env文件。 如果你还没有.env文件,

rvc env create

可以创建一个。

此外,下载模型时,你可以使用

rvc dlmodel

rvc dlmodel {download_dir}

最后,在env文件中指定模型的位置,就完成了!

库使用

推理音频

from pathlib import Path

from dotenv import load_dotenv
from scipy.io import wavfile

from rvc.modules.vc.modules import VC


def main():
      vc = VC()
      vc.get_vc("{model.pth}")
      tgt_sr, audio_opt, times, _ = vc.vc_inference(
            1, Path("{InputAudio}")
      )
      wavfile.write("{OutputAudio}", tgt_sr, audio_opt)


if __name__ == "__main__":
      load_dotenv("{envPath}")
      main()

CLI使用

推理音频

rvc infer -m {model.pth} -i {input.wav} -o {output.wav}
选项标志 类型默认值描述
modelPath-mPath*必需模型路径或文件名(在env中设置的目录中读取)
inputPath-iPath*必需输入音频路径或文件夹
outputPath-oPath*必需输出音频路径或文件夹
sid-sint0说话者/歌手ID
f0_up_key-fuint0变调(整数,半音数,升高一个八度:12,降低一个八度:-12)
f0_method-fmstrrmvpe音高提取算法(pm, harvest, crepe, rmvpe)
f0_file-ffPath | NoneNoneF0曲线文件(可选)。每行一个音高。替换默认F0和音高调制
index_file-ifPath | NoneNone特征索引文件路径
index_rate-iffloat0.75搜索特征比率(控制口音强度,太高会产生伪音)
filter_radius-frint3如果>=3:对获取的音高结果应用中值滤波。该值表示滤波半径,可以减少气声
resample_sr-rsrint0在后处理中将输出音频重采样到最终采样率。设置为0表示不重采样
rms_mix_rate-rmrfloat0.25调整音量包络缩放。越接近0,越模仿原始声音的音量。设置相对较低时可以帮助掩盖噪音并使音量听起来更自然。越接近1将是更加一致的大音量
protect-pfloat0.33保护无声辅音和呼吸声,防止电子音乐中出现撕裂等伪音。设置为0.5以禁用。降低值以增加保护,但可能降低索引准确性

API使用

首先,启动服务器。

rvc-api

poetry run poe rvc-api

推理音频

获取为blob
curl -X 'POST' \
      'http://127.0.0.1:8000/inference?res_type=blob' \
      -H 'accept: application/json' \
      -H 'Content-Type: multipart/form-data' \
      -F 'modelpath={model.pth}' \
      -F 'input={input audio path}'
获取为json(包含时间)
curl -X 'POST' \
      'http://127.0.0.1:8000/inference?res_type=json' \
      -H 'accept: application/json' \
      -H 'Content-Type: multipart/form-data' \
      -F 'modelpath={model.pth}' \
      -F 'input={input audio path}'

Docker使用

通过脚本构建和运行:

./docker-run.sh

或者手动使用:

  1. 构建:

    docker build -t "rvc" .
    
  2. 运行:

    docker run -it \
      -p 8000:8000 \
      -v "${PWD}/assets/weights:/weights:ro" \
      -v "${PWD}/assets/indices:/indices:ro" \
      -v "${PWD}/assets/audios:/audios:ro" \
      "rvc"
    

注意假设权重、索引和输入音频存储在当前目录/assets

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号