Entrada y salida de voz (STT / TTS)
Manijas AiHummer voz entrante y saliente de la caja — no se requiere API de voz de pago. Un clip de audio entrante se transcribe (STT), el texto impulsa un turno normal del agente, y la respuesta se reproduce en voz (TTS). Ambos motores son gratis y local y ejecutar como sidecares: faster-whisper para transcripción y edge-tts para síntesis.
Cómo funciona un cambio de voz
Un turno de voz es un turno normal del agente con audio en ambos extremos:
- La puerta de enlace envía el audio entrante a la Sidecar STT (
:8001, faster-whisper) y devuelve texto. - Ese texto impulsa la vuelta habitual de llamada de función: mismo enrutador, orquestador, herramientas y memoria como un mensaje de texto.
- El texto de respuesta se envía al Sidecar de TTS (
:8002, edge-tts) y el El audio hablado se devuelve al llamante.
Esto se expone como un único punto de conexión, POST /v1/voice/turn, de modo que un canal o cliente pueda entregar audio y recibir audio sin orquestar los pasos por sí mismo.
Los puntos finales
| Método | Punto final | Propósito |
|---|---|---|
POST |
/v1/voice/turn |
Audio entrante → turno del agente → audio saliente |
GET |
/v1/voice/config |
Configuración de voz actual (motores, perillas de ajuste) |
POST /v1/voice/turn HTTP/1.1
Host: localhost:8780
Content-Type: application/json
{
"audio": "<base64-encoded clip>",
"format": "wav"
}
[!NOTE] Las características del habla forman parte de núcleo — no están vinculados al complemento SIP. El El canal SIP utiliza estos mismos motores STT/TTS para su
localmotor, pero voz entrada/salida funciona para cualquier cliente que llame/v1/voice/turn.
Los sidecars de voz
| Puerto | Sidecar | Motor | Rol | Conectado con |
|---|---|---|---|---|
| 8001 | STT | susurro más rápido | voz → texto | AIHUMMER_STT_URL |
| 8002 | TTS | edge-tts | texto → voz | AIHUMMER_TTS_URL |
Ambos motores son gratuitos y locales: nada se envía a un proveedor de voz de pago. Como con todos los sidecars, la puerta de enlace los alcanza por URL, para que puedas ejecutarlos junto a la puerta de enlace o apuntar a una instancia compartida.
Cableado
El instalador nativo del anfitrión establece las URLs de STT y TTS por ti. Estas son configuración del catálogo — cámbialos desde la interfaz de administración (Gestión → Configuración) o con aihummer settings set; gateway.env es solo para bootstrap y se ignora para estos:
# 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] Debido a que cada sidecar es solo una URL, varios gateways pueden compartir un STT/TTS instancia. Centralice los servicios de voz más pesados en lugar de ejecutar una copia por anfitrión.
Ajustando la ruta de audio
Los controles de calidad de voz viven en el Medios · Voz grupo de configuraciones y se pueden configurar desde la interfaz de administración web, sin necesidad de redeploy. Cubren la ruta de audio en tiempo real:
| Perilla | Lo que controla |
|---|---|
| Dúplex | Dúplex completo (escuchar mientras se habla) vs semidúplex |
| AEC | Cancelación de eco acústico |
| Supresión de ruido | Filtra el ruido de fondo antes de la STT |
| AGC | Control automático de ganancia (normalización de nivel) |
| umbral de VAD | Sensibilidad de detección de actividad de voz |
| Interrumpir | Permite que el llamante interrumpa al agente a mitad de la respuesta |
GET /v1/voice/config devuelve la configuración efectiva para que un cliente pueda descubrir los motores activos y estas configuraciones.
¿A dónde vamos ahora?
- El modelo de transporte detrás de estos servicios: Sidecares.
- Traducción de discursos y comprensión de videos: Traducción de habla y video.
- Voz en una línea telefónica: Telefonía SIP.