speak
Konvertieren Sie jeden Text in Sprachaudio. Unterstützt zwei Backends (Kokoro lokal, Noiz Cloud), zwei Modi (einfach oder zeitlich genau) und Stimmensteuerung pro Segment.
Auslöser
- Text zu Sprache / sprechen / sagen / TTS
- Stimme klonen / synchronisieren
- EPUB zu Audio / SRT zu Audio / in Audio konvertieren
Einfacher Modus — Text zu Audio
# Kokoro (automatisch erkannt, wenn installiert)
bash skills/speak/scripts/tts.sh speak -t "Hello world" -v af_sarah -o hello.wav
bash skills/speak/scripts/tts.sh speak -f article.txt -v zf_xiaoni --lang cmn -o out.mp3 --format mp3
# Noiz (automatisch erkannt, wenn NOIZ_API_KEY gesetzt ist, oder erzwingen mit --backend noiz)
# Wenn --voice-id weggelassen wird, gibt das Skript 5 verfügbare integrierte Stimmen aus und beendet sich.
# Wählen Sie eine aus der Ausgabe und führen Sie den Befehl erneut aus mit --voice-id <id>.
bash skills/speak/scripts/tts.sh speak -f input.txt --voice-id voice_abc --auto-emotion --emo '{"Joy":0.5}' -o out.wav
# Noiz: optional --duration (Float, Sekunden, Bereich (0, 36]) für Ziellänge des Audios
bash skills/speak/scripts/tts.sh speak -t "Short line" --voice-id voice_abc --duration 3.5 -o out.wav
# Stimme klonen (nur Noiz — keine voice-id erforderlich, verwendet Referenzaudio)
# Verwenden Sie Ihr eigenes Referenzaudio: lokaler Dateipfad oder URL (nur bei Noiz).
bash skills/speak/scripts/tts.sh speak -t "Hello" --ref-audio ./ref.wav -o clone.wav
bash skills/speak/scripts/tts.sh speak -t "Hello" --ref-audio https://example.com/my_voice.wav -o clone.wav
Zeitlicher Modus — SRT zu zeitlich abgestimmtem Audio
Für präzise zeitliche Steuerung pro Segment (Synchronisation, Untertitel, Videosprache).
Schritt 1: SRT erstellen oder besorgen
Falls der Benutzer keine SRT hat, aus Text generieren:
bash skills/speak/scripts/tts.sh to-srt -i article.txt -o article.srt
bash skills/speak/scripts/tts.sh to-srt -i article.txt -o article.srt --cps 15 --gap 500
--cps = Zeichen pro Sekunde (Standard 4, gut für Chinesisch; ~15 für Englisch). Der Agent kann SRT auch manuell schreiben.
Schritt 2: Stimmenzuordnung erstellen
JSON-Datei zur Steuerung von Standard- und segmentweiser Stimmeinstellung. segments Schlüssel unterstützen einzelne Indizes "3" oder Bereiche "5-8".
Kokoro Stimmenzuordnung:
{
"default": { "voice": "zf_xiaoni", "lang": "cmn" },
"segments": {
"1": { "voice": "zm_yunxi" },
"5-8": { "voice": "af_sarah", "lang": "en-us", "speed": 0.9 }
}
}
Noiz Stimmenzuordnung (fügt emo, reference_audio Unterstützung hinzu). reference_audio kann ein lokaler Pfad oder eine URL sein (eigenes Audio des Benutzers; nur Noiz):
{
"default": { "voice_id": "voice_123", "target_lang": "zh" },
"segments": {
"1": { "voice_id": "voice_host", "emo": { "Joy": 0.6 } },
"2-4": { "reference_audio": "./refs/guest.wav" }
}
}
Dynamisches Referenz-Audio-Slicing:
Wenn Sie ein Video übersetzen oder synchronisieren und möchten, dass jeder Satz automatisch das Audio aus dem Originalvideo zum exakt gleichen Zeitstempel als Referenzaudio verwendet, verwenden Sie das Argument --ref-audio-track anstatt reference_audio in der Zuordnung zu setzen:
bash skills/speak/scripts/tts.sh render --srt input.srt --voice-map vm.json --ref-audio-track original_video.mp4 -o output.wav
Siehe examples/ für vollständige Beispiele.
Schritt 3: Rendern
bash skills/speak/scripts/tts.sh render --srt input.srt --voice-map vm.json -o output.wav
bash skills/speak/scripts/tts.sh render --srt input.srt --voice-map vm.json --backend noiz --auto-emotion -o output.wav
Wann wählt man was
| Bedarf | Empfohlen |
|---|---|
| Einfach Text vorlesen, ohne Schnickschnack | Kokoro (Standard) |
| EPUB/PDF Hörbuch mit Kapiteln | Kokoro (native Unterstützung) |
Stimmenmischung ("v1:60,v2:40") | Kokoro |
| Stimme klonen aus Referenzaudio | Noiz |
Emotionssteuerung (emo Parameter) | Noiz |
| Exakte serverseitige Dauer pro Segment | Noiz |
Wenn der Benutzer Emotionssteuerung + Sprachklonung + präzise Dauer zusammen benötigt, ist Noiz das einzige Backend, das alle drei unterstützt.
Anforderungen
ffmpegim PATH (zeitlicher Modus)- Noiz: Holen Sie Ihren API-Schlüssel unter developers.noiz.ai, führen Sie dann
bash skills/speak/scripts/tts.sh config --set-api-key YOUR_KEYaus - Kokoro: Falls bereits installiert, übergeben Sie
--backend kokoro, um das lokale Backend zu verwenden
Für Backend-Details und vollständige Argumentreferenz siehe reference.md.