Text to Speech: Lokale Sprachsynthese mit edge-tts
Texte in natürlich klingende Sprache konvertieren — offline & DSGVO-konform
Python
edge-tts
MP3
🚀 Ihre Texte. Natürlich gesprochen. Auf Knopfdruck.
💰 Warum lokale Text-to-Speech?
Cloud-TTS-Dienste wie ElevenLabs oder Google TTS sind mächtig — aber teuer und datenschutzrechtlich problematisch. edge-tts bietet 90% der Qualität zum Nulltarif, komplett offline nutzbar.
DSGVO-konform
Keine Textdaten verlassen den Rechner — perfekt für sensible Dokumente und interne Kommunikation.
Kostenlos
edge-tts ist Open Source — keine API-Kosten, keine Zeichenlimits, keine Abo-Fallen.
300+ Stimmen
Unterstützt Dutzende Sprachen und hunderte Stimmen — männlich, weiblich, verschiedene Akzente.
Batch-fähig
Konvertiert ganze Textsammlungen automatisch — eBooks, Dokumentationen, Blog-Archive.
⚙️ So funktioniert's
Text bereitstellen — Stimme wählen — MP3 erhalten. Drei Schritte zur Audioproduktion.
📝
1. Text einlesen
Akzeptiert .txt, .md oder direkte Texteingabe — automatische Erkennung des Dateiformats.
🎤
2. Stimme konfigurieren
Wählen Sie Sprache, Stimme und Geschwindigkeit — Vorschau der verfügbaren Stimmen möglich.
🔊
3. Audio generieren
edge-tts erzeugt die MP3-Datei — mit einstellbarer Geschwindigkeit und Pitch-Korrektur.
💾
4. Speichern & Nutzen
MP3-Datei wird gespeichert — direkt abspielbar, für Podcasts, Voiceovers oder Barrierefreiheit.
💻 Technische Umsetzung
🐍 Text-to-Speech Engine
import asyncio
import edge_tts
import os
class TextToSpeech:
def __init__(self, voice: str = "de-DE-KatjaNeural"):
self.voice = voice
self.rate = "+0%" # Geschwindigkeit (-50% bis +100%)
self.pitch = "+0Hz" # Tonhöhe
async def list_voices(self, language: str = "de") -> list:
"""Listet verfügbare Stimmen für eine Sprache"""
voices = await edge_tts.VoicesManager.create()
return [v for v in voices.voices if language in v['Locale']]
async def synthesize(self, text: str, output_path: str) -> str:
"""Konvertiert Text zu Sprache und speichert als MP3"""
communicate = edge_tts.Communicate(
text,
self.voice,
rate=self.rate,
pitch=self.pitch
)
await communicate.save(output_path)
return output_path
async def synthesize_file(self, input_path: str,
output_path: str = None) -> str:
"""Liest Textdatei und konvertiert sie zu Audio"""
with open(input_path, 'r', encoding='utf-8') as f:
text = f.read()
if output_path is None:
base = os.path.splitext(input_path)[0]
output_path = f"{base}.mp3"
return await self.synthesize(text, output_path)
# Nutzung
async def main():
tts = TextToSpeech(voice="de-DE-KatjaNeural")
# Verfügbare deutsche Stimmen anzeigen
voices = await tts.list_voices("de")
for v in voices:
print(f"{v['ShortName']}: {v['FriendlyName']} ({v['Gender']})")
# Text zu Sprache
await tts.synthesize(
"Hallo! Dies ist ein Test der lokalen Sprachsynthese.",
"test.mp3"
)
asyncio.run(main())
🎤 Empfohlene deutsche Stimmen
# Beste deutsche Stimmen in edge-tts: # Weiblich de-DE-KatjaNeural # Klar, natürlich — beste Allround-Stimme de-DE-KlarissaNeural # Freundlich, warm de-DE-LouisaNeural # Jung, dynamisch # Männlich de-DE-ConradNeural # Seriös, tief — perfekt für Business de-DE-KillianNeural # Modern, angenehm de-DE-BerndNeural # Erfahren, autoritativ # Geschwindigkeit: "-20%" für langsamer, "+20%" für schneller
⚡ In 1 Tag zum fertigen TTS-Tool.
🚀 Gebaut mit Vibecoding
👴 Klassische Entwicklung
- 📋 1 Woche TTS-Engine evaluieren
- 💻 1–2 Wochen Integration
- 🧪 1 Woche Audio-Qualität testen
- ⏱️ Gesamt: 3–4 Wochen
🤖 Vibecoding-Ansatz
- 🗣️ 0.5 Tage Prompt
- ⚡ 0.5 Tage Code + Test
- ⏱️ Gesamt: 1 Tag
Eigene TTS-Lösung — maßgeschneidert?
Mit Ihrer bevorzugten Stimme, angepasster Geschwindigkeit und Batch-Verarbeitung. Jetzt anfragen.