In this categoryLocal AI · 59
More guides
Local AIIntermediate

How to Run Sopro V2 Turbo Locally: a 120M-Parameter Voice Cloning TTS Model

Sopro V2 Turbo is an open-weight text-to-speech model from Samuel Vitorino with 120 million parameters. It clones a voice from 5 to 20 seconds of reference audio, streams audio back in about 300 milliseconds on a laptop CPU, and speaks English, European Portuguese, French and German. Code and weights are Apache 2.0.

7 minIntermediate

Sopro V2 Turbo is an open-weight text-to-speech model from Samuel Vitorino with 120 million parameters. It clones a voice from 5 to 20 seconds of reference audio, streams audio back in about 300 milliseconds on a laptop CPU, and speaks English, European Portuguese, French and German. Code and weights are Apache 2.0.

Written by Priya Raghunathan, local-AI hardware reviewer. I check parameter counts and hardware requirements against the primary source before recommending an install path.

Sopro V2 Turbo entered the top 20 of Hugging Face's trending text-to-speech list. At time of writing it has 50 likes and 34,070 downloads on the samuel-vitorino/sopro-v2-turbo model page, released August 25, 2026, under the Apache 2.0 license. The GitHub repo has 974 stars. The top linked community Space is tardellirs/model-pulse (209 likes).

Specs at a glance

FieldValue
Publishersamuel-vitorino
PipelineText-to-speech
Parameters120M (0.12B safetensors total)
LanguagesEnglish, European Portuguese, French, German
Voice cloningZero-shot, from 5 to 20 seconds of reference audio
Streaming latencyAbout 300 ms time-to-first-audio on a laptop CPU
Speed0.24 RTF offline / 0.21 RTF streaming on an Apple M3 CPU, 0.07 RTF on an Nvidia H100
LicenseApache 2.0
Release dateAugust 25, 2026
GitHub stars974

What it actually does

Sopro V2 Turbo takes a short clip of someone's voice, as little as 5 seconds, and a line of text, and speaks that text back in the cloned voice. There is no fixed voice library to pick from, you supply the reference audio yourself. At 120 million parameters it is small enough to generate speech faster than real time on a plain CPU, and it can stream audio back in chunks as it generates rather than making you wait for the full clip, which is where the roughly 300 millisecond time-to-first-audio number comes from. An ONNX export also lets it run entirely inside a browser tab, no server or GPU involved.

Check your package version first
The current model artifacts need sopro 2.2.0 or newer, or @soprotts/onnx-web 0.3.0 or newer for the browser build. If you already have Sopro installed from an earlier release, run pip install -U sopro (or npm install @soprotts/onnx-web@latest for the web runtime) before loading this checkpoint, or inference will fail.

Install it

Sopro ships as a pip package.

bash - install
$pip install -U sopro
$

To try it immediately without writing any code, Sopro bundles a local demo server. This downloads the weights on first run and caches them, picks CUDA or CPU automatically, and defaults to CPU on macOS, so pass --device mps explicitly if you want Apple Silicon's GPU.

bash - quick demo
$uvx --from sopro soprotts serve
then open http://localhost:7860
$
samuel-vitorino/soproOfficial Sopro repo: the Python package, CLI, and the ONNX web runtime.github.com974

Generate speech from the command line

The CLI takes the text, a reference clip to clone, and an output path. Add --stream for the streaming path instead of the default offline one.

bash - cli
$soprotts "Sopro is a lightweight 120 million parameter text-to-speech model that streams and runs on device." --ref ref.wav --out out.wav
$

Useful flags beyond --stream: --lang (en, pt, fr or de, helps pronunciation on ambiguous text), --int8 (int8 weights for the autoregressive model on CPU), --steps (acoustic solver steps, default 2), and --max-seconds (caps each generated segment; long text is split into segments automatically, so overall output length is unbounded).

Generate speech in Python

The non-streaming path returns a finished waveform in one call.

synthesize.py
from sopro import SoproTTS

