cottom/rvc-train-voice-model
RVC v2 voice model training from any recordings: vocal extraction, harmony and reverb removal, denoise, breath removal, RMVPE, HuBERT, training and index.
Run cottom/rvc-train-voice-model with an API
Use one of our client libraries to get started quickly. Clicking on a library will take you to the Playground tab where you can tweak different inputs, see the results, and copy the corresponding code to use in your own project.
Input schema
The fields you can use to run this model with an API. If you don't give a value for a field its default value will be used.
| Field | Type | Default value | Description |
|---|---|---|---|
| dataset |
string
|
One recording, or a .zip of recordings (wav, mp3, flac, m4a, ogg, ...). Songs, a cappella and speech are all cleaned to the dry lead voice first. 1 minute minimum, 10+ recommended, 30 maximum.
|
|
| sample_rate |
None
|
40k
|
Model sample rate.
|
| epochs |
integer
|
0
Max: 1000 |
Training epochs. 0 picks about 4,000 steps for the cleaned dataset (100-500 epochs).
|
| batch_size |
integer
|
8
Min: 2 Max: 32 |
Segments per training step.
|
| separation |
None
|
auto
|
Vocal extraction. auto: per 10-second window, only where there is a backing track or bleed. always: everywhere. never: train on the audio as uploaded.
|
| lead_vocal_only |
None
|
auto
|
Remove harmonies and backing vocals (the main cause of cracked, hoarse notes). auto: wherever a backing track was found.
|
| remove_reverb |
boolean
|
True
|
Remove reverb and echo (the second cause of cracked notes).
|
| denoise |
boolean
|
True
|
Gate steady noise (hiss, hum) against the recording's quietest moments.
|
| remove_breaths |
boolean
|
True
|
Silence breaths: quiet unvoiced stretches longer than a consonant.
|
| residue_floor_db |
number
|
-50
Min: -90 Max: -30 |
Delete spectral content this far below the voice (separation residue). -90 keeps everything.
|
| time_limit_minutes |
number
|
28
Min: 10 Max: 180 |
Whole-run budget. Training stops early, keeping its latest saved weights, to finish inside it. Replicate stops a prediction after 30 minutes of running.
|
{
"type": "object",
"title": "Input",
"required": [
"dataset"
],
"properties": {
"epochs": {
"type": "integer",
"title": "Epochs",
"default": 0,
"maximum": 1000,
"minimum": 0,
"x-order": 2,
"description": "Training epochs. 0 picks about 4,000 steps for the cleaned dataset (100-500 epochs)."
},
"dataset": {
"type": "string",
"title": "Dataset",
"format": "uri",
"x-order": 0,
"description": "One recording, or a .zip of recordings (wav, mp3, flac, m4a, ogg, ...). Songs, a cappella and speech are all cleaned to the dry lead voice first. 1 minute minimum, 10+ recommended, 30 maximum."
},
"denoise": {
"type": "boolean",
"title": "Denoise",
"default": true,
"x-order": 7,
"description": "Gate steady noise (hiss, hum) against the recording's quietest moments."
},
"batch_size": {
"type": "integer",
"title": "Batch Size",
"default": 8,
"maximum": 32,
"minimum": 2,
"x-order": 3,
"description": "Segments per training step."
},
"separation": {
"enum": [
"auto",
"always",
"never"
],
"type": "string",
"title": "separation",
"description": "Vocal extraction. auto: per 10-second window, only where there is a backing track or bleed. always: everywhere. never: train on the audio as uploaded.",
"default": "auto",
"x-order": 4
},
"sample_rate": {
"enum": [
"40k",
"48k"
],
"type": "string",
"title": "sample_rate",
"description": "Model sample rate.",
"default": "40k",
"x-order": 1
},
"remove_reverb": {
"type": "boolean",
"title": "Remove Reverb",
"default": true,
"x-order": 6,
"description": "Remove reverb and echo (the second cause of cracked notes)."
},
"remove_breaths": {
"type": "boolean",
"title": "Remove Breaths",
"default": true,
"x-order": 8,
"description": "Silence breaths: quiet unvoiced stretches longer than a consonant."
},
"lead_vocal_only": {
"enum": [
"auto",
"always",
"never"
],
"type": "string",
"title": "lead_vocal_only",
"description": "Remove harmonies and backing vocals (the main cause of cracked, hoarse notes). auto: wherever a backing track was found.",
"default": "auto",
"x-order": 5
},
"residue_floor_db": {
"type": "number",
"title": "Residue Floor Db",
"default": -50,
"maximum": -30,
"minimum": -90,
"x-order": 9,
"description": "Delete spectral content this far below the voice (separation residue). -90 keeps everything."
},
"time_limit_minutes": {
"type": "number",
"title": "Time Limit Minutes",
"default": 28,
"maximum": 180,
"minimum": 10,
"x-order": 10,
"description": "Whole-run budget. Training stops early, keeping its latest saved weights, to finish inside it. Replicate stops a prediction after 30 minutes of running."
}
}
}
Output schema
The shape of the response you’ll get when you run this model with an API.
{
"type": "array",
"items": {
"type": "string",
"format": "uri"
},
"title": "Output"
}