Vevo2
Vevo2 splits a voice into content, prosody, melody, style and timbre, then puts it back together against whatever references you give it. That is what lets one model cover singing conversion, speech conversion, speech editing and melody to singing.
What it does in Miso
Section titled “What it does in Miso”Two tasks run on Vevo2, and they are on different pages.
| Task | Where | Route |
|---|---|---|
| Sing it in another voice | Remix | style_preserved_svc |
| Sing lyrics in a voice | Create | text_to_singing or humming_to_singing |
Upstream has eleven routes in total. Miso wires up three of them.
Sing it in another voice
Section titled “Sing it in another voice”Pick a vocal stem, pick any other track in the project as the voice to copy, and it comes back as a stem beside the ones it was converted from.
This is the first task in Miso that reads two tracks. The form draws one picker per input role past the source.
A few seconds of clean vocal is enough for the reference.
Sing lyrics in a voice
Section titled “Sing lyrics in a voice”Write lyrics, pick a track to borrow the voice from, and it sings them. Add a second track as a melody and it follows that instead of writing its own.
Whether you gave it a melody is what decides the route:
| Melody | Route | Length follows |
|---|---|---|
| No | text_to_singing |
Your words |
| Yes | humming_to_singing |
The melody |
The length limit on the form is what stops a long lyric short in the first case. The upstream default of 500 tokens is about seven seconds, which is why Miso sends 1500.
Options
Section titled “Options”| Option | Default | Does |
|---|---|---|
source_audio |
The take being converted | |
target_voice |
The singer to copy | |
prosody_ref |
The melody, on the humming and instrument routes | |
target_text |
Lyrics, on the routes that take them | |
source_shift_steps |
0 | Manual pitch shift in semitones. Left at 0 the model works it out from the two voices |
num_inference_steps |
32 | Flow matching steps |
seed |
random | Set it and the same inputs return the same audio |
Everything Vevo2 sends travels flat, which is the opposite of RVC. Every field it uses is a CLI flag upstream.
Output quality
Section titled “Output quality”24 kHz mono on every route. Nothing above 12 kHz survives.
That is the trade, and it is a real one. Vevo2 gives up bandwidth to be able to use any voice at all rather than a fixed set.
Task kinds
Section titled “Task kinds”This is only relevant if you are working on Miso itself.
Vevo2 registers separately under each runtime task kind, and the backend refuses a route that does not belong to the kind its registration was loaded under. svc is not vc under another name, and loading Vevo2 as vc then asking for style_preserved_svc is refused.
generate.sing is the reason a task’s server kind can be a function rather than a fixed string. Its two routes live under different kinds, tts and svc, and the resolver reads the staged inputs to decide which.