voice morph

VC/VC++ 2025-07-31

voice morph

变声工具,模型基于Retrieval-based-Voice-Conversion-WebUI训练,通过web界面或命令行的方式交互。

改变的只是音色,而不是说话的习惯。

1 环境

1.1 base

  1. 安装Pytorch及其核心依赖,若已安装则跳过。参考自: https://py*t*orch.o*rg/get-started/locally/

  2. 安装依赖包

    pip install -r requirements.txt
  3. 下载模型,所以模型都被保存在models文件夹中 下列模型放在models根目录

    • rmvpe.pt
    • rmvpe.onnx
    • hubert_base.pt

    rvc变声模型则放到./models/rvc目录下

    目录结构:

    models
        ├──hubert_base.pt
        ├──rmvpe.onnx
        ├──rmvpe.pt
        ├──rvc/
        |   ├── kuon-bc-v1.pth
        |   └── kuon-bc-v1.index
  4. 安装 ffmpeg

    • ubuntu
      sudo apt install ffmpeg
    • windows 下载个exe后添加到环境变量中

1.2 清洁音频

想要好的效果则需要输入干净的音频,也就是仅仅只有说话的语音。可以通过Ultimate Vocal Remover进行处理,也可以通过本仓库的工具,需要下列安装下列环境。

  1. 安装软件包
# https://gi**thub*.com/karaokenerds/python-audio-separator
pip install audio-separator[gpu]
# pip install audio-separator[cpu]
  1. 下载模型

将模型文件夹放到models/uvr/中,目前我只使用了两个:

  • uvr模型
    • UVR_MDXNET_Main.onnx
    • UVR-De-Echo-Aggressive.pth

目录结构:

models
    ├── uvr
        ├── UVR_MDXNET_Main.onnx
        ├── UVR-De-Echo-Aggressive.pth

2 使用

2.1 清洁音频

该功能用于人声伴奏分离

python uvr.py --model_name="UVR_MDXNET_Main.onnx" --audio="./temp/SPEAKER_03_750225_752706.wav"

python uvr.py --model_name="UVR-De-Echo-Aggressive.pth" --audio="./file/cn-test.wav"

参数:

  • model_name 模型名
  • audio 输入音频文件
  • model_file_dir 存放模型文件夹
  • output_dir 输出目录
  • sample_rate 音频的采样率

如果在进行分离时报错,说内存不足,可以到uvr.py中修改batch_size参数往小调。

2.2 base 命令行

通过命令行使用基础变声服务

示例:

CUDA_VISIBLE_DEVICES=0
python .\base.py -i ./file/jp-test-1.wav -m "kuon-1000-(default40k)-w"

参数:

  • -i 输入音频或者视频,可以是本地文件或者url链接
  • -o 输出目录
  • -p 变声音调值
  • -m 模型名,如果使用,则会使用默认模型,默认模型在.env中修改

七海千秋原音:

s1.webm

久远模型输出:

s2.webm

2.3 base web使用

通过web界面使用基础变声服务

streamlit run base_web.py  --server.port 1234 --server.maxUploadSize 1000

2.4 视频变声 命令行

需要安装基础环境和清洁音频环境

CUDA_VISIBLE_DEVICES=0
python video_morph.py -i ./file/test.mp4 -o ./temp/output -m "kuon-1000-(default40k)-w"
  • -i 输入视频,也可以是url链接
  • -o 输出目录(可选,默认temp/output文件夹)
  • -p 变声音调值(可选,默认 0)
  • -m 模型名(可选)默认模型在.env中修改

2.5 视频变声 web使用

streamlit run video_morph_web.py  --server.port 1234 --server.maxUploadSize 1000

2.6 视频变声 web docker

生成镜像

docker build -t voice-morph .

运行容器

sudo docker run --runtime=nvidia -d -e NVIDIA_VISIBLE_DEVICES=0 -p 22222:22222 -v $(pwd)/:/workspace --name voice-morph voice-morph

2.7 歌曲变声 命令行

CUDA_VISIBLE_DEVICES=0
python music_morph.py -i ./file/jp-music.mp3 -m "kuon-1000-(default40k)-w" -o ./temp/output
下载源码

通过命令行克隆项目:

git clone https://github.com/lissettecarlr/voice-morph.git