Downloads · 30 days
2.8K
2% of all-time downloads
kugelaudio/kugelaudio-0-open
kugelaudio-0-open is a text-to-speech model from kugelaudio. Use it when you need text read aloud. The card lists the license as mit.
Open-source text-to-speech for European languages 7B parameter model powered by an AR + Diffusion architecture
Downloads · 30 days
2.8K
2% of all-time downloads
All-time downloads
123K
Public
Parameters
9.3B
18.7 GB on disk
Likes
214
Trending 3
Click a slice to open those files.
.safetensors18.7 GB · 100%
From the Hugging Face model README
Open-source text-to-speech for European languages 7B parameter model powered by an AR + Diffusion architecture
<p align="center"> <a href="https://github.com/Kugelaudio/kugelaudio-open"><img src="https://img.shields.io/badge/GitHub-Source_Code-black" alt="GitHub Source Code"></a> <a href="https://kugelaudio.com"><img src="https://img.shields.io/badge/🌐-Website-blue" alt="KugelAudio Website"></a> </p> <table align="center" style="border-collapse: collapse; border: none;"> <tr style="border: none;"> <td style="border: none; padding: 0 20px;"> <a href="https://kugelaudio.com"> <img src="https://www.kugelaudio.com/logos/Logo%20Short.svg" alt="KugelAudio" style="height: 60px; width: auto;"> </a> </td> <td style="border: none; padding: 0 20px;"> <a href="https://hpi.de/ki-servicezentrum/"> <img src="https://docs.sc.hpi.de/attachments/aisc/aisc-logo.png" alt="KI-Servicezentrum Berlin-Brandenburg" style="height: 60px; width: auto;"> </a> </td> <td style="border: none; padding: 0 20px;"> <a href="https://www.bmftr.bund.de"> <img src="https://hpi.de/fileadmin/_processed_/a/3/csm_BMFTR_de_Web_RGB_gef_durch_cd1f5345bd.jpg" alt="Gefördert durch BMFTR" style="height: 60px; width: auto;"> </a> </td> </tr> </table>License: MIT Python 3.10+ Hosted API
KugelAudio KI-Servicezentrum Berlin-Brandenburg Gefördert durch BMFTR
Open-source text-to-speech models for European languages are significantly lagging behind. While English TTS has seen remarkable progress, speakers of German, French, Spanish, Polish, and dozens of other European languages have been underserved by the open-source community.
KugelAudio aims to change this. Building on the excellent foundation laid by the VibeVoice team at Microsoft, we've trained a model specifically focused on European language coverage, using approximately 200,000 hours of highly pre-processed and enhanced speech data from the YODAS2 dataset.
KugelAudio achieves state-of-the-art performance, beating industry leaders including ElevenLabs in rigorous human preference testing. This breakthrough demonstrates that open-source models can now rival - and surpass - the best commercial TTS systems.
We conducted extensive A/B testing with 339 human evaluations to compare KugelAudio against leading TTS models. Participants listened to a reference voice sample, then compared outputs from two models and selected which sounded more human and closer to the original voice.
The evaluation specifically focused on German language samples with diverse emotional expressions and speaking styles:
These diverse test cases demonstrate the model's capability to handle a wide range of speaking styles beyond standard narration.
| Rank | Model | Score | Record | Win Rate |
|---|---|---|---|---|
| 🥇 1 | KugelAudio | 26 | 71W / 20L / 23T | 78.0% |
| 🥈 2 | ElevenLabs Multi v2 | 25 | 56W / 34L / 22T | 62.2% |
| 🥉 3 | ElevenLabs v3 | 21 | 64W / 34L / 16T | 65.3% |
| 4 | Cartesia | 21 | 55W / 38L / 19T | 59.1% |
| 5 | VibeVoice | 10 | 30W / 74L / 8T | 28.8% |
| 6 | CosyVoice v3 | 9 | 15W / 91L / 8T | 14.2% |
Based on 339 evaluations using Bayesian skill-rating system (OpenSkill)
Listen to KugelAudio's diverse voice capabilities across different speaking styles and languages:
| Sample | Description | Audio Player |
|---|---|---|
| Whispering | Soft whispering voice | <audio controls><source src="https://huggingface.co/kugelaudio/kugelaudio-0-open/resolve/main/samples/258_Lukas_der_Flüsterer.wav" type="audio/wav"></audio> |
| Female Narrator | Professional female reader voice | <audio controls><source src="https://huggingface.co/kugelaudio/kugelaudio-0-open/resolve/main/samples/266_Petra_die_Vorleserin.wav" type="audio/wav"></audio> |
| Angry Voice | Irritated and frustrated speech | <audio controls><source src="https://huggingface.co/kugelaudio/kugelaudio-0-open/resolve/main/samples/261_Sauerer_Felix.wav" type="audio/wav"></audio> |
| Radio Announcer | Professional radio broadcast voice | <audio controls><source src="https://huggingface.co/kugelaudio/kugelaudio-0-open/resolve/main/samples/277_Radio_Lars.wav" type="audio/wav"></audio> |
All samples are generated using pre-encoded voice embeddings.
This model supports the following European languages:
| Language | Code | Flag | Language | Code | Flag | Language | Code | Flag |
|---|---|---|---|---|---|---|---|---|
| English | en | 🇺🇸 | German | de | 🇩🇪 | French | fr | 🇫🇷 |
| Spanish | es | 🇪🇸 | Italian | it | 🇮🇹 | Portuguese | pt | 🇵🇹 |
| Dutch | nl | 🇳🇱 | Polish | pl | 🇵🇱 | Russian | ru | 🇷🇺 |
| Ukrainian | uk | 🇺🇦 | Czech | cs | 🇨🇿 | Romanian | ro | 🇷🇴 |
| Hungarian | hu | 🇭🇺 | Swedish | sv | 🇸🇪 | Danish | da | 🇩🇰 |
| Finnish | fi | 🇫🇮 | Norwegian | no | 🇳🇴 | Greek | el | 🇬🇷 |
| Bulgarian | bg | 🇧🇬 | Slovak | sk | 🇸🇰 | Croatian | hr | 🇭🇷 |
| Serbian | sr | 🇷🇸 | Turkish | tr | 🇹🇷 |
📊 Language Coverage Disclaimer: Quality varies significantly by language. Spanish, French, English, and German have the strongest representation in our training data (~200,000 hours from YODAS2). Other languages may have reduced quality, prosody, or vocabulary coverage depending on their availability in the training dataset.
| Property | Value |
|---|---|
| Parameters | 7B |
| Architecture | AR + Diffusion (Qwen2.5-7B backbone) |
| Base Model | Microsoft VibeVoice |
| Audio Sample Rate | 24kHz |
| Audio Format | Mono, float32 |
| VRAM Required | ~19GB |
| Training Hardware | 8x NVIDIA H100 |
| Training Duration | 5 days |
| Training Data | ~200,000 hours from YODAS2 |
# Install with pip
pip install kugelaudio-open
# Or with uv (recommended)
uv pip install kugelaudio-open
from kugelaudio_open import (
KugelAudioForConditionalGenerationInference,
KugelAudioProcessor,
)
import torch
# Load model
device = "cuda" if torch.cuda.is_available() else "cpu"
model = KugelAudioForConditionalGenerationInference.from_pretrained(
"kugelaudio/kugelaudio-0-open",
torch_dtype=torch.bfloat16,
).to(device)
model.eval()
processor = KugelAudioProcessor.from_pretrained("kugelaudio/kugelaudio-0-open")
# Strip encoder weights to save VRAM (only decoders needed for inference)
model.model.strip_encoders()
# See available voices
print(processor.get_available_voices()) # ["default", "clear", "english_female", "english_male"]
# Generate speech with a specific voice
inputs = processor(text="Hallo Welt! Das ist KugelAudio.", voice="default", return_tensors="pt")
inputs = {k: v.to(device) if isinstance(v, torch.Tensor) else v for k, v in inputs.items()}
with torch.no_grad():
outputs = model.generate(**inputs, cfg_scale=3.0)
# Save audio
processor.save_audio(outputs.speech_outputs[0], "output.wav")
KugelAudio provides pre-encoded voices that can be selected by name. The voices are stored as .pt files in the voices/ folder and are automatically downloaded when needed.
| Voice | Language | Description |
|---|---|---|
default | German | Calm female narrator |
clear | German | Clear, young female conversational voice |
english_female | English | Friendly female teacher (British English) |
english_male | English | Conversational male voice (British English) |
Voices work across languages but sound most natural, and are most reliable, in their native language.
# List available voices
voices = processor.get_available_voices()
print(voices) # ["default", "clear", "english_female", "english_male"]
# Generate with a specific voice
inputs = processor(text="Hallo, das ist eine klare Stimme!", voice="clear", return_tensors="pt")
inputs = {k: v.to(device) if isinstance(v, torch.Tensor) else v for k, v in inputs.items()}
with torch.no_grad():
outputs = model.generate(**inputs, cfg_scale=3.0)
processor.save_audio(outputs.speech_outputs[0], "clear_voice_output.wav")
Note: Voice cloning from raw audio is not supported in this open-source release. Only the pre-encoded voices listed in
voices/voices.jsonare available.
| Parameter | Default | Description |
|---|---|---|
| cfg_scale | 3.0 | Classifier-free guidance scale (1.0-10.0). Higher = more adherence to text |
| max_new_tokens | 2048 | Maximum number of tokens to generate |
| do_sample | False | Whether to use sampling (vs greedy decoding) |
| temperature | 1.0 | Sampling temperature (if do_sample=True) |
KugelAudio uses a hybrid Autoregressive + Diffusion architecture based on Microsoft's VibeVoice:
Text Input → Qwen2.5-7B Backbone → Diffusion Head → Acoustic Decoder → Audio Output
↑
Pre-encoded Voice Embedding
All audio generated by this model is automatically watermarked using Facebook's AudioSeal. The watermark is:
from kugelaudio_open.watermark import AudioWatermark
watermark = AudioWatermark()
result = watermark.detect(audio, sample_rate=24000)
print(f"Watermark detected: {result.detected}")
print(f"Confidence: {result.confidence:.1%}")
strip_encoders())For production use without managing infrastructure, use our hosted API at kugelaudio.com:
from kugelaudio import KugelAudio
client = KugelAudio(api_key="your_api_key")
audio = client.tts.generate(text="Hello from KugelAudio!", model="kugel-1-turbo")
audio.save("output.wav")
This model would not have been possible without the contributions of many individuals and organizations:
@software{kugelaudio2026,
title = {KugelAudio: Open-Source Text-to-Speech for European Languages},
author = {Kratzenstein, Kajo and Menke, Carlos},
year = {2026},
institution = {Hasso-Plattner-Institut},
url = {https://huggingface.co/kugelaudio/kugelaudio-0-open}
}
This model is released under the MIT License.
Kajo Kratzenstein
📧 [email protected]
🌐 kugelaudio.com
Carlos Menke
Funding Notice
Das zugrunde liegende Vorhaben wurde mit Mitteln des Bundesministeriums für Forschung, Technologie und Raumfahrt unter dem Förderkennzeichen »KI-Servicezentrum Berlin-Brandenburg« 16IS22092 gefördert.
This project was funded by the German Federal Ministry of Research, Technology and Space under the funding code "AI Service Center Berlin-Brandenburg" 16IS22092.