音频变声处理工具 - 使用 RVC AI 模型进行真实的声音转换
voice-changer 是一个音频/视频变声处理 skill,支持直接处理视频文件或音频文件进行变声处理。
优点:
原理: 使用 HuBERT 特征提取 + RVC 模型推理:
适用场景:
voice-changer/
├── SKILL.md # 本文档
├── README.md # 使用说明
├── scripts/
│ └── voice_change.py # 核心变声脚本
├── config/
│ └── voice_config.json # 声音配置文件
└── models/ # RVC 模型目录
├── rvc_env_310/ # Python 3.10 环境
├── rvc_core/ # RVC 核心代码
└── rvc_models/ # RVC 模型文件
{
"method": "rvc",
"rvc_model_path": "models/rvc_models/trained_models/kohane.pth",
"default_voice": "female_3",
"voices": {
"female_3": {
"name": "女声(甜美)",
"method": "rvc",
"model_path": "...kohane.pth",
"index_path": "...kohane.index",
"f0up_key": -1,
"f0_method": "harvest"
}
}
}
method: 处理方法(rvc 或 pedalboard)f0up_key: 音高调整(半音)f0_method: F0 提取方法(harvest、crepe、pm 等)# 基本用法(使用默认女声)
python3 ~/.claude/skills/voice-changer/scripts/voice_change.py input.mp3
# 直接处理视频文件(自动提取音频→变声→合成视频)
python3 ~/.claude/skills/voice-changer/scripts/voice_change.py input.mp4 -o output.mp4
# 指定声音类型
python3 ~/.claude/skills/voice-changer/scripts/voice_change.py input.mp3 -v female_2
# 指定输出文件
python3 ~/.claude/skills/voice-changer/scripts/voice_change.py input.mp3 -o output.mp3
# 自定义音高
python3 ~/.claude/skills/voice-changer/scripts/voice_change.py input.mp3 -p 7
# 查看帮助
python3 ~/.claude/skills/voice-changer/scripts/voice_change.py --help
处理视频时会自动:
import subprocess
def change_voice(input_audio, voice_type='female_1'):
"""调用 voice-changer skill"""
script_path = os.path.expanduser(
'~/.claude/skills/voice-changer/scripts/voice_change.py'
)
output_audio = input_audio.replace('.mp3', '_voice_changed.mp3')
cmd = [
'python3', script_path,
input_audio,
'-v', voice_type,
'-o', output_audio
]
result = subprocess.run(cmd, capture_output=True, text=True)
if result.returncode == 0:
return output_audio
else:
print(f"变声失败: {result.stderr}")
return input_audio
| 预设名称 | 音高 | 描述 | 适用场景 |
|---|---|---|---|
| female_1 | 0 | 女声(轻柔) | 基础女声 |
| female_2 | +2 | 女声(明亮) | 更高的女声 |
| female_3 | -1 | 女声(甜美)⭐ | 默认,自然女声 |
| child | +8 | 童声 | 儿童效果 |
| rvc_female | +4 | AI 女声(高音高) | 高质量女声 |
| rvc_male | -12 | AI 男声(低音高) | 高质量男声 |
| male_normal | -8 | 男声(正常) | 自然男声 |
| male_deep | -12 | 男声(低沉) | 低沉男声 |
# 先过滤关键字,再变声
python3 ~/.claude/skills/audiocut-keyword/scripts/audiocut_keyword.py input.mp3 --change-voice female_1
# YouTube 下载 + 过滤 + 变声 + 发布
python3 ~/.claude/skills/youtube-to-xiaoyuzhou/youtube_to_xiaoyuzhou.py \
https://youtu.be/xxxxx \
--filter-keywords \
--change-voice female_1 \
--schedule "2026-01-20 18:00"
# macOS
brew install ffmpeg
# Ubuntu/Debian
sudo apt-get install ffmpeg