How speakers are detected
Where speaker names come from, how they are matched to the transcript, and the known limits.
While recording, the bot reads the Meet page about four times a second: who is in the call and who has the speaking indicator lit. It stores participants with join and leave times, and speaker intervals in milliseconds from the start of the recording. Short flickers of the indicator are merged into one interval.
After transcription, every transcript segment is given the person whose intervals cover most of it. If a segment falls in a gap and the provider returned diarization labels, the label is mapped to a person by how much it overlaps that person’s intervals.
Limits
- The reading depends on Meet’s page structure, which Google changes without notice. The selectors live in
packages/platforms/src/meet-dom.tswith a version string. If the page cannot be read, the bot keeps recording and the transcript has no names. It does not leave the call because it thinks it is alone. - The test fixtures are modeled on Meet’s page, not recorded from a live call. They need a refresh by someone with access to a real meeting. See
packages/platforms/fixtures/meet/README.md. - People are identified by display name. Two people with the same name are treated as one, and someone who leaves and returns keeps one entry.
- Only the people shown in the call grid are seen. In very large meetings Meet pages the grid and some people can be missing.
- The indicator can lag behind the audio by a moment, so a segment that starts right after a speaker change can be given to the previous speaker.