Skip to content

fix: align filtered token timestamps and reject incomplete input - #3803

Merged
LauraGPT merged 2 commits into
mainfrom
fix/filtered-token-timestamp-contract-20261031
Oct 31, 2026
Merged

LauraGPT merged 2 commits into
mainfrom
fix/filtered-token-timestamp-contract-20261031

Conversation

@LauraGPT

Copy link
Copy Markdown
Collaborator

Summary

Preserve the original contributor commit from #3802 and complete its timestamp alignment contract on a maintainer-owned branch. The fork is left unchanged.

  • Reindex timestamps by original token indices after filtering special tokens in all three implementations.
  • Raise an explicit ValueError when a retained token has no timestamp, instead of silently returning shifted values. A trailing filtered EOS without a timestamp remains valid.
  • Keep untimed transcription and filtered-only token inputs working, with exact timestamp assertions and explicit invalid-input regressions.

Validation

  • Test-first check on fix(postprocess): keep word timestamps aligned after filtered tokens #3802: 2 failed, 6 passed; both failures are the missing explicit rejection.
  • Updated source: 68 focused CPU tests passed across six postprocessing/timestamp suites.
  • NVIDIA L20Z real CUDA CIF + timestamp helper: 16 FP32/BF16 pipeline/offset cases; all three postprocessors passed 48 exact-output checks and 48 malformed-input rejection checks, with CPU/CUDA agreement.
  • These GPU inputs are synthetic. No pretrained ASR, ONNX engine, libtorch model inference, audio-quality evaluation, or full repository suite is claimed. The broad suite includes unapproved model downloads and has not been run.
  • New exact-head hosted CI must finish before merge; previous fix(postprocess): keep word timestamps aligned after filtered tokens #3802 CI does not stand in for it.

This is separate from #3801's VAD chunk concatenation issue. It does not change or republish v1.4.17.

ANDROIDHASSAN and others added 2 commits October 31, 2026 00:09
sentence_postprocess drops <s>, </s>, <unk> and <OOV> from the tokens but
then indexed time_stamp by the washed position. time_stamp has one entry per
token, so every word after a filtered token took the previous token's time.

Keep the entries of the surviving tokens. A list too short to cover them
stays as it was, because the branches below index it directly.
Keep the filtered-token index fix and reject missing retained-token timestamps explicitly. Preserve valid trailing special tokens and untimed transcription.

Signed-off-by: LauraGPT <zhifu.gzf@alibaba-inc.com>
@LauraGPT
LauraGPT merged commit e49cdd9 into main Oct 31, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants