Bonfiyah Get the app

Pro feature · v3.0

Live Speaker Reassignment.

Tap "Speaker A" while you're recording. Pick the right name. Watch every subsequent line of "Speaker A" — and every "Speaker A" already on screen — update in real time. No post-meeting cleanup.

The "fix the speaker labels later" tax.

Every transcription app gives you Speaker A, Speaker B, Speaker C. The names are correct nowhere. After the meeting, you sit down with the transcript and play whack-a-mole — find every Speaker A, replace with Sarah, find every Speaker B, replace with Marcus, miss one because there are 47 of them, ship a transcript with one wrong attribution.

It's a small tax that compounds. Every recording you make has it. Every export you generate inherits whatever you missed.

Live reassignment removes the tax at source. The first time someone speaks, the moment you recognise their voice, you tap the label and pick the name. From that second forward, every chunk transcribes with the correct name. The transcript exits the recording already labeled correctly.

The picker

Four sources, one tap, instant rename.

Tapping any "Speaker A/B/C" label during a live recording opens a sheet with four ordered sections. The order is intentional — the most likely match is at the top.

Who is this?

Replacing "Speaker B"

Expected speakers · 3

SC Sarah Chen
Tap to assign →
PN Priya Nair
MR Marcus Reyes

Calendar attendees · 2

DK Dani Kim from this meeting's invite
RT Riley Thompson

Apple Contacts

🔎 Search your contacts…

Or use a custom name

+ Type a name

How carry-forward works.

  1. 1

    Diarization runs in real time, labelling chunks A/B/C.

    Every transcription chunk is assigned a stable diarization label as it streams. The label is a placeholder — Speaker A, B, C — that consistently identifies the same voice across the recording. The first time you see "Speaker B" is also the first time you have something to tap.

  2. 2

    You tap the label, the picker opens, you choose.

    The picker assembles four sources in priority order: expected speakers (your saved list for this recording or project), calendar attendees (read live from the iOS Calendar event for this meeting), Apple Contacts search (read-only, on-device), and free-form custom name. Pick once.

  3. 3

    Every existing chunk re-renames in place.

    The 47 lines of "Speaker B" already on screen update to the chosen name in the same animation frame. The rename is not a search-and-replace — Speaker B is a stable identity in the recording's data model, and you've just bound that identity to a name. The transcript view updates everywhere it appears.

  4. 4

    Every subsequent chunk transcribes with the name baked in.

    From the next chunk forward, the live transcript stream emits the chosen name directly. There is no post-recording rename pass. The recording exits the session already labeled correctly. Cross-recording voice ID then matches this voice signature against your library, so the next time this person shows up — same recording, different recording, different device — the name carries.

Where this matters most.

Everywhere a transcript is going to leave the app and someone other than you will read it.

Journalists

Source attribution from minute one.

Recording a roundtable with three sources. Tap each speaker the first time they speak; rest of the conversation transcribes with sourced quotes already attached. Saves the post-recording attribution audit that often catches the most consequential errors.

Litigators

Witness identification at moment-of-utterance.

Depositions and witness prep where attribution is part of the record. Tag the speaker the first time they're audible; the entire transcript carries chain-of-custody attribution from that moment forward.

Researchers

Focus groups, qualitative interviews.

Five participants in a focus group; you've never met any of them; you have a participant list. Pull the list into expected speakers; tap each as they introduce themselves. Coding the transcript afterwards is suddenly a different exercise.

Anyone in a Calendar event

Calendar attendees auto-populate the picker.

If the meeting is on your iOS Calendar, the attendee list is already in the picker. Three taps in the first thirty seconds and the rest of the meeting labels itself. The Calendar read is read-only and on-device.

Privacy

Where the names come from and where they don't go.

Calendar and Contacts access is read-only and on-device, scoped exactly to the iOS permission grants. The picker never sends your contacts list anywhere; the search runs locally over the address book. Calendar attendees are read from the active iOS Calendar event for the duration of the meeting and discarded.

The voice signature that lets the name carry forward to future recordings is computed from the recording's audio, lives in your speaker library, and is encrypted at rest. The library is yours; we don't sync voice signatures to a backend, and we don't do cross-account voice search.

FAQ

What if I assigned the wrong name?

Tap any chunk attributed to the misnamed speaker, choose the correct identity. The transcript updates retroactively the same way it did the first time. The voice signature re-binds.

What if two voices got merged into one Speaker label?

That's where Cross-Recording Voice ID's per-utterance re-clustering helps. AssemblyAI's first-pass diarization sometimes hybrids two similar voices into one label; an on-device ECAPA-TDNN pass catches it and re-routes individual utterances. The Resplit Voice Matching feature lets you do this manually if the automatic pass missed an edge.

Does this work on past recordings?

Yes. Tap any speaker label in any historical transcript, get the same picker, the same carry-forward behaviour. The "live" in the name refers to the speed of update — the feature also works post-hoc.

Can I assign multiple Speaker labels to the same person?

Yes. If a single person was diarized as both Speaker A and Speaker C (which can happen across long recordings or after a long pause), assign both to the same identity. The Speaker A/C labels merge into a single named speaker for that recording.

See live reassignment in 30 seconds

A short screencap of the picker, the rename, and the carry-forward behaviour on a live recording. Sent as a video file you can scrub.

No spam. We use ConvertKit. See our privacy policy.