Sprach ein- und ausgabe (STT / TTS)
AiHummer Griffe Sprachein- und -ausgabe aus der Box — keine kostenpflichtige Sprach-API erforderlich. Ein eingehender Audioclip wird transkribiert (STT), der Text steuert eine normale Agentenantwort, und die Antwort wird zurückgesprochen (TTS). Beide Engines sind kostenlos und lokal und ausführen als Sidecars: faster-whisper für die Transkription und edge-tts für die Synthese.
Wie eine Stimmumwandlung funktioniert
Eine Sprachwende ist eine normale Agentenwende mit Audio an beiden Enden:
- Das Gateway sendet das eingehende Audio an die STT-Sidecar (
:8001, faster-whisper) und erhält den Text zurück. - Dieser Text treibt die übliche Funktionsaufruf-Runde an – derselbe Router, Orchestrator, Werkzeuge und Speicher als Textnachricht.
- Der Antworttext wird an die gesendet TTS-Seitenwagen (
:8002, edge-tts) und die Gesprochene Audio wird an den Anrufer zurückgegeben.
Dies wird als einzelner Endpunkt bereitgestellt, POST /v1/voice/turn, sodass ein Kanal oder Client Audio übergeben und Audio empfangen kann, ohne die Schritte selbst zu orchestrieren.
Die Endpunkte
| Methode | Endpunkt | Zweck |
|---|---|---|
POST |
/v1/voice/turn |
Audio rein → Agentenrunde → Audio raus |
GET |
/v1/voice/config |
Aktuelle Sprachkonfiguration (Motoren, Einstellknöpfe) |
POST /v1/voice/turn HTTP/1.1
Host: localhost:8780
Content-Type: application/json
{
"audio": "<base64-encoded clip>",
"format": "wav"
}
[!NOTE] Sprachmerkmale sind Teil von Kern — sie sind nicht an das SIP-Plugin gebunden. Die Der SIP-Kanal verwendet dieselben STT-/TTS-Engines für sein
localMotor, aber Stimme Ein- und Ausgänge funktionieren für jeden Client, der anruft/v1/voice/turn.
Die Stimme-Seitenwagen
| Port | Sidecar | Engine | Rolle | Verdrahtet mit |
|---|---|---|---|---|
| 8001 | STT | schneller flüstern | Sprache → Text | AIHUMMER_STT_URL |
| 8002 | TTS | edge-tts | Text → Sprache | AIHUMMER_TTS_URL |
Beide Engines sind kostenlos und lokal: Es wird nichts an einen kostenpflichtigen Sprachdienst gesendet. Wie bei jedem Sidecar erreicht das Gateway sie. über URL, sodass Sie sie neben dem Gateway ausführen oder auf einer gemeinsamen Instanz zugreifen können.
Verdrahtung
Der host-native Installer setzt die STT- und TTS-URLs für Sie. Sie sind Katalogeinstellungen — ändern Sie sie über die Admin-Benutzeroberfläche (Management → Einstellungen) oder mit aihummer settings set; gateway.env ist nur für Bootstrap und wird für diese ignoriert:
# Voice in/out (auto-configured by the installer)
aihummer settings set AIHUMMER_STT_URL http://127.0.0.1:8001
aihummer settings set AIHUMMER_TTS_URL http://127.0.0.1:8002
[!TIP] Da jedes Sidecar nur eine URL ist, können mehrere Gateways ein STT/TTS gemeinsam nutzen Instanz. Zentralisieren Sie die schwereren Sprachdienste, anstatt für jeden eine Kopie auszuführen Gastgeber.
Anpassen des Audiopfads
Stimmqualitätsregler leben in der Medien · Stimme Einstellungsgruppe und sind über die Web-Admin-Benutzeroberfläche konfigurierbar — keine erneute Bereitstellung erforderlich. Sie decken den Echtzeit-Audiopfad ab:
| Knauf | Was es steuert |
|---|---|
| Duplex | Vollduplex (gleichzeitig hören und sprechen) vs Halbduplex |
| AEC | Akustische Echounterdrückung |
| Rauschunterdrückung | Filtert Hintergrundgeräusche vor der Spracherkennung |
| AGC | Automatische Pegelregelung (Level-Normalisierung) |
| VAD-Schwelle | Empfindlichkeit der Sprachaktivitätserkennung |
| Unterbrechung | Lassen Sie den Anrufer den Agenten mitten in der Antwort unterbrechen |
GET /v1/voice/config Gibt die effektive Konfiguration zurück, damit ein Client die aktiven Engines und diese Einstellungen erkennen kann.
Automatische Sprachantworten
Drei Einstellungen der Gruppe „Media · Voice“ (Web-Oberfläche → Verwaltung → Einstellungen) entscheiden, wann eine fertige Antwort gesprochen wird:
| Einstellung | Schlüssel | Werte |
|---|---|---|
| Automatische Sprachantworten | AIHUMMER_TTS_AUTO_REPLY |
off — nie; always — immer; inbound (Standard) — nur als Antwort auf eingehendes Audio; tagged — wenn der Agent die Antwort ausdrücklich zum Sprechen markiert |
| Zeichenlimit für Sprachantworten | AIHUMMER_TTS_MAX_CHARS |
0 (Standard) — die vollständige Antwort sprechen; 100–10000 — Grenze des gesprochenen Textes |
| Lange Sprachantworten zusammenfassen | AIHUMMER_TTS_SUMMARIZE |
standardmäßig an: eine lange Antwort wird vom Modell bis zur Grenze gekürzt; ist das Modell nicht verfügbar, wird der Anfang des Textes gesprochen |
Der vollständige Antworttext bleibt in jedem Modus im Dialogverlauf. off
schaltet nur das automatische Sprechen ab — eine ausdrückliche Syntheseanfrage
über das Werkzeug tts funktioniert weiterhin.
Für einen einzelnen Dialog kann der Agent diese Werte auf Wunsch des
Gesprächspartners mit den Werkzeugen voice_preferences (geltende Werte
lesen) und set_voice_preferences (auto, max_chars, summarize setzen;
ein leeres Objekt stellt die Instanzvorgaben wieder her) überschreiben.
Schreiben kann nur ein Teilnehmer des Dialogs. Die Sprachausgabe übernimmt
einen erst nach dem Start des Gateways verbundenen Anbieter und berücksichtigt
die Einstellungen des jeweiligen Benutzers.
Wohin als Nächstes
- Das Transportmodell hinter diesen Dienstleistungen: Sidecars.
- Sprachübersetzung und Videowiedergabe: Sprachübersetzung & Video.
- Stimme auf einer Telefonleitung: SIP-Telefonie.