Nemotron 3 Diarization - Who Said That? — Transcript
Full transcript
- 0:00Okay, so there are a lot of good speech
- 0:01recognition models out there nowadays.
- 0:04We've got Whisper, we've got Parakeet,
- 0:06we've got Canary. And if all you need is
- 0:08a simple transcript of what was said,
- 0:11then it's tempting to think that that's
- 0:12kind of a solved problem at this point.
- 0:14But the big challenge is often if you're
- 0:17trying to get context for an LLM or a
- 0:19particular app that you're trying to
- 0:20build, the transcript on its own isn't
- 0:23enough. You're often going to want
- 0:24something like timestamps to know when
- 0:26something was said. But often even more
- 0:29importantly than that, you want to know
- 0:32who actually said it. I mean, if you're
- 0:34creating a transcript of a podcast where
- 0:37four people are debating each other, you
- 0:39need to know who said what, who took
- 0:42which side, etc. Same is true if you're
- 0:45trying to do something like meeting
- 0:46notes. You need to know who agreed on
- 0:48what action. And especially now as we're
- 0:51building agents to do a lot of this
- 0:53stuff, it's so important to be able to
- 0:55pull quotes and assign them to the right
- 0:58person rather than just have a
- 1:00word-for-word transcript of everything
- 1:02that was said by everyone on the same
- 1:04call as if it was just spoken by one
- 1:06person. Now, there've always been ways
- 1:08to do this, right? I've shown in some of
- 1:10my videos back with Whisper, doing this
- 1:13with some of the open-source tools that
- 1:14were around then. But it's always been a
- 1:16cat-and-mouse game of just how accurate
- 1:19can you get it? And then you've got the
- 1:21challenge of how do you actually deal
- 1:23with multiple models that are made by
- 1:25different providers, etc. So this brings
- 1:28me to what Invidia has just released.
- 1:30And this is a new model aimed squarely
- 1:32at this problem. So this is NeMo Tron 3
- 1:35diarization. It's an open-weights model.
- 1:38It's under a license that allows for
- 1:39commercial use. You can certainly do
- 1:41most of the things you want to do with
- 1:43this kind of license. And the cool thing
- 1:45here is that this is only around about
- 1:46100 million parameters. So it'll run on
- 1:49a GPU with just 4 gigs of memory. Now,
- 1:52on top of that, when we start talking
- 1:53about the accuracy here, this can handle
- 1:56up to eight speakers. So, most of the
- 1:59models in the past sort of maxed out at
- 2:01like three or four speakers. And not
- 2:04only can it handle eight speakers when
- 2:05they're speaking nice and cleanly, it
- 2:07even does a pretty good job when people
- 2:09are talking over each other. Now, this
- 2:11is also designed to sit alongside
- 2:13whatever speech recognition model you're
- 2:15already using. So, if you've got a
- 2:16particular favorite like Parakeet or
- 2:18something like that, you're able then to
- 2:20basically use this. So, later on I'm
- 2:22going to show you a demo where we take a
- 2:23raw podcast recording and turn it into a
- 2:26transcript where every line is
- 2:27attributed to the person that spoke. But
- 2:30first, let me go through a little bit of
- 2:31context about where this model comes
- 2:33from. So, InVideo is launching this as
- 2:35part of their NeMo-Tron speech models.
- 2:38And on the channel, I've talked about
- 2:40the NeMo-Tron LLMs, etc. But I think
- 2:42often most people don't realize that
- 2:44there are a whole bunch of speech models
- 2:46that go along with this as well. So, on
- 2:48the recognition side, you've got
- 2:50Parakeet, Canary, and NeMo-Tron ASR,
- 2:53which between them cover 43 languages
- 2:56for both streaming and for batch
- 2:57transcription. They've also got a TTS
- 3:00model in there called Magpie, which is
- 3:02multilingual and does voice
- 3:03customization, etc. Then they've also
- 3:06got some models that do translation and
- 3:08even full-duplex speech-to-speech stuff
- 3:11like Persona Plex. And up until
- 3:12recently, their diarization option was
- 3:15called Sort Former, which could do up to
- 3:17four speakers. And for a while, that's
- 3:19actually been pretty popular. And in the
- 3:21many ways, you can think of this new
- 3:23model as just a drop-in replacement for
- 3:25that, which is just a lot better. And we
- 3:27know that people have been using these
- 3:29in production because that old Sort
- 3:30Former model got over 300,000 downloads
- 3:33in August alone. So, while InVideo
- 3:35hasn't said this directly, it seems to
- 3:38me what they're doing is they're going
- 3:40through and systematically improving
- 3:42these models as they're building out a
- 3:44full set of NeMo-Tron speech models. And
- 3:47that makes total sense because if you
- 3:49look at the demand for voice, it's just
- 3:52getting more and more both for single
- 3:55user interactions with agents, but also
- 3:58then for agents going and getting
- 4:00multimodal things like YouTube videos,
- 4:03et cetera, to extract information for
- 4:06context when they're doing research,
- 4:08when they're doing learning, et cetera.
- 4:09All right, so if you're new to this,
- 4:11what actually is diarization? The
- 4:13simplest way to put this is speech
- 4:15recognition tells you what has been
- 4:17said, but diarization tells you who said
- 4:21it. So when we put them together, we get
- 4:23what's called a speaker-aware
- 4:24transcript. And I think instinctively
- 4:27everyone knows this is really important.
- 4:29If you're transcribing a meeting and
- 4:31someone asks a question and then some
- 4:33people answer yes, some people answer
- 4:35no, you kind of want your agent to know
- 4:38who is going to follow through, who's
- 4:40not going to be doing something. And all
- 4:42those things are super important for the
- 4:44agent to determine the context of what
- 4:46actions it should take going forward.
- 4:48Now, does it automatically know the
- 4:49names of everyone who spoke? No, it's
- 4:51going to basically say speaker one,
- 4:53speaker two, speaker three, speaker
- 4:55seven, et cetera, as it goes through.
- 4:57But it's not that difficult for you to
- 4:59basically have some code, swap that out
- 5:01once you tell the model who is speaking.
- 5:03You can actually turn your transcript
- 5:05into having real names. Now, one of the
- 5:07biggest challenges with this has always
- 5:09been that people talk over each other,
- 5:12right? They often, even if they're not
- 5:14trying to deliberately interrupt each
- 5:15other, when somebody asks a question on
- 5:17a meeting call, often two or three
- 5:20people will answer at once. And the
- 5:21challenge there with older diarization
- 5:23systems is that they would just get
- 5:25confused. They weren't very good at
- 5:27being able to tell one voice from
- 5:29another voice, especially when they were
- 5:31crossing over, et cetera. And let me
- 5:33just say that I don't think any model is
- 5:35going to be perfect ever at this. Even
- 5:38for humans, this can be a hard task. But
- 5:40the way that these models get scored is
- 5:42with something called diarization error
- 5:45rate or DER, and it's basically adding
- 5:48up three kinds of mistakes. Speech that
- 5:50the model missed, things that it thought
- 5:53were speech that weren't, and times that
- 5:55it gave the speech to the wrong person.
- 5:58So, obviously a lower score is better
- 6:00here, and you can see that this latest
- 6:02model from Nvidia is beating out not
- 6:04only the competition, but beating out
- 6:07their own previous model by quite a lot.
- 6:09Another thing to understand here is the
- 6:11whole idea of streaming versus offline.
- 6:14In offline mode, the model can look at
- 6:16the whole recording, including what
- 6:18comes later on. Whereas in streaming
- 6:20mode, it has to make its decisions as
- 6:22the audio arrives. So, for podcasts that
- 6:25you've already got recorded, etc., you
- 6:27always want to use offline for that kind
- 6:28of thing. For any sort of live captions
- 6:31or a voice agent, you have to use
- 6:33streaming. All right, so what actually
- 6:35is new with NeMo Triton 3 diarization?
- 6:38So, it's about 100 million parameters,
- 6:40not counting the ASR. The minimum GPU
- 6:42for this is around 4 gigs. So, it can
- 6:45actually run on a lot of small GPUs. And
- 6:47also, it should be able to run pretty
- 6:49well on things like a laptop RTX card. I
- 6:52mentioned already that it goes out to
- 6:53eight speakers. The other thing, too, is
- 6:55it's language agnostic, and that's going
- 6:57to work in both the streaming and
- 6:59offline modes. So, I think the best
- 7:01thing is let's just jump in and do a
- 7:02demo and see how it actually works and
- 7:05comes together. All right, so jumping
- 7:06into the demo, let me just show you a
- 7:08little bit about how this is set up. So,
- 7:11first off, let me thank Nvidia for
- 7:13sponsoring the compute here. So, I'm
- 7:15using a DGX Spark to actually run the
- 7:17three voice models on here. So, let me
- 7:20just walk through the diagram of how
- 7:22this is set up. So, what you're seeing
- 7:24here is a Next.js app. This is running
- 7:27locally on my Mac. And then, basically,
- 7:30it's going to then call a back end over
- 7:33Tailscale to the DGX Spark. And you see,
- 7:36basically on there, I've got a Docker
- 7:38container with Nvidia NeMo in there. So,
- 7:41Nvidia Nemo is serving both diarization
- 7:45model, which we're talking about, but
- 7:46also the Parakeet ASR model and the
- 7:49NeMo-Megatron 3.5 multilingual ASR model
- 7:52in there. And to basically use those,
- 7:55I've got a fast API app set up here. And
- 7:57this is a simple way that you can do
- 7:59this kind of thing. Now, if I was going
- 8:00to do this at scale, I might go for
- 8:02something like Dynamo or Triton to
- 8:04actually serve this. But, this is
- 8:06working really well for everything that
- 8:08I want in here. So, if we come in here
- 8:10to the app, you can see I can basically
- 8:12just take their demo in here. I can pick
- 8:15which ASR model I want to actually do it
- 8:18with. So, I'm going to do it with the
- 8:19Parakeet one, cuz this tends to be
- 8:21better for sort of multi-speaker sort of
- 8:23stuff. I can start transcribing it. And
- 8:26you can see that literally in sort of 3,
- 8:284 seconds, it's gone through and
- 8:31transcribed this minute and 30-plus
- 8:34minutes of audio in here. Now, because I
- 8:36was playing around with this before and
- 8:38setting some of the names, it's actually
- 8:40remembered the names of this person in
- 8:43here. Let's go through and take a listen
- 8:44to this and see what happens when
- 8:47multiple speakers speak at the same
- 8:48time.
- 8:49>> To celebrate the release of
- 8:50NeMo-Megatron 3 diarization, we invited
- 8:53seven more open text-to-speech voices to
- 8:55the party. I'm Chris, the NeMo-Megatron
- 8:57voice from Nvidia.
- 8:58>> Hi everybody. Thanks for having me. I'm
- 9:01Jane, a Pocket voice from Qutai.
- 9:03>> Nice to meet you, Chris and Jen. I'm
- 9:05Serena, the Quinn 3 voice.
- 9:07>> Hey, I'm Adam from Kakoro. Just 82
- 9:10million parameters and I still made the
- 9:12guest list.
- 9:13>> Hello, hello. Chatterbox here from
- 9:14Resemble AI. I brought the expressive
- 9:16energy.
- 9:17>> Hi, I'm John, a Deia voice from Nari
- 9:19Labs. Great crowd we've got here
- 9:21already.
- 9:21>> What's up, everyone? I'm the Maya 1
- 9:23voice from My Resear.
- 9:24>> Okay. So, now we have a full house of
- 9:27eight synthetic open voices. Let's put
- 9:29NeMo-Megatron 3 diarization to the test.
- 9:31Okay. So, the new diarization model can
- 9:34tag each of our voices as it
- 9:35transcribes. But, can it do that while
- 9:37we all speak together? Let's find out.
- 9:39>> Even two of us talking at once.
- 9:40>> us, even while we speak over each other.
- 9:42>> Frame by frame, it labels who spoke
- 9:45when.
- 9:46>> Okay, so as you can see in here, there
- 9:48it's doing a good job at being able to
- 9:50transcribe each of these. If we come
- 9:52down and look at this, we can see each
- 9:54voice has been transcribed. Now, I think
- 9:56my UI is a little bit behind on this.
- 9:58But, you can certainly get a sense of
- 10:00how this is actually put together. And
- 10:01actually, if we zoom in a bit,
- 10:03>> Voice from Q Thai.
- 10:05>> To meet you, Chris and Jen. I'm Serena,
- 10:07the Queen three voice.
- 10:09>> And you can see very quickly that we can
- 10:10basically put something together that
- 10:12transcribes each of these. And if we
- 10:15wanted to come in here and then start
- 10:16putting in their names,
- 10:18it will go through and actually rename
- 10:20all of them for us. Now, if you want to
- 10:22see what actually is coming back from
- 10:24the actual model, you can see here is
- 10:27the raw JSON that's coming back from the
- 10:29model. So, we can see, okay, what was
- 10:31actually being used in here. We can see
- 10:33our different speakers are being
- 10:34flagged, etc. And then this software is
- 10:37basically rewriting speaker three to be
- 10:39Adam, etc., going through this. The cool
- 10:42thing with doing something like this is
- 10:44very quickly we can get stats out of how
- 10:48long did each person speak on there? How
- 10:50many words did they speak? How many
- 10:52turns did they have? And that can be
- 10:54really good if you wanted to actually
- 10:55put in something a lot longer in here.
- 10:58Okay, and the cool thing here is that we
- 11:00can do long files. So, I've basically
- 11:02put in a full podcast episode of the
- 11:05All-in podcast where they interviewed
- 11:07Jensen Huang. And you can see it's
- 11:09basically gone through. We've got out
- 11:11I've named the actual speakers in here.
- 11:14So, we've got the speakers going through
- 11:16there. And then we've got now a full
- 11:17transcript of what each of them said.
- 11:21And the cool thing here is we can look
- 11:22at the stats. We can see how much talk
- 11:25time each of them had. We can see that
- 11:28sure enough, obviously Jensen was the
- 11:29guest here, so he was the one that was
- 11:31speaking the most. And all of that was
- 11:33done in 148 seconds. So, that's about 2
- 11:37and 1/2 minutes for a file that was over
- 11:40an hour long in here. So, it allows us
- 11:43to basically go through and you see now
- 11:45we can basically just go in and either
- 11:47read the transcript, I can export it as
- 11:49a text file here, I can export it as an
- 11:52SRT here. And the cool thing here is
- 11:54that if I did want to do something that
- 11:56was going to be multilingual or
- 11:57something, I can just swap over the
- 11:59model and use this model as opposed to
- 12:01the Parakeet model in here. So, you can
- 12:03see with this one we've got a whole
- 12:05bunch of different languages supported.
- 12:07And if you remember when I made a video
- 12:09about this, you can actually come in and
- 12:11fine-tune this model to do very well on
- 12:14other languages that they call
- 12:15adaptation-ready in here. Now, the other
- 12:17thing that I haven't really set this app
- 12:19up to do, which the model can do, is you
- 12:22can also do streaming responses as well.
- 12:24And of course, your accuracy will
- 12:25probably go down a little bit with that,
- 12:27but you still should be able to get
- 12:28pretty good results there. So, if you
- 12:30are interested in doing anything with
- 12:32voice transcriptions and you want to be
- 12:34able to have diarization, etc. in there,
- 12:36this is a really good way that you can
- 12:38set this up, do all your transcriptions
- 12:40in batches, etc. And most importantly,
- 12:43be able to do all of this locally. So,
- 12:45let me know in the comments if you've
- 12:46got any questions about this. And I
- 12:48think it's going to be really cool to
- 12:49see what NVIDIA does next with these
- 12:52speech models. Like I said, from what
- 12:54I'm seeing, they're constantly iterating
- 12:56on making these better and providing
- 12:59different kinds of models for different
- 13:01kinds of use cases. Anyway, as always,
- 13:03if you found the video useful, please
- 13:05click like and subscribe, and I will
- 13:06talk to you in the next video. Bye for
- 13:08now.
About this transcript
This page contains the full transcript of Nemotron 3 Diarization - Who Said That? by Sam Witteveen, generated from the public captions YouTube serves with the video. The transcript has 2,620 words across 372 segments, with the original timestamps preserved so you can click any line to jump to that moment in the embedded player.
What you can do with it
Use the transcript to take notes, quote the speaker, build a study guide, generate a summary with ChatGPT or Claude via the YouTube Summary tool, or export it as a timed subtitle file with YouTube to SRT. You can also re-open it in the transcriber to choose a caption track available on the video.
Free YouTube transcript tool
YouTube2Text is a free YouTube transcript generator — no signup, no daily limit. Paste any YouTube link and get the full transcript instantly, with timestamps, click-to-jump, caption language selection, AI prompts for ChatGPT, Claude, and Gemini, and exports to TXT, SRT, VTT, or Markdown.