voice_audio_multi/model_specs/rvc.json
Fabio c36510c21e
Some checks failed
Linux Build / Linux cpu (push) Has been cancelled
Linux Build / Linux cpu-clang (push) Has been cancelled
Linux Build / Linux vulkan (push) Has been cancelled
mac-build / macOS CPU (push) Has been cancelled
Nix Build / Nix (cpu) (push) Has been cancelled
Nix Build / Nix (vulkan) (push) Has been cancelled
windows-build / Windows CPU (push) Has been cancelled
Initial import: audio.cpp with Orange Pi documentation
2026-11-04 19:05:22 +01:00

288 lines
9.1 KiB
JSON

{
"schema_version": 1,
"family": "rvc",
"display_name": "RVC",
"description": "RVC is an offline retrieval-based voice conversion family packaged for audio.cpp with native HuBERT content features, RMVPE pitch extraction, optional IVF retrieval blending, packaged v1/v2 voices, and support for user-supplied RVC checkpoints.",
"category": "voice_conversion",
"status": "experimental",
"tasks": [
"vc"
],
"modes": [
"offline"
],
"languages": [
"language_agnostic"
],
"runtime": {
"tags": [
"gguf"
]
},
"capabilities": {},
"options": {
"request": [
{
"name": "voice_id",
"type": "enum",
"description": "Packaged RVC voice id; default selects the v2 default voice. Ignored when voice_model_path is provided.",
"values": [
"default",
"manthos",
"chocola",
"fraise"
],
"required": false,
"default": "default"
},
{
"name": "voice_model_path",
"type": "path",
"description": "Optional user RVC .pth or .pt voice checkpoint path. When set, this overrides the packaged voice id.",
"required": false
},
{
"name": "pitch_extractor",
"type": "enum",
"description": "Pitch extraction method for F0-enabled voices; the native path currently supports rmvpe only.",
"values": [
"rmvpe"
],
"required": false,
"default": "rmvpe"
},
{
"name": "pitch_file",
"type": "path",
"description": "Optional CSV F0 override file with time,Hz rows sorted by time.",
"required": false
},
{
"name": "retrieval_index_file",
"type": "path",
"description": "Optional user FAISS .index retrieval path used when retrieval_blend is greater than 0 for a user voice model.",
"required": false
},
{
"name": "retrieval_blend",
"type": "float",
"description": "IVF retrieval feature blend rate; default 0 disables retrieval blending.",
"required": false,
"min": 0.0,
"max": 1.0,
"default": 0.0
},
{
"name": "semitone_shift",
"type": "int",
"description": "Semitone pitch shift applied before synthesis; default 0.",
"required": false,
"default": 0
},
{
"name": "pitch_filter_radius",
"type": "int",
"description": "Pitch median-filter switch: values >2 enable a radius-1 filter; values <=2 disable it.",
"required": false,
"default": 3
},
{
"name": "output_sample_rate",
"type": "int",
"description": "Output sample rate in Hz; default 0 keeps the selected voice model sample rate. Nonpositive values preserve the voice sample rate.",
"required": false,
"default": 0
},
{
"name": "rms_mix_rate",
"type": "float",
"description": "RMS envelope mix rate applied after conversion; default 0.25.",
"required": false,
"default": 0.25
},
{
"name": "unvoiced_protection",
"type": "float",
"description": "Unvoiced consonant protection strength; must be in [0, 1], default 0.33.",
"required": false,
"min": 0.0,
"max": 1.0,
"default": 0.33
},
{
"name": "speaker_id",
"type": "int",
"description": "Speaker embedding id for multi-speaker RVC checkpoints; default 0.",
"required": false,
"min": 0,
"default": 0
},
{
"name": "audio_pad_duration_sec",
"type": "int",
"description": "Long-audio chunk pad duration in seconds; default 1.",
"required": false,
"min": 1,
"default": 1
},
{
"name": "split_query_sec",
"type": "int",
"description": "Quiet-point query window in seconds for long-audio splitting; default 5.",
"required": false,
"min": 1,
"default": 5
},
{
"name": "split_center_sec",
"type": "int",
"description": "Long-audio split center stride in seconds; default 30.",
"required": false,
"min": 1,
"default": 30
},
{
"name": "split_threshold_sec",
"type": "int",
"description": "Input duration in seconds before quiet-point splitting is used; default 32.",
"required": false,
"min": 1,
"default": 32
}
],
"session": [
{
"name": "weight_type",
"type": "enum",
"description": "Tensor storage type for native RVC, HuBERT, and RMVPE weights; default f32.",
"preset": "weight_type_full",
"required": false,
"default": "f32"
},
{
"name": "voice_cache_slots",
"type": "int",
"description": "User voice model cache slots; default 4, set 0 to disable caching.",
"required": false,
"min": 0,
"default": 4
}
],
"load": []
},
"package_defaults": {
"download": {
"kind": "huggingface_snapshot",
"repo": "audio-cpp/audio.cpp-gguf",
"revision": "main",
"gated": false
}
},
"packages": [
{
"id": "rvc_f16",
"display_name": "RVC F16 GGUF",
"default": true,
"format": "gguf",
"precision": "f16",
"target_directory": "RVC-GGUF",
"files": [
"RVC-GGUF/rvc-f16.gguf"
],
"strip_prefix": "RVC-GGUF"
}
],
"dependencies": [],
"ui": {
"recommended_package": "rvc_f16",
"tags": [
"VC",
"GGUF"
],
"docs": [
"docs/audio_tools.md",
"docs/gguf.md"
]
},
"sources": [
{
"format": "gguf",
"roots": {
"model": ".",
"weights": "$gguf"
},
"files": {
"voice_v1_chocola_index": "model:voices/v1/chocola/added_IVF732_Flat_nprobe_1.index",
"voice_v1_fraise_index": "model:voices/v1/fraise/added_IVF802_Flat_nprobe_1.index",
"voice_v2_default_index": "model:voices/v2/default/added_IVF511_Flat_nprobe_1_default_v2.index",
"voice_v2_manthos_index": "model:voices/v2/manthos/added_IVF2586_Flat_nprobe_1_manthos_v2.index"
},
"tensors": {
"support_hubert_base": {
"source": "weights:",
"prefix": "support_hubert_base"
},
"support_rmvpe": {
"source": "weights:",
"prefix": "support_rmvpe"
},
"voice_v1_chocola_checkpoint": {
"source": "weights:",
"prefix": "voice_v1_chocola_checkpoint"
},
"voice_v1_chocola_index_vectors": {
"source": "weights:",
"prefix": "voice_v1_chocola_index_vectors"
},
"voice_v1_fraise_checkpoint": {
"source": "weights:",
"prefix": "voice_v1_fraise_checkpoint"
},
"voice_v1_fraise_index_vectors": {
"source": "weights:",
"prefix": "voice_v1_fraise_index_vectors"
},
"voice_v2_default_checkpoint": {
"source": "weights:",
"prefix": "voice_v2_default_checkpoint"
},
"voice_v2_default_index_vectors": {
"source": "weights:",
"prefix": "voice_v2_default_index_vectors"
},
"voice_v2_manthos_checkpoint": {
"source": "weights:",
"prefix": "voice_v2_manthos_checkpoint"
},
"voice_v2_manthos_index_vectors": {
"source": "weights:",
"prefix": "voice_v2_manthos_index_vectors"
}
}
},
{
"format": "safetensors",
"roots": {
"safetensors": "../safetensors"
},
"files": {
"voice_v1_chocola_index": "safetensors:voices/v1/chocola/added_IVF732_Flat_nprobe_1.index",
"voice_v1_fraise_index": "safetensors:voices/v1/fraise/added_IVF802_Flat_nprobe_1.index",
"voice_v2_default_index": "safetensors:voices/v2/default/added_IVF511_Flat_nprobe_1_default_v2.index",
"voice_v2_manthos_index": "safetensors:voices/v2/manthos/added_IVF2586_Flat_nprobe_1_manthos_v2.index"
},
"tensors": {
"support_hubert_base": "safetensors:support/hubert_base.safetensors",
"support_rmvpe": "safetensors:support/rmvpe.safetensors",
"voice_v1_chocola_checkpoint": "safetensors:voices/v1/chocola/chocola2333333.safetensors",
"voice_v1_chocola_index_vectors": "safetensors:voices/v1/chocola/added_IVF732_Flat_nprobe_1.ivf.safetensors",
"voice_v1_fraise_checkpoint": "safetensors:voices/v1/fraise/fraise2333333.safetensors",
"voice_v1_fraise_index_vectors": "safetensors:voices/v1/fraise/added_IVF802_Flat_nprobe_1.ivf.safetensors",
"voice_v2_default_checkpoint": "safetensors:voices/v2/default/default.safetensors",
"voice_v2_default_index_vectors": "safetensors:voices/v2/default/added_IVF511_Flat_nprobe_1_default_v2.ivf.safetensors",
"voice_v2_manthos_checkpoint": "safetensors:voices/v2/manthos/manthos.safetensors",
"voice_v2_manthos_index_vectors": "safetensors:voices/v2/manthos/added_IVF2586_Flat_nprobe_1_manthos_v2.ivf.safetensors"
}
}
]
}