Entrée et sortie vocale (STT / TTS)
Poignées AiHummer discours entrant et discours sortant de la boîte — aucune API de synthèse vocale payante requise. Un extrait audio entrant est transcrit (STT), le texte pilote un tour d’agent normal, et la réponse est reproduite à l’oral (TTS). Les deux moteurs sont gratuit et local et exécuter en tant que side-cars: faster-whisper pour la transcription et edge-tts pour la synthèse.
Comment fonctionne un changement de voix
Un tour de voix est un tour normal d’agent avec l’audio activé aux deux extrémités :
- La passerelle envoie l’audio entrant vers le Sidecar STT (
:8001, faster-whisper) et récupère le texte. - Ce texte déclenche le tour habituel d’appel de fonction — même routeur, orchestrateur, outils et mémoire comme un message texte.
- Le texte de réponse est envoyé au Module complémentaire TTS (
:8002, edge-tts) et le L’audio parlé est renvoyé à l’appelant.
Ceci est exposé comme un point de terminaison unique, POST /v1/voice/turn, de sorte qu’un canal ou un client puisse transmettre de l’audio et recevoir de l’audio sans orchestrer lui-même les étapes.
Les points de terminaison
| Méthode | Point de terminaison | But |
|---|---|---|
POST |
/v1/voice/turn |
Audio entrant → tour de l’agent → audio sortant |
GET |
/v1/voice/config |
Configuration vocale actuelle (moteurs, boutons de réglage) |
POST /v1/voice/turn HTTP/1.1
Host: localhost:8780
Content-Type: application/json
{
"audio": "<base64-encoded clip>",
"format": "wav"
}
[!NOTE] Les caractéristiques de la parole font partie de noyau — ils ne sont pas liés au plugin SIP. Le Le canal SIP utilise ces mêmes moteurs STT/TTS pour son
localmoteur, mais voix entrant/sortant fonctionne pour tout client qui appelle/v1/voice/turn.
Les sidecars vocaux
| Port | Side-car | Moteur | Rôle | Câblé avec |
|---|---|---|---|---|
| 8001 | STT | chuchotement-plus-rapide | discours → texte | AIHUMMER_STT_URL |
| 8002 | TTS | edge-tts | texte → parole | AIHUMMER_TTS_URL |
Les deux moteurs sont gratuits et locaux : rien n’est envoyé à un fournisseur de voix payant. Comme pour chaque sidecar, la passerelle les atteint par URL, afin que vous puissiez les exécuter à côté de la passerelle ou les pointer vers une instance partagée.
Câblage
L’installateur hôte-natif configure pour vous les URLs STT et TTS. Elles sont paramètres du catalogue — changez-les depuis l’interface d’administration (Gestion → Paramètres) ou avec aihummer settings set; gateway.env est uniquement pour bootstrap et ignoré pour ceux-ci :
# 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] Parce que chaque sidecar n’est qu’une URL, plusieurs passerelles peuvent partager un STT/TTS instance. Centralisez les services de communication plus lourds au lieu d’exécuter une copie par hôte.
Réglage du chemin audio
Les boutons de qualité de voix vivent dans le Média · Voix groupe de paramètres et sont configurables depuis l’interface d’administration web — aucun redéploiement nécessaire. Ils couvrent le chemin audio en temps réel :
| Bouton | Ce que cela contrôle |
|---|---|
| Duplex | Duplex intégral (écouter tout en parlant) vs semi-duplex |
| AEC | Annulation de l’écho acoustique |
| Suppression du bruit | Filtre le bruit de fond avant la reconnaissance vocale |
| AGC | Commande automatique du gain (normalisation du niveau) |
| Seuil VAD | Sensibilité de la détection d’activité vocale |
| Interruption | Laissez l’appelant interrompre l’agent en plein réponse |
GET /v1/voice/config renvoie la configuration effective afin qu’un client puisse découvrir les moteurs actifs et ces paramètres.
Où aller ensuite
- Le modèle de transport derrière ces services : Side-cars.
- Traduction de la parole et compréhension vidéo : Traduction de discours et vidéo.
- Voix sur une ligne téléphonique : Téléphonie SIP.