Streaming ASR: sliding-window updates can't say which seam tokens were retired, and the stable prefix can shrink on a contraction
Los mantenedores suelen responder en 1 día
Ya se ha fusionado un pull request relacionado.
- #1035 de @johnny4young — fusionado
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 1/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bien especificado
- Estado de actividad
- Estancado
- Stack tecnológico
- swift
Línea de trabajo
The issue identifies SlidingWindowAsrManager and links #1035, which implements the proposed revision stream. Read #1035 to see the delivered behavior and its tests; this issue is done when consumers can identify retired tokens and the stable prefix never shrinks.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Setup: FluidAudio 0.17.7 and current main, SlidingWindowAsrManager with Parakeet TDT v3, live captions and dictation into other apps on macOS 26.
Summary
SlidingWindowAsrManager publishes display text for each window. When the next window re-decodes, the decoder retires the previous window's last tokens at the seam, but the public updates don't say which tokens were retired. A consumer that inserts text once and can't take it back (dictation into another app, a caption the user has already read) has to infer it, and each inference fails on some real shape:
- End times: tokens at offset zero and equal timestamps.
- Unfiltered passthrough: a word legitimately said twice looks like a retired word arriving again.
- Start times: subword pieces of one word share a time.
When the guess is wrong, the consumer either duplicates a word at the seam or drops one.
A second finding: a "stable" prefix can shrink
Tracking the decoder's own retirement boundary on real audio found one case where the stable token count went backwards. On a quietly spoken English contraction, the re-decode retired the previous window's last word and emitted a continuation piece: ▁it had been stable, then ' s arrived and re-attached to it, so the stable count dropped from 12 to 11. A consumer that had already committed it can't follow that.
Suggestion
An opt-in raw-token revision stream that states the retirement explicitly: per revision, a job ID and contiguous ordinal; previous, retained and stable token counts; the window and center regions; and explicit terminal and failure semantics. Its stable prefix should never shrink. The display and vocabulary path and the decoder's decisions can stay unchanged.
#1035 implements this.
- Lenguaje dominante
- Swift
- Estrellas
- 3k
- Forks
- 451
- Merge medio
- 1 d 17 h
- PR fusionados (30 d)
- 66
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 FluidInference/FluidAudio
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
FluidInference/FluidAudio#1049 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 3/5 1-2 días Aptitud para principiantes 68/100
FluidInference/FluidAudio#1067 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 38/100
FluidInference/FluidAudio#1063 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 55/100
FluidInference/FluidAudio#1059 ·
Los mantenedores suelen responder en 1 día
-
PocketTTS: second one-shot synthesize can hang forever (orphaned frames stream in PocketTtsSession)Posiblemente ocupada @donpark la tomó hace 8 días. Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 25/100
FluidInference/FluidAudio#1057 ·
Los mantenedores suelen responder en 1 día
Todos los issues de FluidInference/FluidAudio
Issues similares
-
needs-triage S3: minor
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
manaflow-ai/cmux#28422 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 65/100
SwiftOldDriver/iOS-Weekly#5480 ·
-
Seed a JRNYAx price before the last close so asset-detail S1.3 doesn't fail from 08:00Z to the openAbiertobug tests
Dificultad 2/5 1-3 horas Aptitud para principiantes 83/100
lognorman20/monaco#7231 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 5 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
Los mantenedores suelen responder en 7 días