KI-Sprachaufnahme
„KI-Sprachaufnahme“ ist eine Agent-Fähigkeit, die ein Video-Skript auf Knopfdruck in eine Mehrsprach-Sprachaufnahme (WAV) und zeitgesteuerte SRT-Untertitel umwandelt: Stimmen stammen aus vorhandenen Account-Rollen oder via Referenzaudio-Stimmklonierung. Deckt Moderation, Filmrezension, Roman-Promotion, Werbespots, Produktvideos und Hörbücher ab – lokal ohne Grafikkarte.
Kurze Definition
KI-Sprachaufnahme = Ein Skript mit [Rolle]-Tags → gesamte Aufnahme voiceover.wav + zeitgesteuerte Untertitel voiceover.srt + Start-/Endzeiten pro Satz manifest.json – ein Befehl genügt. Jeder Satz wird über die offene Miragea-API generiert, lokal reicht Python 3.9+, keine GPU, keine zusätzlichen Pakete.
Zielgruppen und Anwendungsszenarien
| Szene | Typischer Bedarf | Empfohlene Voreinstellung |
|---|---|---|
| Moderation / Wissens-Blogger | Eigene geklonte Stimme für tägliche Moderation, vertikale Untertitel | --preset koubo |
| Film-/Kurzfilm-Rezension | Erzähler + Rollendialoge mit mehreren Stimmen, synchron zum Bild | --preset jieshuo |
| Roman-Promotion / Hörbuch | Mehrere Sprecher, Absatzpausen, Untertitel mit Rollennamen | --preset youshengshu |
| Produktvideo / E-Commerce | Schnelle, überzeugende Sprachaufnahme, große Untertitel, mehrere Versionen | --preset daihuo |
| Digitaler Mensch / KI-Avatar | Saubere Sprachaufnahme als Treiber + zeitgenaue Satzliste | --preset shuziren |
| Werbespot / Imagefilm | Raum, präzise Pausen, feste Markenstimme | --preset guanggao |
| Bestehendes Video mit Untertiteln | Audio/Video in SRT mit Zeitstempeln erkennen | miragea_audio.py recognize |
In derselben Reihe gibt es Fähigkeiten mit tiefergehenden Methoden zum Skriptschreiben für Moderation, Filmrezension, Roman-Promotion, Text-to-Speech, Stimmklonierung und Untertitelgenerierung.
Kernfähigkeiten und Parameter
| Element | Beschreibung |
|---|---|
| Ausgabedateien | voiceover.wav (gesamte Sprachaufnahme), voiceover.srt (zeitgesteuerte Untertitel), manifest.json (Sprecher, Text, Start-/Endzeit pro Satz), lines/ (Audiodateien pro Satz, wiederverwendbar bei Änderungen) |
| Stimmenquelle | Vorhandene Rollen aus dem Account (actor_id= – abfragbar mit actors) oder eine serverseitig zugängliche Referenz-Audio-URL (ref=) mit dem tatsächlich gesprochenen Text (ref_text=) für Stimmklonierung |
| Erzeugungsmodus | expressive (Client-Standard) / standard (Client-Modus „ähnlicher“); ohne Angabe nutzt der Server die Standardeinstellung, die über capabilities live abrufbar ist |
| Stimmungs-Tags | tags=Tag-Name; verfügbare Tags entnehmen Sie den capabilities des ausgewählten Modus unter tags[].label |
| Sprechgeschwindigkeit | speed= 0,25–4, 1 ist normal; pro Rolle einstellbar |
| Mehrere Rollen | Am Skriptanfang wird für jede Rolle eine Stimme festgelegt; die Fähigkeit ruft für jeden Satz den offiziellen Client-Befehl generate auf und fügt die Audiodateien lokal zusammen |
| Pausen | Inline [pause 0.6] / [Pause 0.6] (Sekunden); --gap legt die Standardpause zwischen Sätzen fest |
| Untertitel | Während der Aufnahme werden SRT-Untertitel basierend auf der tatsächlichen Audiolänge pro Satz generiert (--max-chars, --speaker-labels); bestehendes Audio/Video kann mit recognize in SRT/TXT/JSON erkannt werden |
| Szenario-Voreinstellungen | --preset koubo / jieshuo / daihuo / shuziren / guanggao / youshengshu; ändert nur Satzpause und Untertitel-Länge |
| Maximale Textlänge, Dateigröße / Dauer, Abrechnung | Siehe capabilities für Live-Werte |
| Lokale Abhängigkeiten | Python 3.9+ Standardbibliothek, kein pip, keine GPU |
| Offline-Test | --dry-run: Kein Key nötig, ruft keine API auf; erzeugt stumme Platzhalter-Audios und Zeitachsen zur Formatprüfung |
| Unterstützte Agenten | Claude Code, Codex, OpenClaw, Cursor, WorkBuddy und andere Agenten, die Python-Skripte ausführen können |
| Sprachaufnahme- und Untertiteldienst | Offene Miragea-API (https://miragea.ai/v1) |
Grenzen der Fähigkeit
| Kann | Kann nicht |
|---|---|
| Einzelner Erzähler, Dialoge mit mehreren Rollen (eine Stimme pro Rolle, Satz für Satz generiert und lokal zusammengefügt) | Bildbearbeitung oder Videoschnitt (gibt nur Tonspur und Untertitel aus – zur Weiterverarbeitung in CapCut/Premiere/ffmpeg) |
| Vorhandene Account-Rollen (actor_id) oder Referenz-Audio-URL für Stimmklonierung | Unbefugte Stimmklonierung |
| Pausen, rollenunabhängige Geschwindigkeit, Erzeugungsmodi und Stimmungs-Tags | Automatisches Skriptschreiben (das kann der Agent vorab erledigen) |
| Audio/Video-Erkennung in SRT/TXT/JSON | Hintergrundmusik-Mixing oder Übersetzung (Übersetzung übernimmt der Agent) |
--dry-run für Offline-Tests des gesamten Ablaufs |
Schnellstart
python3 scripts/voiceover.py check # Offline-Check: Python-Version, Key gesetzt, Service-Erreichbarkeit
export MIRAGEA_API_KEY=DEIN_KEY # Key unter https://miragea.ai/workspace/api generieren – nur in Umgebungsvariable
python3 scripts/miragea_audio.py capabilities # Verfügbare Modi, Stimmungs-Tags, Zeichenlimits & Preise (live)
python3 scripts/miragea_audio.py actors --limit 20 # Vorhandene Rollen und actor_id (‘has_more’=true → mit --offset weiterblättern)
- Standard-API-Root ist
https://miragea.ai/v1;MIRAGEA_BASE_URL(inkl./v1) nur bei privater Bereitstellung setzen. - Key niemals in Chats oder Dateien einfügen. Ohne Key zuerst mit
--dry-runden Ablauf testen.
python3 scripts/voiceover.py script examples/movie-recap.md -o out --dry-run # Offline-Test mit Beispiel
python3 scripts/voiceover.py script Skript.md -o out --preset koubo # Komplettes Skript → out/voiceover.wav + voiceover.srt + manifest.json
python3 scripts/voiceover.py script Skript.md -o out --gap 0.3 --max-chars 16 --speaker-labels --model standard
python3 scripts/miragea_audio.py generate --text 'Hörprobe für einen Satz' --actor-id ACTOR_ID --wait --output test1.mp3
python3 scripts/miragea_audio.py recognize --file Video.mp4 --wait --output Video.srt
--gap: Satzpause in Sekunden (Standard 0,25).--max-chars: Maximale Zeichen pro Untertitelzeile (Standard 18, für vertikale Videos 12–16, für Englisch ca. 40).--presetsetzt Satzpause und Untertitellänge auf einmal; kann mit--gap/--max-charsüberschrieben werden.
Deine Anweisung → Agent-Ausführung
| Du sagst | Agent führt aus |
|---|---|
| „Erstelle Audio für dieses Moderations-Skript“ | Schreibt Skript.md (eine Rolle) → script Skript.md -o out --preset koubo |
| „Filmrezension-Sprachaufnahme, Erzähler plus zwei Rollen“ | Front Matter definiert narrator/Rollen-Stimmen → script ... --preset jieshuo |
| „Nutze meine Stimme“ | Finde bereits geklonte Rolle mit actors; oder gib eine serverseitig zugängliche Referenz-Audio-URL + den gesprochenen Text → ref= + ref_text= |
| „Fröhlichere Stimme“ | capabilities nach Tags des aktuellen Modus durchsuchen → Rolle mit tags=Tag-Name versehen |
| „Nur einen Satz zur Probe“ | miragea_audio.py generate --text "..." --actor-id ID --wait --output test1.mp3 |
| „Satz fünf ist falsch“ | Nur diese Zeile ändern, denselben Befehl erneut ausführen – andere Sätze werden aus out/lines/ wiederverwendet |
| „Erzeuge Untertitel für dieses Video“ | miragea_audio.py recognize --file Video.mp4 --wait --output Video.srt |
| „Erstmal ohne Kosten testen“ | script ... --dry-run |
Allgemeine Methodik zum Skriptschreiben für Sprachaufnahmen
Unabhängig vom Szenario hängt die Qualität einer KI-Sprachaufnahme vor allem davon ab, ob das Skript fürs Hören geschrieben ist.
1. Sechs allgemeine Regeln
- Ein Satz pro Zeile, eine Idee pro Satz: Maximal 20 Zeichen fürs Chinesische – die Aufnahme klingt natürlicher, und die Untertitel passen auf eine Zeile.
- Schreibe, wie es gesprochen wird: Zahlen, Jahre, Modelle, Prozentangaben in ausgeschriebener Form; Abkürzungen, die buchstabiert werden müssen, mit Leerzeichen trennen.
- Umgangssprache statt Schriftsprache: „Daher“ → „also“, „Anpassungen vornehmen“ → „anpassen“, lange Attribute in zwei Sätze aufteilen.
- Pausen nur vor und nach dem Wichtigsten: 0,3 s vor dem Höhepunkt, 0,4–0,6 s bei Szenenwechsel, 0,6–1,0 s für Wendung/Abspann.
- Eine Rolle – eine Stimme, ein Account – eine Persönlichkeit: Stimme und Geschwindigkeit ins Front Matter schreiben und bei Serieninhalten nicht ändern.
- Erst einen Satz probehören, dann das ganze Skript: Mit
generateden ersten Satz und schwierige Wörter testen – dannscriptausführen.
2. Tempo-Vergleich pro Szenario
| Szenario | Satzpause (Voreinstellung) | Zeichen pro Untertitel (Voreinstellung) | Empfohlene Geschwindigkeit speed | Schwerpunkt beim Schreiben |
|---|---|---|---|---|
| Moderation | 0,15 s | 14 | 1,05–1,1 | Fazit in den ersten 3 Sekunden, ein Punkt pro Satz |
| Filmrezension | 0,3 s | 16 | 0,95–1,05 | Spannungsaufbau am Anfang, Ersatzbezeichnungen, Pause vor Wendung |
| Produktvideo | 0,1 s | 12 | 1,1–1,2 | Schmerzpunkt → Nutzen visualisieren → ein Handlungsaufruf |
| Digitaler Mensch | 0,2 s | 16 | 0,95–1,05 | Nur Stimme, Stille am Anfang/Ende, ein Abschnitt pro Kameraeinstellung |
| Werbespot | 0,4 s | 14 | 0,9–1,0 | Kurze, bildhafte Sätze, Leerraum, Markenname + Slogan am Ende |
| Hörbuch | 0,5 s (Untertitel mit Rollennamen) | 20 | 0,9–1,0 | Besetzungsliste, Dialogaufteilung, drei Pausenebenen |
3. Eine Stimme, zwei Geschwindigkeiten
speed wird pro Rolle gesetzt. Wenn dieselbe Stimme „schnell für die Einleitung, langsam für den Höhepunkt“ sein soll, definiere zwei Rollen mit derselben actor_id:
---
erzaehler: actor_id=123 speed=1.05
erzaehler_langsam: actor_id=123 speed=0.9
---
[erzaehler] Er dachte, alles sei vorbei.
[pause 0.6]
[erzaehler_langsam] Bis das Telefon klingelte.
4. Fremdsprachige Versionen
- Nach Fertigstellung des chinesischen Skripts lässt du den Agenten es für den Zielmarkt umschreiben (keine Wort-für-Wort-Übersetzung), Einheiten und Anreden lokalisieren.
- Eine Skriptdatei pro Sprache; wähle eine Stimme aus dem Account, die für diese Sprache geeignet ist (
actorsliefertlanguagepro Rolle), oder verwende eine Referenz-Audio-URL (ref=) mit optionalemlanguage=-Hinweis. - Fremdsprachige Untertitel:
--max-chars 40. - Erst einen Satz probehören, dann mit Muttersprachlern Stichproben hören lassen.
5. Qualitätscheck vor Auslieferung
- Ersten Satz probegehört – Stimme und Geschwindigkeit okay?
- Zahlen, englische Begriffe, Namen, Homophone richtig ausgesprochen?
- Gesamtdauer in
manifest.jsonpasst zum Video? - Untertitellänge passend zum Bildformat?
- Stimme ist autorisiert, KI-Erzeugung bei Veröffentlichung gekennzeichnet?
Skript-Syntax
- Zwischen
---definiert jede Zeile eine Rolle:Rollenname: actor_id=Rollen-IDoderRollenname: ref=Referenz-Audio-URL ref_text="tatsächlich gesprochener Text"; ergänzbar umspeed=(0,25–4),model=expressive|standard,tags=Tag1,Tag2,language=(Sprachhinweis für Referenzaudio, optional für automatische Erkennung). ref_text=wird nur mitref=verwendet; wenn es fehlt, erkennt der Server den Text automatisch (andere Abrechnung, siehecapabilities).- Text:
[Rolle] Textoder[Rolle]: Text; ohne Tag wird der letzte Sprecher fortgesetzt. [pause 0.6]/[Pause 0.6]für Pausen (Sekunden); Zeilen mit#, Leerzeilen und<!-- Kommentare -->werden ignoriert.- Ein Satz, der
capabilitiesaudio.max_text_lengthüberschreitet, wird abgelehnt → in kürzere Sätze aufteilen. - Jeder Satz wird in
out/lines/zwischengespeichert; bei erneuter Ausführung mit gleichen Einstellungen wiederverwendet. Für eine neue Version--freshhinzufügen.
Beispiel-Skript (examples/movie-recap.md)
---
erzaehler: actor_id=DEINE_ACTOR_ID speed=1.05
held: ref=https://example.com/your-sample.wav ref_text="tatsächlich gesprochener Text"
---
# Filmrezension-Beispiel (actor_id / ref durch eigene Stimmen ersetzen)
[erzaehler] Ein gewöhnlicher Paketbote findet ein Handy, das die Zukunft zeigen kann.
[pause 0.5]
[held]: Wenn in der morgigen Nachricht von mir die Rede ist, was soll ich heute tun?
[erzaehler] Was er nicht weiß: Jedes Mal, wenn er in die Zukunft sieht, verändert sich die Realität ein kleines bisschen.
Einbindung in die Videobearbeitung
# Tonspur ersetzen (benötigt ffmpeg auf dem Rechner)
ffmpeg -i Video.mp4 -i out/voiceover.wav -map 0:v -map 1:a -c:v copy -shortest MitAudio.mp4
# Untertitel einbrennen
ffmpeg -i MitAudio.mp4 -vf subtitles=out/voiceover.srt -c:a copy Finale.mp4
- CapCut / Premiere:
voiceover.wavin die Tonspur importieren,voiceover.srtin die Untertitelspur. - Satzgenaue Synchronisation:
manifest.jsonenthältstart/endpro Satz – zum Schneiden, Einblenden von Texteinblendungen oder Synchronisieren digitaler Avatare. - Digitale Avatare:
voiceover.wavist reine Sprachaufnahme und kann direkt als Treiber-Audio verwendet werden; für MP3 oder bestimmte Abtastraten mit ffmpeg konvertieren.
Vergleich: KI-Sprachaufnahme vs. menschliche Aufnahme vs. lokales Modell
| Kriterium | Menschliche Aufnahme | Lokales Open-Source-TTS | Diese Fähigkeit |
|---|---|---|---|
| Benötigt GPU? | Nein, aber Tonstudio und Verfügbarkeit des Sprechers | Meist ja (kleine Modelle laufen auf CPU, aber langsamer) + Download von Modellgewichten, Einrichtung | Nein, nur Python-Standardbibliothek lokal, Generierung in der Cloud |
| Änderungskosten | Satzänderung oft Neuaufnahme und erneute Synchronisation | Nach Änderung erneute Ausführung, aber Segmentierung, Zusammenfügen und Synchronisation selbst gemacht | Nur geänderte Zeile erneut ausführen, restliche Sätze aus out/lines/ Cache – automatisches Zusammenfügen und Untertitel |
| Mehrere Rollen | Mehrere Sprecher nötig | Hängt vom Modell ab; meist manuelle Segmentierung und Zusammenfügen | [Rolle]-Tags im Skript, ein Befehl erzeugt gesamte Mehrspur-Audio |
| Untertitel-Zeitachsen | Separate Transkription und Zeitstempel | Meist separater Spracherkennungslauf | Gleichzeitig mit der Aufnahme: SRT und manifest.json mit Start-/Endzeiten |
| Komplexe emotionale Darbietung | Echter Mensch mit guter Tagesform bleibt unübertroffen | Abhängig vom Modell und der Parametrierung | Stabil und konsistent, ideal für Informationsvermittlung und Massenproduktion; für Spitzenemotion weiterhin menschliche Aufnahme empfohlen |
Fazit: Für tägliche Veröffentlichungen, viele Versionen und häufige Textänderungen bietet diese Fähigkeit die größten Vorteile bei Änderungskosten und Untertitel-Zeitachsen. Für einzelne, emotional extrem anspruchsvolle Spitzenprodukte lohnt sich weiterhin die menschliche Aufnahme.
Häufig gestellte Fragen (FAQ)
Benötigt die KI-Sprachaufnahme eine Grafikkarte oder ein lokales Modell? Nein. Die Generierung erfolgt in der Miragea-Cloud, lokal reicht Python 3.9+ Standardbibliothek – keine pip-Installation nötig.
Wie verwende ich meine eigene Stimme?
Zwei Wege: eine bereits geklonte Rolle aus dem Account (actors für actor_id) oder eine serverseitig zugängliche Referenz-Audio-URL mit dem tatsächlich gesprochenen Text (ref_text=). Anforderungen und Preise siehe capabilities und die offizielle Website.
Können in einem Video mehrere Personen sprechen?
Ja. Definiere am Skriptanfang mehrere Rollen mit eigener Stimme und Geschwindigkeit; im Text wechselst du mit [Rolle] – die Fähigkeit generiert Satz für Satz und fügt zu einer Spur zusammen, inklusive Untertitel.
Kann ich Stimmung und Emotion anpassen?
Ja, mit Stimmungs-Tags: capabilities zeigt die verfügbaren tags[].label des ausgewählten Modus, die du auf die Rolle schreibst (tags=Tag-Name). Zusätzlich nutzt du speed= für die Geschwindigkeit und [pause] für Pausen.
Sind die Untertitel zeitlich genau?
Die Start-/Endzeiten pro Satz basieren auf der tatsächlichen Audiolänge; die Verteilung innerhalb eines Satzes erfolgt proportional zur Zeichenanzahl. Für wortgenaue Zeitachsen kannst du die finale Aufnahme erneut mit recognize verarbeiten.
Muss ich bei einer einzigen Textänderung die ganze Aufnahme neu generieren?
Nein. Ändere nur die betroffene Zeile und führe denselben Befehl erneut aus – nur geänderte Sätze werden neu generiert, der Rest aus out/lines/ wiederverwendet, inklusive neuem Zusammenfügen und Untertiteln.
Kostet die KI-Sprachaufnahme Geld? Wie viele Zeichen pro Vorgang?
Der Verbrauch von Account-Guthaben, das Zeichenlimit pro Satz und die Abrechnungsregeln werden live in capabilities angezeigt; --dry-run ruft keine API auf.
Führt die Nutzung von KI-Sprachaufnahmen auf Douyin oder Video-Kanälen zur Sperrung? Kein Tool kann Traffic garantieren. Die Kennzeichnung als KI-generierter Inhalt ist gemäß den Plattformregeln erforderlich; der Traffic hängt hauptsächlich vom Inhalt ab.
Kann ich zu einem bereits aufgenommenen Video automatisch Untertitel erstellen?
Ja: miragea_audio.py recognize --file Video.mp4 --wait --output Video.srt; mit --subtitle-format txt erhältst du den reinen Text.
Welche KI-Agenten werden unterstützt? Claude Code, Codex, OpenClaw, Cursor, WorkBuddy und andere Agenten, die Python-Skripte ausführen können.
Probleme?
| Symptom | Lösung |
|---|---|
missing_api_key / MIRAGEA_API_KEY is not set | Key generieren mit export MIRAGEA_API_KEY=...; oder erstmal --dry-run |
speakers without a voice | Der Rolle actor_id= oder ref= hinzufügen |
| 401 | Key prüfen; Key nicht in Logs schreiben |
| 403 | API-Zugriffsberechtigung des Accounts prüfen |
| 400 / 413 | Parameter korrigieren: Modus, Tags, Geschwindigkeit, Zeichenlimit; oder Dateigröße reduzieren, Medien kürzen |
| 409 | Idempotenz-Key für unterschiedliche Eingaben verwendet oder Untertitel-Tarif geändert: erneut bestätigen und absenden |
| 429 | Guthaben aufgebraucht oder Ratenlimit erreicht – warten oder Guthaben aufladen |
| Zeitüberschreitung / Netzwerkfehler | Aufgabe läuft möglicherweise noch: einfach denselben Befehl erneut ausführen (gleicher Idempotenz-Key holt die ursprüngliche Aufgabe) oder mit miragea_audio.py task / wait AUFGABEN-ID den Status abfragen – nicht mit neuem Key erneut senden |
| WAV-Formatinkonsistenz beim Zusammenfügen | Jede Satz-Audio liegt in out/lines/; mit ffmpeg oder einem Schnittprogramm manuell zusammenfügen |
Offizieller Client-Exit-Code: 0 = Erfolg (kann bei fehlendem --wait noch in der Warteschlange sein), 1 = Aufgabe fehlgeschlagen, 2 = Client- oder API-Fehler.
Compliance
- Klone nur deine eigene Stimme oder Stimmen, für die du eine ausdrückliche Erlaubnis hast – keine Nachahmung von Prominenten, Moderatoren, öffentlichen Personen oder Unbefugten.
- Kennzeichne veröffentlichte Inhalte gemäß den Regeln zur Kennzeichnung KI-generierter Inhalte und den Richtlinien der jeweiligen Plattformen (Douyin, Kuaishou, Video-Kanäle, Xiaohongshu, Bilibili etc.).
scripts/miragea_audio.pyist der offizielle Client, unverändert ausgeliefert;scripts/voiceover.py(Skript-Zusammenfügung) ist ein Originalwerk unter MIT-Lizenz (sieheLICENSE.txt). Die Fähigkeiten für Sprachaufnahme und Untertitel werden von der offenen Miragea-API bereitgestellt.
English Summary
- AI voiceover & subtitles (AI配音) for agents: write a script with
[speaker]tags, run one command, getvoiceover.wav, timedvoiceover.srtandmanifest.json. - Voices: saved voices in your account (
actor_id) or voice cloning from a reference audio URL plus its transcript; generation modes, tone tags, speed 0.25–4. - Multi-speaker scripts are rendered line by line through the official client's
generateand joined locally;recognizeturns existing audio/video into SRT/TXT/JSON. - Limits and pricing come live from
capabilities. Python 3.9+ standard library, no GPU,--dry-runoffline. Service: Miragea API (https://miragea.ai/v1).
Schlüsselwörter: KI-Sprachaufnahme, Video-Vertonung, Stimmklonierung, Untertitelgenerierung, Text-to-Speech, Sprachsynthese, Stimmnachbildung, Mehrsprach-Aufnahme, Kurzvideo-Vertonung, Moderations-Vertonung, Filmrezensions-Vertonung, Roman-Promotion-Vertonung, Werbespot-Vertonung, englische Sprachaufnahme, KI-Erzähler, SRT, TTS, voiceover, voice cloning, text to speech, subtitles