Sprache & Audio
Text-zu-Sprache, Podcasts und Stimmenauswahl — ListenHub und ElevenLabs.
Verwandle Text in gesprochenes Audio: Vertonung mit einer Stimme, oder ein Podcast mit zwei Stimmen. Zwei Provider decken unterschiedliche Stärken ab.
Was du tun kannst
- Text mit einer Stimme vertonen (TTS) — chinesische Stimmen über ListenHub, oder 29 Sprachen mit feiner Kontrolle über ElevenLabs.
- Einen Podcast mit zwei Stimmen erstellen — ListenHub generiert Skript + Audio mit einem oder zwei Speakern (exklusiv bei ListenHub).
- Aus einer Stimmbibliothek wählen — durchstöbere verfügbare Stimmen/Speaker und wähle nach Sprache, Geschlecht und Stil.
- Vortrag steuern (ElevenLabs) — Emotion, Tempo und Pausen über Voice Settings und Inline-Tags.
Provider wählen
ListenHub (listenhub_*) | ElevenLabs (elevenlabs_*) | |
|---|---|---|
| Am besten für | Chinesische Stimmen, Podcasts mit mehreren Stimmen | 29 Sprachen, Ausdruckskraft mit einer Stimme |
| Speaker pro Clip | 1–2 (Podcast) | 1 |
| Feine Stimmkontrolle | — | stability / similarity / style / speed |
| Emotion & Pausen | — | <break> + Tags wie [laughs] (mit eleven_v3) |
Faustregel: Chinesisch, oder ein Podcast mit mehreren Stimmen → ListenHub. Englisch/andere Sprachen, oder wenn du Emotion, Tempo und Pausen brauchst → ElevenLabs.
ListenHub-Werkzeuge
| Werkzeug | Was es tut | Wichtige Eingaben |
|---|---|---|
listenhub_get_speakers | Verfügbare Speaker auflisten (mit Vorhören) | language (zh Standard / en) |
listenhub_create_flowspeech | Text oder URL → Vertonung mit einer Stimme | sourceType (text/url), sourceContent, speakerId, mode (smart/direct) |
listenhub_create_podcast | Text oder URL → Podcast mit 1–2 Stimmen (Skript + Audio) | query oder sources, speakers (1–2), mode (quick/deep/debate) |
listenhub_create_podcast_text_only | Nur das Skript generieren — vor dem Audio prüfen | wie oben, plus language |
listenhub_generate_podcast_audio | Ein (bearbeitetes) Skript in Audio umwandeln | episodeId, customScripts (optionale Änderungen) |
listenhub_get_podcast_status / listenhub_get_flowspeech_status | Status eines Jobs prüfen | episodeId |
listenhub_get_user_subscription | Dein Kontingent prüfen | — |
Die create_*-Werkzeuge geben das fertige Audio zurück — sie warten, bis die Generierung abgeschlossen ist, sodass du nicht abfragen musst. Nutze die *_status-Werkzeuge nur, um nach einer Ausnahme erneut zu prüfen oder eine frühere Episode nachzuschlagen.
Für speakerId kannst du direkt den Namen des Speakers übergeben (aus listenhub_get_speakers) — er wird automatisch für dich aufgelöst.
ElevenLabs-Werkzeuge
| Werkzeug | Was es tut | Wichtige Eingaben |
|---|---|---|
elevenlabs_search_voices | Verfügbare Stimmen durchsuchen | — |
elevenlabs_text_to_speech | Text → Sprache in einer gewählten Stimme | text, voice_id, model_id, voice_settings, output_format |
elevenlabs_list_models | TTS-Modelle auflisten | — |
elevenlabs_check_subscription | Dein Kontingent prüfen | — |
voice_id muss die exakte ID sein, die von elevenlabs_search_voices zurückgegeben wird — kein menschlicher Name.
model_id-Optionen: eleven_multilingual_v2 (Standard, 29 Sprachen), eleven_v3 (am besten für Emotions-Tags), eleven_turbo_v2_5 / eleven_flash_v2_5 (niedrige Latenz).
voice_settings (optional, Feinabstimmung): stability (0–1, niedriger = ausdrucksstärker), similarity_boost (0–1), style (0–1), speed (0.7–1.2).
Verwendung in einem Skill
- Suche zuerst eine Stimme. Rufe
listenhub_get_speakersoderelevenlabs_search_voicesauf und übergib dann die ID. Lass den Nutzer nicht einen Stimmennamen erraten. - Schreib keine Abfrageschleife. Die
create_*-Werkzeuge von ListenHub warten bereits, bis sie fertig sind. Dem Agent zu sagen, er solle „alle paar Sekunden den Status prüfen“, ist ein Anti-Pattern. - Inline-Markup funktioniert nur bei ElevenLabs. Setze es direkt in
text: PausenHello.<break time="1.5s"/>World.; Emotion/Effekte[laughs][whispers](kombiniert mitmodel_id: "eleven_v3"). ListenHub-Stimmen lesen das wörtlich vor — füge es dort nicht ein. - Fasse Vertonungen in einem Aufruf zusammen. Frage bei vielen Sätzen alle zusammen in einem einzigen Aufruf ab, damit das Audio durchgängig bleibt, statt ein Aufruf pro Satz.
Beispieltext für eine SKILL.md:
For expressive English narration, use elevenlabs_text_to_speech. First call
elevenlabs_search_voices to choose a voice_id matching the tone. For emotional
delivery, set model_id to "eleven_v3" and embed tags like [laughs] or
<break time="1s"/> directly in the text.