Sprach- und Soundeffekt-Generator
Generieren Sie Voiceovers (TTS) und Soundeffekte. Wählen Sie für TTS einen konkreten
Anbieter und eine Stimme aus, bevor Sie submit_voice aufrufen.
Verwendungszwecke
- Erzeugen Sie Voiceover/Erzählungen aus Text
- Erstellen Sie Text-to-Speech-Audio für Videos
- Fügen Sie Erzählungen/Voiceover für ein bestehendes Video, eine Timeline, Bildschirmaufnahme, Folienanimation, Produktdemo, B-Roll-Schnitt, MG-Erklärvideo oder andere visuelle Sequenzen hinzu, ersetzen oder wiederholen Sie diese
- Halten Sie die bestehende Erzählung/das vorhandene Voiceover nach dem Trimmen, Beschleunigen, Verlangsamen, Verschieben, Neuordnen oder Ersetzen der von ihnen beschriebenen visuellen Elemente ausgerichtet
- Bieten Sie TTS-Stimmoptionen zur Auswahl an und führen Sie ein Hörprobe durch, wenn der Benutzer noch keine konkrete Stimme ausgewählt hat
- Generieren Sie benutzerdefinierte Soundeffekte aus Textbeschreibungen erst, nachdem Sie zuerst die Soundeffekt-Bibliothek überprüft haben
TTS (Text-to-Speech)
Wenn die aktuelle Anfrage ein vorhandenes visuelles Ziel hat und der Benutzer eine Erzählung, ein Voiceover, eine Synchronisation oder Ersatzsprache für dieses Ziel wünscht, lesen Sie references/video-sync.md, bevor Sie eine neue Erzählung verfassen, vorhandenen Erzählungstext zur TTS-Generierung verwenden oder Audio platzieren. Tun Sie dies, auch wenn der Benutzer nicht explizit „synchronisieren“ oder „an das Bildmaterial anpassen“ gesagt hat; die Existenz eines visuellen Ziels bedeutet, dass Timing und Bedeutung der Erzählung möglicherweise dem Inhalt auf dem Bildschirm folgen müssen. Verwenden Sie den normalen eigenständigen TTS-Pfad nur, wenn es kein visuelles Ziel gibt oder der Benutzer nur ein Audio-Asset aus Text wünscht.
Lesen Sie auch references/video-sync.md, wenn die Timeline bereits eine Erzählung/ein Voiceover enthält und der Benutzer darum bittet, die visuellen Elemente zu ändern, während dieses Voiceover ausgerichtet bleibt. Dies ist eine Synchronisationswartungsaufgabe, auch wenn kein neues TTS benötigt wird.
Verwenden Sie submit_voice, um ein TTS-Audio-Asset zu erstellen. Der aktuelle MCP-Tool-Vertrag lautet:
providerist erforderlich. Konfigurierte Auswahlmöglichkeiten könnendoubao,elevenlabs,minimax,inworld,fishaudio,speechify,openai,gemini,mistralodercartesiasein. Alle Anbieter sind Opt-in; verwenden Sie nur Anbieter, die im Capabilities-Prompt als konfiguriert angezeigt werden.voiceIdist erforderlich, konkret und anbieterspezifisch. Die einzige Ausnahme ist eine bewusste MiniMaxtimbreWeights-Mischung, bei dervoiceIdleer sein muss. Mischen Sie keine Kataloge.- Der kuratierte Katalog in references/voices.md deckt nur Doubao, ElevenLabs und MiniMax ab. Andere Anbieter haben keine gebündelten Voreinstellungen
oder Beispielkataloge in OpenChatCut. Fordern Sie eine konkrete Stimmen-ID vom Benutzer oder
dessen Anbieterkonto an; erfinden Sie niemals eine Voreinstellung oder eine
/voice-samples/...-URL. - AI SDK-gestützte Felder sind anbieterspezifisch: OpenAI unterstützt
modelId,speed,outputFormatundinstructions; Gemini unterstütztmodelId,outputFormatundinstructions; Mistral unterstütztmodelIdundoutputFormat; Cartesia unterstütztmodelId,speed,languageCodeundoutputFormat. Lassen Sie nicht unterstützte oder nicht angeforderte Felder weg. - Inworld, Fish Audio und Speechify akzeptieren nur
voiceIdplus optionalesmodelId. Übergeben Sie keine expressiven, Geschwindigkeits-, Sprach- oder Ausgabekontrollen an diese Anbieter. submit_voiceerstellt nur ein Audio-Asset. Die Platzierung in der Timeline, das Ersetzen, Trimmen und Ausrichten erfolgt später mit Timeline-Tools.- Für lange Erzählungen können mehrere
submit_voice-Aufrufe nützlich sein: Teile an natürlichen Pausen, Satzgruppen oder Skriptabschnitten auf, wenn der Workflow von separat getimten oder platzierten Sprachclips profitiert. - Doubao unterstützt
speedRatio,loudnessRatio,pitch,emotion,emotionScale,performancePromptundexplicitDialect, aber nicht jede Stimme unterstützt jede expressive Steuerungsmöglichkeit. Überprüfen Sie references/voices.md, bevor Sie sie verwenden. - ElevenLabs behält seine offiziellen Stimmeinstellungen, Sprache, Seed, Ausgabe, Normalisierung, Aussprachewörterbuch, Kontinuitäts-, Protokollierungs- und Latenzsteuerungen bei. MiniMax behält seine dedizierten Steuerungen bei, die in references/minimax-tts.md dokumentiert sind.
Doubao-Steuerungsunterstützung für derzeit kuratierte Stimmen:
vivi,xiaohe,yunzhou,xiaotian,naiqimengwa,yingtaowanzi,wenroumama,zhixingnv,dayi,jitangnv,liuchang,ruyayichen,morgan,qingcang,huiben,popo,yuanboxiaoshu,baqiqingshuundtangsengunterstützen explizitesemotion/emotionScale,performancePromptund ASMR-artige Prompt-Anweisungen.shuanglangshaonianunterstütztperformancePromptund COT/QA-artige Instruktionsbefolgung, unterstützt aber kein explizitesemotion/emotionScaleoder ASMR-artige Steuerung.explicitDialectwird nur vonviviunterstützt und kanndongbei,shaanxiodersichuansein.
ElevenLabs-Steuerungsunterstützung für derzeit kuratierte Stimmen:
amelia,brittney,hope,jessica,arabella,jane,maria,mark,frederick,peter,james,jon,sully,davidundalexunterstützen alle dieselben anforderungsbezogenen Steuerungen; die modellspezifische Unterstützung wird weiterhin von ElevenLabs validiert.- Diese Steuerungen sind keine stimmspezifischen Garantien für einen bestimmten Schauspielstil. Verwenden Sie die voreingestellten Tags/Beispiele, um eine natürlich passende Stimme auszuwählen, und verwenden Sie dann die Steuerungen für moderate Änderungen der Darbietung.
- Für ElevenLabs
eleven_v3sind Inline-Audio-Tags verfügbar, wenn der Benutzer eine ausdrucksstarke Darbietung wie Emotion, Tonfall, nonverbale Hinweise, Akzenthinweise oder lokales Tempo wünscht. Offizielle Beispiele passen in diese nützlichen TTS-Kategorien: Emotions-/Ton-Tags wie[happy],[sad],[angry],[excited],[curious],[sarcastic],[crying],[annoyed],[appalled],[thoughtful],[surprised]und[mischievously]; stimmliche Darbietungs- und nonverbale Hinweis-Tags wie[whispers],[laughs],[sighs],[exhales],[inhales deeply],[clears throat],[snorts],[swallows],[wheezing]und[coughs]; Tempo-/Pausen-/lokale Geschwindigkeits-Tags wie[slowly],[pause],[short pause],[long pause],[rushed]und[drawn out]; und Akzent-/Spezialdarbietungs-Tags wie[strong X accent], zum Beispiel[strong French accent], plus[sings],[singing],[woo]und[pirate voice]. Offizielle Beispiele sind nicht erschöpfend; ähnliche Audio-Tags können ausprobiert werden, wenn der Benutzer explizit nach dieser Darbietung fragt und das Tag beschreibt, wie die Stimme klingen soll, nicht eine visuelle Handlung. Schreiben Sie Tags direkt in dentext, nahe der kurzen Phrase, die sie beeinflussen sollen. Behandeln Sie Tags als lokale Anleitung, nicht als absatzweite Steuerungen. - Für Pausen und Tempo in
eleven_v3verwenden Sie Zeichensetzung, Textstruktur, kürzere generierte Segmente oder lokale Audio-Tags wie[short pause]und[slowly], wenn nötig.
// Englisch / mehrsprachig über ElevenLabs
submit_voice({
provider: "elevenlabs",
text: "Hallo Welt",
voiceId: "peter",
});
// Chinesisch über Doubao
submit_voice({
provider: "doubao",
text: "你好世界",
voiceId: "liuchang",
});
// Mit Geschwindigkeitsanpassung (nur Doubao)
submit_voice({
provider: "doubao",
text: "Dies ist ein etwas schnellerer chinesischer Kommentar.",
voiceId: "liuchang",
speedRatio: 1.5,
});
// Mit expressiven Doubao-Steuerungen
submit_voice({
provider: "doubao",
text: "Dieser Unfall erinnert uns daran, dass Sicherheit nie dem Zufall überlassen werden sollte.",
voiceId: "liuchang",
emotion: "traurig",
emotionScale: 3,
performancePrompt: "Schmerzlich, aber beherrscht, langsames Tempo, wie ein Nachrichtenkommentar",
pitch: -1,
speedRatio: 0.92,
});
// Mit ElevenLabs-Darbietungssteuerungen
submit_voice({
provider: "elevenlabs",
text: "Der Start änderte die Art und Weise, wie Teams ihre tägliche Arbeit planen.",
voiceId: "peter",
speed: 0.95,
stability: 0.4,
similarityBoost: 0.8,
outputFormat: "wav_44100",
});
// MiniMax TTS (wenn konfiguriert) — siehe references/minimax-tts.md
submit_voice({
provider: "minimax",
text: "Willkommen beim Video-Editor-Assistenten.",
voiceId: "female-yujie",
speed: 1,
name: "VO · willkommen",
});
// Cartesia-Form nachdem der Benutzer die genaue Account-Stimmen-ID bestätigt hat.
// confirmedCartesiaVoiceId stellt diesen gelieferten Wert dar, keine Voreinstellung.
submit_voice({
provider: "cartesia",
text: "Eine präzise Produkteinführung.",
voiceId: confirmedCartesiaVoiceId,
modelId: "sonic-3",
speed: 1,
languageCode: "de",
outputFormat: "mp3",
});
Sprachauswahl vor der Generierung
Wenn der Benutzer TTS benötigt und noch keine konkrete Stimme ausgewählt hat, trennen Sie zuerst Anbieter mit kuratierten OpenChatCut-Auswahlmöglichkeiten von Anbietern, die eine kontospezifische Stimmen-ID erfordern.
Lesen Sie für Doubao, ElevenLabs oder MiniMax references/voices.md, bevor Sie eine Option empfehlen, rendern oder einreichen. Verwenden Sie es als einzige Quelle für kuratierte Voreinstellungs-IDs, Anbieterauswahl, Anzeigelabels, Tags und gebündelte Beispiel-URLs. Erstellen Sie keine Stimmoptionen aus dem Gedächtnis, übersetzten Namen oder breiten Benutzerbeschreibungen.
Bieten Sie für Inworld, Fish Audio, Speechify, OpenAI, Gemini, Mistral oder Cartesia keine erfundene Hörprobenliste oder Beispiel-URL an. Fragen Sie den Benutzer nach der konkreten Stimmen-ID von diesem konfigurierten Anbieter. Eine breite Beschreibung wie „warme Frauenstimme“ ist keine gültige voiceId.
Bestimmen Sie zuerst zwei separate Sprachen:
- Benutzer-Gesprächssprache: die Sprache, die der Benutzer verwendet hat, um mit Ihnen zu sprechen. Verwenden Sie
diese für die Antwortumgebung, das
form-visual-Label, denvisual-option-Namenund diesummary. - Ziel-Erzählsprache: die Sprache des zu synthetisierenden Textes. Verwenden Sie diese nur zur Auswahl des Anbieters und des Stimmkatalogs.
Die Schaltfläche zum Absenden des Auswahl-Widgets ist in diesem Build auf das Standardlabel festgelegt
(submitLabel wird akzeptiert, aber nicht gerendert); behalten Sie das Frage-Label und die Optionslabels
in der Benutzer-Gesprächssprache, nicht in der Ziel-Erzählsprache. Zum Beispiel:
Englischsprachige Benutzer sehen submit_label="Absenden", chinesischsprachige Benutzer sehen
submit_label="提交" und spanischsprachige Benutzer sehen submit_label="Enviar".
„Helfen Sie mir, einen chinesischen Kommentar zu generieren …“ ist eine englische Unterhaltung, die nach einer chinesischen Erzählung fragt, daher bleibt der Text des Auswahl-Widgets auf Englisch, während die Stimmenkandidaten von Doubao stammen.
Für einen kuratierten Anbieter:
- Filtern Sie
references/voices.mdnach Ziel-Erzählsprache / Anbieter und expliziten Anforderungen wie Geschlecht, Altersgruppe, Ton und Anwendungsfall. - Wenn keine Voreinstellung alle expliziten Anforderungen erfüllt, sagen Sie, dass es keine genaue Übereinstimmung gibt, und bieten Sie die nächstgelegenen unterstützten Voreinstellungen mit einem deutlichen Hinweis an.
- Wählen Sie 2–4 passende kuratierte Voreinstellungen aus.
- Laden Sie
widget-forms, rufen Sie dannask_followup_questionsmit den Stimmoptionen und echten gebündelten Audio-Beispielen auf. - Warten Sie auf die Auswahl des Benutzers.
- Rufen Sie
submit_voicemit der ausgewählten Voreinstellungs-ID alsvoiceIdauf.
Für einen Anbieter ohne kuratierten OpenChatCut-Katalog fragen Sie stattdessen nach einer Freitext-Konkreten Anbieterstimmen-ID. Fügen Sie kein media hinzu und synthetisieren Sie keinen /voice-samples/...-Pfad. Warten Sie, bis der Benutzer die genaue ID angibt/bestätigt, bevor Sie submit_voice aufrufen.
Behalten Sie für jede kuratierte Auswahloption den value, das Anzeigelabel, media und die
summary aus derselben Voreinstellungszeile von references/voices.md bei. Verwenden Sie nur die dort aufgezeichneten Beispiel-URLs. Behalten Sie value als Voreinstellungs-ID und media als deren passende Beispiel-URL bei. Schreiben Sie name und summary in der Gesprächssprache des Benutzers. Die Ziel-Erzählsprache bestimmt nur den Anbieter/Stimmkatalog. Ordnen Sie nach dem Absenden den Anzeigenamen wieder der Voreinstellungs-ID aus derselben Kandidatenliste zu.
Englische Anfrage für chinesische Erzählung:
<widget submit_label="Absenden">
<form-visual
id="voiceId"
label="Für den chinesischen Kommentar empfehle ich einige Stimmen zum Ausprobieren:"
required="true"
>
<visual-option
value="vivi"
name="Vivi"
media="/voice-samples/doubao-vivi.mp3"
aspect-ratio="16:5"
summary="Weiblich / jung / freundlich, allgemein"
/>
<visual-option
value="xiaohe"
name="Xiaohe"
media="/voice-samples/doubao-xiaohe.mp3"
aspect-ratio="16:5"
summary="Weiblich / jung / sanft, klar"
/>
<visual-option
value="yunzhou"
name="Yunzhou"
media="/voice-samples/doubao-yunzhou.mp3"
aspect-ratio="16:5"
summary="Männlich / jung / neutral, geschäftlich"
/>
</form-visual>
</widget>
Chinesische Anfrage für chinesische Erzählung:
<widget submit_label="提交">
<form-visual
id="voiceId"
label="我推荐这几个中文旁白音色,先试听一下:"
required="true"
>
<visual-option
value="morgan"
name="Morgan"
media="/voice-samples/doubao-morgan.mp3"
aspect-ratio="16:5"
summary="男 / 中年 / 低沉知识解说"
/>
<visual-option
value="zhixingnv"
name="知性女声"
media="/voice-samples/doubao-zhixingnv.mp3"
aspect-ratio="16:5"
summary="女 / 中年 / 冷静知识讲解"
/>
<visual-option
value="vivi"
name="Vivi"
media="/voice-samples/doubao-vivi.mp3"
aspect-ratio="16:5"
summary="女 / 年轻 / 亲切通用口播"
/>
</form-visual>
</widget>
Soundeffekte
Generieren Sie für gewöhnliche Bearbeitungs-Soundeffekte (SFX) nicht zuerst. Verwenden Sie die integrierte Soundeffekt-Bibliothek vor dem Generieren:
- Rufen Sie
browse_librarymitcategory:"sound-effects"und einer Abfrage wie"whoosh","Kameraverschluss","Benachrichtigung","Zensur-Piepton"oder"Plattenkratzer"auf. - Überprüfen Sie das zurückgegebene
library:sound:<id>. - Platzieren Sie es mit
edit_item, wobeifromFrameals Anker-/Schnittmoment-Frame des Sounds verwendet wird:
browse_library({
category: "sound-effects",
query: "kurzer whoosh Übergang",
});
edit_item({
adds: [
{
type: "audio",
assetId: "library:sound:whoosh-short",
fromFrame: 120,
trackId: "A1",
},
],
});
Generieren Sie Soundeffekte nur aus Textbeschreibungen mit submit_sound, wenn:
- Der Benutzer explizit nach einem generierten/originellen/benutzerdefinierten Sound fragt.
- Der gewünschte Sound zu spezifisch für die vorhandene Soundeffekt-Bibliothek ist.
browse_library({ category:"sound-effects", query })keine passende Übereinstimmung zurückgibt.
// Benutzerdefinierter/generierter Soundeffekt, nachdem die Bibliothek keine passende Übereinstimmung hat
submit_sound({ prompt: "Ein Hund bellt in der Ferne" });
// Mit benutzerdefinierter Dauer (0,5–22 Sekunden)
submit_sound({
prompt: "Donner und starker Regen",
durationSeconds: 15,
});
// Hohe Prompt-Befolgung
submit_sound({
prompt: "Sci-Fi-Laserkanone feuert",
promptInfluence: 0.8,
});
Tipps für bessere Ergebnisse:
- Seien Sie spezifisch: „Ein Hund bellt laut“ vs. nur „Hund“. Fügen Sie Details wie Entfernung, Umgebung und Stimmung hinzu.
- Halten Sie sich für Umgebungs-Sounds an natürliche Beschreibungen.
- Definieren Sie Tempo und Rhythmus für sich wiederholende Sounds (z. B. „gleichmäßige Schritte auf Holz, 120 BPM“).
- Beschreiben Sie die Bewegung für Übergänge (z. B. „kurzer, sauberer Whoosh von links nach rechts“).
Bestehende Bibliotheks-Sounds (Audio-Assets)
Verwenden Sie browse_library({ category:"sound-effects", query }), um zu sehen, ob die integrierte Bibliothek
zu Ihrer Abfrage passt, bevor Sie generieren.
Referenzen
Diese Fertigkeit verwendet externe Referenzdateien für die Synchronisation von erzählten Inhalten mit visuellen Timings. Die Synchronisation handhabt sowohl neue Erzählgenerierung als auch die Anpassung bestehender Erzählung nach visuellen Änderungen. Verwenden Sie den generischen TTS-Pfad nur, wenn kein bestehendes visuelles Ziel vorhanden ist.