tts = SoproTTS.from_pretrained("samuel-vitorino/sopro-v2-turbo", device="cpu")

wav = tts.synthesize(
    "Hello! This is a non-streaming Sopro TTS example.",
    ref_audio_path="ref.wav",
)

tts.save_wav("out.wav", wav)

The streaming path yields audio chunks as they are generated, which is what gets you the sub-second time-to-first-audio instead of waiting on the whole clip.

stream.py
import torch
from sopro import SoproTTS

tts = SoproTTS.from_pretrained("samuel-vitorino/sopro-v2-turbo", device="cpu")

chunks = []
for chunk in tts.stream(
    "Hello! This is a streaming Sopro TTS example.",
    ref_audio_path="ref.mp3",
):
    chunks.append(chunk.cpu())

wav = torch.cat(chunks, dim=-1)
tts.save_wav("out_stream.wav", wav)

There is also a fully in-browser demo at samuel-vitorino.github.io/sopro with no server involved. On mobile the model runs quantized, so quality can dip slightly and devices with little memory may crash.

Known limitations

The model card is upfront about a few rough edges. Mixed-language text is a weak spot, an English product name sitting inside a Portuguese sentence can come out mispronounced. The text frontend is deliberately minimal, so write numbers and symbols as words, "one plus two" rather than "1 + 2", though it does handle common abbreviations like CPU or TTS correctly. The streaming path is not bit-exact with the offline path, so prefer offline generation when quality matters more than latency. The team also has no near-term plans to release the training code.

We did not add watermarking: with an open-source inference pipeline it would be trivial to remove, so it would only provide a false sense of safety. Please use the model for good: do not impersonate people.

Sopro V2 Turbo model card

Sopro V2 Turbo vs Kokoro-82M

Both are small, open text-to-speech models, but they solve different problems. Kokoro-82M ships 54 fixed voices across 8 languages and nothing to clone; Sopro V2 Turbo has no stock voice library at all, it clones whatever reference clip you hand it in English, Portuguese, French or German. Sopro is also the larger of the two at 120 million parameters against Kokoro's 82 million, and adds a streaming mode with sub-second time-to-first-audio that Kokoro's generator-based API does not target. Reach for Kokoro-82M when a fixed, cheap voice is enough; reach for Sopro V2 Turbo when the voice itself needs to match a specific person's reference audio.

FAQ

What is Sopro V2 Turbo?

Sopro V2 Turbo is an open-weight, 120 million parameter voice-cloning text-to-speech model from Samuel Vitorino. It clones a voice from 5 to 20 seconds of reference audio and speaks English, European Portuguese, French or German.

Do I need a GPU to run it?

No. It runs at 0.24 real-time factor offline on an Apple M3 CPU, meaning a 10-second clip takes about 2.4 seconds to generate. A GPU like an H100 speeds that up to 0.07 RTF but is not required.

How much reference audio does voice cloning need?

Between 5 and 20 seconds of clean reference audio of the voice you want to clone.

Can I use it commercially?

Yes, both the code and the weights are Apache 2.0 with no non-commercial clause. The model card does ask that you not use it to impersonate real people without consent.

Where to go from here

  • Want fixed stock voices instead of cloning? Run Kokoro-82M locally covers a smaller, CPU-friendly TTS model with 54 voices across 8 languages.
  • Need emotion tags and voice design on top of cloning? Run Breeze TTS 2 locally covers a larger model built for voice clone, voice design and voice direction.
  • Browse other speech and audio models: the local AI model directory lets you compare specs side by side.

Local models run better with more VRAM. CompareRTX GPUs on Amazonbefore you upgrade.(affiliate link. We may earn a commission at no extra cost. Disclosure)

Watch related tutorials

Free weekly email

Weekly local AI drops

New models, what runs on your hardware, and the guides to set them up. One email a week, unsubscribe any time.

Tags
#sopro v2 turbo#sopro tts#voice cloning tts#run sopro locally#zero shot voice cloning#open source text to speech