AMD: option to classify in the background without pausing speech playout
Los mantenedores suelen responder en 1 día
@31groot ya está trabajando en esto.
Desde el 15/10/2026.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 18/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- python
- Área
- ai, audio-video-rtc
Línea de trabajo
The pause happens in AMD._run via session._activity._pause_authorization(), and resumption happens only after execute() returns a verdict, so start by reading that method and the activity authorization logic it calls. Scope is open: the request needs a design decision on whether AMD runs without pausing speech and how amd_prediction is emitted afterwards. Done would mean the agent can speak during classification and the prediction still fires when ready. Ask a maintainer for the intended design before writing code.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Feature Type
Would make my life easier
Feature Description
AMD pauses speech playout authorization as soon as it starts (session._activity._pause_authorization() in AMD._run) and only resumes it when execute() returns a verdict. So the agent cannot say anything until the callee has spoken and the classifier has finished.
For outbound calls where the agent should speak first, this means the human picks up the phone and hears nothing until they say "hello?" themselves (and then still waits for the classifier, see #5616). We tried AMD and removed it for this reason.
What we want is for the agent to be able to speak right away, with AMD analysing in the background, and amd_prediction firing whenever the verdict is ready.
Today it is hard to have both: either the agent speaks first and we cannot tell whether a person or a voicemail picked up, or we know and the agent has to wait for the human to talk.
Workarounds / Alternatives
- Construct
AMDbeforesession.start():session._activityis stillNone, so nothing gets paused. This depends on internal ordering, not on a documented behaviour. - Call
session._activity._resume_authorization()right after starting AMD. This is a private API. - Skip AMD and treat consent to recording, or the LLM noticing a voicemail greeting, as the "human answered" signal.
Additional Context
- livekit-agents 1.8.1, outbound calls via Twilio Elastic SIP Trunking,
create_sip_participant(wait_until_answered=True), OpenAI realtime model. - Related: #6125 (the need for an AMD signal on SIP calls) and #5616 (the latency
execute()adds while playout is paused).
- Lenguaje dominante
- Python
- Estrellas
- 14.6k
- Forks
- 3.9k
- Merge medio
- 2 d 7 h
- PR fusionados (30 d)
- 224
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de livekit/agents
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 78/100
livekit/agents#8284 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
mistralai: expose reasoning_effort on the LLMPosiblemente ocupada @muzman123 la tomó hace 3 días. Abiertoenhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
Los mantenedores suelen responder en 1 día
-
ci: unit tests pin Python 3.12 while the package advertises 3.14 supportPosiblemente ocupada @huong8373tt-beep la tomó hace 3 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
livekit/agents#8231 · 3 comentarios ·
Los mantenedores suelen responder en 1 día
-
Assistant markup is stripped from chat history when expressive mode is offPosiblemente ocupada @ShivamSharma43 la tomó hace 25 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
livekit/agents#7647 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
docs: openai.LLM vs openai.responses.LLM for HTTP OpenAI-compat hostsQuizá libre de nuevo @AbarnaaSree la tomó hace 64 días y no hay ningún pull request abierto. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
livekit/agents#7022 · 1 comentario ·
Los mantenedores suelen responder en 1 día
Todos los issues de livekit/agents
Issues similares
-
URLValidator ignores an explicit empty scheme allowlistPosiblemente ocupada @IlyaKhalafi la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
tortoise/tortoise-orm#2393 ·
Los mantenedores suelen responder en 2 días
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
frappe/frappe_docker#2046 ·
Los mantenedores suelen responder en 1 día
-
Weekly link check failedAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
-
complete_box_iou_loss / complete_box_iou: NaN gradients for zero-height boxes, NaN for point boxesAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
Los mantenedores suelen responder en 1 día
-
AXI SMU SPEC
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
tenstorrent/tt-oca-harness#3556 ·
Los mantenedores suelen responder en 1 día