Skip to content

Hear a wake name that ASR split across two transcript events #4

Description

@jiashuoz

A name broken apart inside one transcript event is handled — Co founder, co-founder and Cofounder. all match. A name broken across two events is not, and the agent goes silently deaf.

What it looks like

Observed on a live call, as two separate events from the same speaker moments apart:

event 1: "co-founder"
event 2: "can you tell me what is e2a"

Each is evaluated alone. The first has a wake name and no directive, so it is mention_only. The second has a directive and no wake name, so it is no_wake_name. Both are correctly rejected, and together they were a perfectly ordinary question that nobody answered.

Sketch

A bounded same-speaker buffer: when an utterance ends in a bare wake name and the same speaker continues within a short window, evaluate the pair as one. mergeBareVocatives already does exactly this reasoning within an utterance — this extends the same idea across the event boundary.

Constraints that matter more than the mechanism:

  • Same speaker only. Two people, one of whom said the name, is not one sentence.
  • Short window, a few seconds. Long enough for a pause, short enough that the room's next remark cannot be swept in.
  • Bounded and discarded, never a growing buffer.
  • The false-positive suite must not move. A missed address costs one repetition; a false one costs an interruption.

Done when

  • The two-event case above triggers exactly once, not twice.
  • The same input from two different speakers does not trigger.
  • test/asr.test.ts covers it in the spoken form, alongside the in-utterance cases.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions