frank-syncmarket

voice-changer

1
0
# Install this skill:
npx skills add frank-syncmarket/skills --skill "voice-changer"

Install specific skill from multi-skill repository

# Description

音频变声处理工具 - 使用 RVC AI 模型进行真实的声音转换

# SKILL.md


name: voice-changer
description: 音频变声处理工具 - 使用 RVC AI 模型进行真实的声音转换
version: 1.5.0
author: M.


voice-changer Skill

概述

voice-changer 是一个音频变声处理 skill,使用 RVC AI 模型进行真实的音色转换(不只是音高调整)。

功能特性

  • 🎙️ RVC AI 模型 - 真实的音色转换
  • 自动分块处理 - 长音频自动分块,避免内存问题
  • 🔧 灵活配置 - 支持多种声音预设和自定义参数
  • 🎯 简单易用: 命令行一键调用
  • 🔌 可被调用 - 可被其他 skills 集成调用

技术方案

当前实现: RVC 方法(AI 模型)

优点:
- 真实的音色转换(不只是音高调整)
- 音质自然,效果更好
- 可以真正"克隆"声音
- 支持跨语言

原理:
使用 HuBERT 特征提取 + RVC 模型推理:
1. HuBERT 提取音频特征
2. F0 提取基频
3. RVC 模型进行声音转换
4. 长音频自动分块处理

适用场景:
- 高质量变声需求
- 需要真实音色转换
- 播客、配音等场景

目录结构

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 模型文件

依赖要求

必需依赖

  • Python 3.10(RVC 兼容性)
  • FFmpeg 4.0+
  • FFprobe

Python 依赖(已包含在 rvc_env_310/)

  • torch==2.5.1
  • fairseq==0.12.2
  • librosa
  • soundfile
  • pyworld
  • parselmouth
  • faiss-cpu
  • torchcrepe
  • pedalboard

配置说明

voice_config.json 结构

{
  "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: 处理方法(rvcpedalboard
  • f0up_key: 音高调整(半音)
  • 正值: 提高音调(女声效果)
  • 负值: 降低音调(男声效果)
  • 范围: -12 到 +12
  • f0_method: F0 提取方法(harvestcrepepm 等)

使用方法

1. 独立使用

# 基本用法(使用默认女声)
python3 ~/.claude/skills/voice-changer/scripts/voice_change.py input.mp3

# 指定声音类型
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

2. 在其他 Skills 中调用

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 男声(低沉) 低沉男声

性能指标

RVC 方法(CPU 模式,Apple Silicon M1)

  • 短音频 (< 60秒): ~10-30 秒
  • 长音频分块处理: ~3-5 分钟(15 分钟音频)
  • 超长音频 (875秒): ~15 分钟(32 段处理)

内存占用

  • 短音频: < 500MB
  • 长音频分块: 自动管理,避免 OOM

集成示例

与 audiocut-keyword 集成

# 先过滤关键字,再变声
python3 ~/.claude/skills/audiocut-keyword/scripts/audiocut_keyword.py input.mp3 --change-voice female_1

与 youtube-to-xiaoyuzhou 集成

# 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"

注意事项

  1. 处理时间: RVC 方法处理速度较慢,CPU 模式需要耐心等待
  2. 长音频: 自动分块处理,超长音频可能需要较长时间
  3. 文件格式: 支持常见音频格式(MP3, WAV, M4A 等)
  4. 版权问题: 请确保有权对音频进行处理和使用
  5. 模型资源: 更多 RVC 模型可参考 260款RVC变声器模型

故障排除

问题 1: FFmpeg 未安装

# macOS
brew install ffmpeg

# Ubuntu/Debian
sudo apt-get install ffmpeg

问题 2: 处理速度慢

  • CPU 模式处理较慢是正常的
  • 如有 GPU 可修改代码使用 CUDA
  • 短音频处理较快(~10-30 秒)

问题 3: 内存不足

  • 已自动分块处理,长音频不会 OOM
  • 如仍有问题,可减小分块大小

问题 4: 音质不佳

  • 确保使用高质量输入音频
  • 尝试不同的 f0up_key 值
  • 考虑下载更多 RVC 模型尝试

未来计划

  • [ ] 添加更多音效(回声、混响等)
  • [ ] 支持批量处理
  • [ ] 添加 GUI 界面
  • [ ] 支持实时变声
  • [ ] GPU 加速支持

参考资料

# Supported AI Coding Agents

This skill is compatible with the SKILL.md standard and works with all major AI coding agents:

Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.