Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Streaming ASR: sliding-window updates can't say which seam tokens were retired, and the stable prefix can shrink on a contraction

Cerrado
#1,065 0 comentarios 0 reacciones 0 asignados Ver en GitHub

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

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de FluidInference/FluidAudio

Todos los issues de FluidInference/FluidAudio

Issues similares

Más issues de Swift

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.