Instructions to use scrappylabsai/warble with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- MLX
How to use scrappylabsai/warble with MLX:
# Download the model from the Hub pip install huggingface_hub[hf_xet] huggingface-cli download --local-dir warble scrappylabsai/warble
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- LM Studio
Warble π¦
Five warm, ready-to-use voices you can run anywhere β even on your phone. Free.
Warble is a small gift from ScrappyLabs. It's five named voices living in one tiny model: just say which one you want and it talks β no reference clip, no cloud, no account, no meter. It runs on a laptop in real time, and it runs on an Apple-Silicon phone-class chip too.
Credit where it's due
Warble is built entirely on Audio8/Audio8-TTS-Preview-0.6b
by the Audio8 team (Apache-2.0). The clever part β a
capable 0.6B text-to-speech model β is theirs. All we did was train a few voices we
liked onto it and package it so it's easy to run. If you like Warble, go star their work
first; none of this exists without them.
The voices
Pick a voice by putting its token at the front of your text. No reference audio needed.
| token | voice | character |
|---|---|---|
<|speaker:1|> |
Silas | deep, gravelled, movie-trailer weight |
<|speaker:2|> |
Narrator | even, warm, broadcast baritone |
<|speaker:3|> |
Clara | clear, professional, friendly |
<|speaker:4|> |
Pip | bright, light, quick |
<|speaker:5|> |
Nova | confident morning-radio energy |
Samples for each are in samples/.
Use it
from transformers import AutoProcessor, AutoModel
import torch, soundfile as sf
model_id = "scrappylabsai/warble"
proc = AutoProcessor.from_pretrained(model_id, trust_remote_code=True)
model = AutoModel.from_pretrained(model_id, trust_remote_code=True, dtype=torch.bfloat16).to("cuda").eval()
text = "<|speaker:2|>Hi there. This is Warble, running right here on your own machine."
inputs = proc(text=[text], return_tensors="pt")
inputs = {k: (v.to("cuda") if hasattr(v, "to") else v) for k, v in inputs.items()}
wavs, lens, _ = model.generate_audio(**inputs, max_new_tokens=1024)
sf.write("out.wav", wavs[0][:int(lens[0])].float().cpu().numpy(), 44100)
On a Mac / phone: an MLX 4-bit build is included β it runs on Apple Silicon, including phone-class chips, in about the memory a couple of browser tabs use.
Honest notes
- Our voices are consent-first. Silas, Narrator, Clara, Pip, and Nova were designed by us from scratch β not cloned from any real person, not scraped from anyone. We can't make that claim about the base model's own training data (that's Audio8's and undocumented), so we won't β but the five voices we're handing you are entirely our own.
- The MLX 4-bit build trades a little voice-likeness for size; Silas and Clara soften the most there. Use the full-precision model if you want them exactly right.
- It's a preview-generation base model, so expect the occasional rough edge.
License
Apache-2.0, matching the base. Use it for anything, including commercial work. No strings.
Made by ScrappyLabs. We make things work, and better. This one's on the house. π οΈ
- Downloads last month
- -
Quantized
Model tree for scrappylabsai/warble
Base model
Audio8/Audio8-TTS-Preview-0.6b