Loading video...
Video Failed to Load
You asked for speaker diarization, so we built it. Who split this 43-minute podcast by speaker in 4.9s on an M5 chip, including the moments two people talk at the same time. The recording never left the machine. Who is in our Swift, Kotlin and JavaScript SDKs, free up... show more
47,217 views • 24 days ago •via X (Twitter)
19 Comments

Who’s on first?

We dropped two new models this week. Read more:

practical application: healthcare dictation

Doctor patient conversations are a perfect use case. Or anywhere you want meeting notes that stay private.

calling the diarisation model Who is going to make the incident reports unbearable

@drivelinekyle

When do you expect that Who can run in the browser and in Node ?

We're working on it.

43 min podcast in 4.9s on device is insane lol, and it even handles when 3 people talk at same time? that's the hard part

4.9s for a 43-minute podcast on-device is a strong result, especially with overlap handled locally. Keeping diarization off the cloud makes the whole voice stack easier to trust. The Swift/Kotlin/JS SDK spread is the practical part too.

@grok how is support for Dutch

Epic! Will try it out. Tested performance on iPhone yes?

Yes. On an iPhone 16 Pro, Who labels 5 minutes of audio in about half a second, around 540x realtime. It runs on Android too, at about 55x on a Pixel 11. Let us know how it goes!

@ThijsSondag But does it do realtime ?

Not yet. Who is designed to label a finished recording rather than a live stream. What are you working on? Live speaker labeling is an interesting challenge.

if someone's entire contribution is a half-second 'no', could their speaker label stay unknown? the fallback on the model page would attach it to the nearest speaker. i'd rather leave the objection unattributed.

A short “no” usually gets its own speaker number. The exception is a long recording where someone says only a half-second “no” in a whole five-minute stretch. That goes to the nearest speaker, and there’s no setting yet to leave it unlabeled.

43 minutes split in 4.9s on device is nuts. keeping the audio local is a big deal for podcasters

4.9 s on 43 minutes is ~526x real time, so speed is settled. The number that decides if this is usable is the error rate on the overlapping stretches: keeping the moments two people talk over each other is not the same as labelling them right.


