Twilio mit eigener Stimme: eigenes Text-to-Speech-Audio abspielen
Das Verb Say von Twilio liest Text im Anruf mit den eingebauten Stimmen von Amazon Polly und Google vor. Das ist bequem, und genau deshalb klingen Ihr IVR, Ihre Erinnerungen und Ihre Warteansage wie bei Tausenden anderer Firmen.
Das Verb Play spielt stattdessen jede Audiodatei ab. Mit der kostenlosen SuperClonica-Engine vertonen Sie die Ansagen offline, mit einer Standardstimme, einer aus Ihrem eigenen Sprecher trainierten Stimme oder einer Figur, und Twilio spielt sie im Anruf ab. Dieser Leitfaden zeigt, wie Sie telefontaugliche Dateien erstellen, sie so ausliefern, dass Twilio sie cacht, und wann Say trotzdem das richtige Werkzeug ist.
Say oder Play
Nutzen Sie Play für jede Ansage, die für alle gleich ist, und Say für Text, der sich pro Anruf ändert, etwa eine Bestellnummer.
- Say: Twilio spricht den Text zur Anrufzeit mit eingebauten Stimmen; nichts zu hosten.
- Play: Twilio lädt eine Audiodatei von Ihrer URL und spielt sie ab, mit jeder gewünschten Stimme.
- Play nimmt MP3, WAV, AIFF, GSM und μ-law an und kann eine Datei wiederholen, bis der Anrufer auflegt.
- SuperClonica spricht 31 Sprachen; Chinesisch wird noch nicht unterstützt.
Die Stimmen gratis anhören
Geben Sie auf der Seite einer beliebigen Stimme eine Ihrer Ansagen ein, 30 bis 100 Zeichen, wählen Sie die Sprache und klicken Sie auf die Schaltfläche zum Vertonen. In wenigen Sekunden hören Sie, wie Ihre Leitung klingen könnte, ohne Konto.
Telefontaugliche Dateien erstellen
Ein 8-kHz-μ-law-WAV einer zehnsekündigen Ansage hat etwa 80 KB, selbst ein großes Menü ist also sofort geladen.
- Installieren Sie die Engine: python -m pip install superclonica-cpu.
- Erzeugen Sie in Python die Engine einmal mit tts = Superclonica(), vertonen Sie dann eine Ansage und speichern Sie sie fürs Telefon: audio, rate = tts.synthesize("Danke für Ihren Anruf. Alle Mitarbeiter sind im Gespräch, bitte bleiben Sie dran.", "F1", "de"); sf.write("hold.wav", resample_poly(audio, 8000, rate), 8000, subtype="ULAW").
- Dafür brauchen Sie soundfile und resample_poly aus scipy.signal, beide werden mit der Engine installiert.
- Twilio transkodiert alles Anrufaudio; die Doku warnt, dass ein MP3 mit 128 kbit/s schlechter klingen kann als eine verlustfreie Datei mit niedriger Bitrate, und ein 8-kHz-μ-law-WAV ist genau das.
Ansagen ausliefern und abspielen
Hosten Sie die Dateien per HTTPS, auf Ihrem Server oder in einem Objektspeicher, mit ETag- oder Last-Modified-Headern, damit Twilio sie nach dem ersten Abspielen cacht. Mit Twilios Python-Bibliothek ist das TwiML zwei Zeilen: r = VoiceResponse(); r.play('https://example.com/audio/hold.wav', loop=0), und der loop-Wert 0 wiederholt die Datei bis zum Ende des Anrufs. Für Text, der sich pro Anruf ändert, betreiben Sie den SuperClonica-HTTP-Server neben Ihrer App und vertonen die Zeile, bevor Sie den Webhook beantworten: Ein kurzer Satz dauert auf einem Desktop-Prozessor deutlich unter einer Sekunde, also cachen Sie, was sich wiederholt.
Regeln für automatisierte Anrufe
In den USA hat die FCC 2024 entschieden, dass KI-generierte Stimmen in Robocalls als künstliche Stimmen im Sinne des TCPA gelten; automatisierte Anrufe brauchen daher dieselbe Einwilligung wie jede vorab aufgenommene Nachricht. Nutzen Sie eine Stimme, an der Sie die Rechte haben, etwa die zehn Standardstimmen des Modells oder Ihre eigene, aus einem zustimmenden Sprecher trainierte Stimme, nie eine Stimme, die einen echten Menschen imitiert, und sagen Sie, dass der Anrufer mit einem automatischen System spricht.