Pular para o conteúdo

Nemotron 3 Diarization: quem disse isso?

Ver no idioma original →

Autoria: Sam Witteveen · Assistir no YouTube

Vídeo de autoria do canal indicado, não da IANIA; todos os direitos pertencem ao criador. Transcrição, resumo e tradução gerados automaticamente; o conteúdo no idioma original é preservado na versão em idioma original.

Idioma original: inglês

Vídeo original: Nemotron 3 Diarization - Who Said That? · Canal: Sam Witteveen · 12:54 · Assistir no YouTube

Tópicos: Agentes de IA, Modelos locais e open source, Modelos multimodais

O vídeo apresenta o Nemotron 3 Diarization, modelo de pesos abertos da NVIDIA voltado a identificar quem falou cada trecho de uma gravação. O apresentador explica como diarização complementa o reconhecimento de fala, destaca o suporte a até oito falantes e compara os modos offline e streaming. Em uma demonstração, combina o modelo com sistemas de reconhecimento de fala para transcrever gravações, atribuir falas a pessoas e calcular estatísticas de participação. Também mostra o processamento local de um episódio longo de podcast e a exportação da transcrição.

  • Reconhecimento de fala identifica o que foi dito; diarização identifica quem disse cada trecho.
  • O Nemotron 3 Diarization é um modelo de pesos abertos, com cerca de 100 milhões de parâmetros e uso possível em GPU com 4 GB de memória.
  • O modelo consegue lidar com até oito falantes, inclusive em situações de fala simultânea.
  • A diarização produz rótulos genéricos, como “speaker 1”; um aplicativo pode substituí-los pelos nomes corretos.
  • O DER mede erros relacionados a falas não detectadas, falas incorretamente identificadas como fala e atribuições ao falante errado.
  • O modo offline analisa a gravação completa; o modo streaming processa o áudio à medida que chega.
  • A demonstração combina o modelo de diarização com Parakeet ASR e outros modelos de reconhecimento de fala.
  • Um episódio de podcast com mais de uma hora foi processado em 148 segundos, com identificação dos participantes e estatísticas de tempo de fala.
  • A aplicação permite exportar transcrições como arquivo de texto ou SRT e pode ser executada localmente.
Início Capítulo Resumo
00:00 Por que a diarização é importante O apresentador explica que transcrições precisam identificar os falantes para oferecer contexto útil a reuniões, podcasts e agentes.
03:47 Como funciona a diarização O vídeo define a diarização, apresenta o DER e diferencia o processamento offline do modo streaming.
06:59 Demonstração com vários falantes Uma aplicação local combina o modelo de diarização com modelos ASR e demonstra a identificação de até oito vozes, inclusive falando ao mesmo tempo.
10:09 Transcrições, estatísticas e arquivos longos O apresentador mostra a resposta em JSON, a substituição dos rótulos por nomes, as estatísticas dos falantes e o processamento de um episódio longo de podcast.
11:47 Idiomas e processamento streaming O vídeo aborda o suporte a outros idiomas, a possibilidade de usar streaming e as vantagens de executar as transcrições localmente.

O reconhecimento de fala diz o que foi dito, mas a diarização diz quem disse. — 03:47

Não acho que algum modelo vá ser perfeito nisso — para os humanos, essa tarefa também pode ser difícil. — 05:25

Podemos obter rapidamente estatísticas: quanto tempo cada pessoa falou, quantas palavras disse e quantos turnos teve. — 10:42

Tudo isso foi feito em 148 segundos, cerca de dois minutos e meio, para um arquivo com mais de uma hora. — 11:14

O mais importante é poder fazer tudo isso localmente. — 12:19

  • Nemotron 3 Diarization (modelo): Modelo da NVIDIA que identifica os falantes em gravações de áudio e pode ser combinado com modelos de reconhecimento de fala.
  • diarization (conceito): Tarefa de determinar quem falou cada trecho de uma gravação.
  • diarization error rate (DER) (conceito): Métrica que contabiliza falas não detectadas, detecções indevidas de fala e atribuições ao falante errado.
  • Parakeet (modelo): Modelo de reconhecimento de fala usado na demonstração junto ao modelo de diarização.
  • Canary (modelo): Modelo de reconhecimento de fala mencionado entre as opções disponíveis.
  • Whisper (modelo): Modelo de reconhecimento de fala citado como exemplo de sistema usado para transcrição.
  • Sortformer (modelo): Modelo anterior de diarização da NVIDIA mencionado como capaz de lidar com até quatro falantes.
  • NVIDIA (empresa): Empresa que lançou o Nemotron 3 Diarization e patrocinou o equipamento de computação usado na demonstração.
  • DGX Spark (ferramenta): Sistema usado pelo apresentador para executar os modelos de voz da demonstração.
  • Next.js (ferramenta): Tecnologia usada para a aplicação local que apresenta a interface da demonstração.
  • FastAPI (ferramenta): Framework usado para disponibilizar uma API simples aos modelos executados no backend.
  • Triton (ferramenta): Sistema citado como uma possível opção para servir os modelos em uma implantação em escala.
  • Sam Witteveen (pessoa): Apresentador do vídeo e responsável por demonstrar o fluxo de transcrição e diarização.

00:00 Certo, hoje em dia há muitos bons modelos de reconhecimento de fala. Temos Whisper, Parakeet e Canary. Se tudo de que você precisa é uma transcrição simples do que foi dito, é tentador pensar que esse problema já está, de certa forma, resolvido. Mas o grande desafio costuma surgir quando você tenta obter contexto para um LLM ou para um aplicativo específico que está desenvolvendo: a transcrição, por si só, não basta. Muitas vezes, você vai querer algo como marcações de tempo para saber quando algo foi dito. Mas, com frequência, ainda mais importante do que isso, você quer saber quem realmente disse aquilo. Quer dizer, se você está

00:34 criando a transcrição de um podcast em que quatro pessoas estão debatendo, precisa saber quem disse o quê, quem defendeu qual lado etc. O mesmo vale se você estiver fazendo algo como atas de reunião. Precisa saber quem concordou com cada ação. E, especialmente agora, enquanto estamos criando agents para fazer muitas dessas tarefas, é muito importante poder extrair citações e atribuí-las à pessoa certa, em vez de ter apenas uma transcrição palavra por palavra de tudo o que foi dito por todos na mesma chamada, como se tivesse sido dito por uma única

01:06 pessoa. Sempre houve maneiras de fazer isso, certo? Já mostrei em alguns dos meus vídeos como fazer isso com o Whisper e algumas das ferramentas open source que existiam na época. Mas sempre foi um jogo de gato e rato: até que ponto é possível obter precisão? E há também o desafio de lidar com vários modelos feitos por diferentes provedores etc. Isso me leva ao que a Nvidia acabou de lançar. É um novo modelo voltado diretamente para esse problema: o Nemotron 3 para diarização. É um modelo com pesos abertos.

01:38 Ele está sob uma licença que permite uso comercial. Com esse tipo de licença, certamente é possível fazer a maioria das coisas que você gostaria. E o interessante é que ele tem apenas cerca de 100 milhões de parâmetros. Então, roda em uma GPU com apenas 4 GB de memória. Além disso, falando da precisão, ele consegue lidar com até oito falantes. A maioria dos modelos anteriores chegava, em geral, a no máximo três ou quatro falantes. E não só consegue lidar com oito falantes quando eles falam de forma clara, como também se sai muito bem quando as pessoas falam ao mesmo tempo. Esse modelo também

02:11 foi projetado para funcionar junto com o modelo de reconhecimento de fala que você já estiver usando. Então, se você tem um favorito, como o Parakeet ou algo do tipo, pode basicamente usar este modelo com ele. Mais adiante, vou mostrar uma demonstração em que pegamos uma gravação bruta de podcast e a transformamos em uma transcrição na qual cada linha é atribuída à pessoa que falou. Mas, primeiro, vou dar um pouco de contexto sobre a origem deste modelo. A Nvidia está lançando-o como parte dos modelos de fala Nemotron. No canal, já falei sobre os LLMs Nemotron etc. Mas acho

02:42 que muitas pessoas não percebem que também há vários modelos de fala que fazem parte desse conjunto. Para reconhecimento, há Parakeet, Canary e Nemotron ASR, que, juntos, abrangem 43 idiomas, tanto para transcrição em streaming quanto em lote. Eles também têm um modelo TTS chamado Magpie, que é multilíngue e permite personalizar vozes etc. Além disso, têm alguns modelos de tradução e até modelos de fala para fala full-duplex, como o Persona Plex. E, até

03:12 recentemente, a opção de diarização deles se chamava Sortformer e conseguia lidar com até quatro falantes. Por um tempo, ela foi bastante popular. Em muitos aspectos, dá para pensar neste novo modelo como uma substituição direta daquele, só que muito melhor. E sabemos que as pessoas têm usado esses modelos em produção, porque o antigo Sortformer teve mais de 300.000 downloads só em agosto. Então, embora a Nvidia não tenha dito isso diretamente, parece que está aprimorando sistematicamente esses modelos enquanto constrói um conjunto completo de modelos de fala Nemotron. E

03:47 isso faz todo o sentido, porque, se você olhar para a demanda por voz, ela só está crescendo, tanto nas interações individuais com agents quanto no uso de agents para buscar conteúdo multimodal, como vídeos do YouTube, e extrair informações para contexto durante pesquisas, estudos etc. Certo, se você não conhece o assunto, o que é diarização? Em termos simples, o reconhecimento de fala diz o que foi dito, mas a diarização diz quem disse

04:21 aquilo. Quando combinamos os dois, obtemos o que se chama de transcrição com identificação dos falantes. Acho que todos percebem instintivamente que isso é muito importante. Se você está transcrevendo uma reunião e alguém faz uma pergunta, e algumas pessoas respondem sim e outras respondem não, você quer que seu agent saiba quem vai cumprir o combinado e quem não vai fazer algo. Tudo isso é muito importante para que o agent determine o contexto das ações que deve tomar dali em diante. Ele sabe automaticamente o nome de todas as pessoas que falaram? Não. Basicamente, vai dizer falante um,

04:53 falante dois, falante três, falante sete etc. ao longo da transcrição. Mas não é difícil criar um código para substituir esses rótulos depois que você informa ao modelo quem está falando. Assim, você pode transformar a transcrição e inserir nomes reais. Um dos maiores desafios nessa tarefa sempre foi o fato de as pessoas falarem ao mesmo tempo, certo? Muitas vezes, mesmo sem tentar interromper deliberadamente umas às outras, quando alguém faz uma pergunta em uma chamada de reunião, duas ou três pessoas respondem ao mesmo tempo. O problema dos sistemas de diarização mais antigos é que eles simplesmente ficavam

05:25 confusos. Não eram muito bons em distinguir uma voz da outra, especialmente quando elas se sobrepunham etc. E quero dizer que não acho que algum modelo vá ser perfeito nisso. Até mesmo para os seres humanos, essa pode ser uma tarefa difícil. Mas a forma de avaliar esses modelos é usando uma métrica chamada taxa de erro de diarização, ou DER, que basicamente soma três tipos de erros: falas que o modelo não detectou, coisas que ele considerou fala, mas não eram, e casos em que atribuiu a fala à pessoa errada.

05:58 Então, obviamente, uma pontuação mais baixa é melhor. E dá para ver que este modelo mais recente da Nvidia supera não só a concorrência, como também supera, por bastante, o modelo anterior da própria empresa. Outra coisa importante é entender a diferença entre streaming e modo offline. No modo offline, o modelo pode analisar a gravação inteira, inclusive o que vem depois. Já no modo streaming, ele precisa tomar decisões conforme o áudio chega. Então, para podcasts que você já gravou etc., é sempre melhor usar o modo offline para esse tipo

06:28 de coisa. Para qualquer tipo de legenda ao vivo ou agent de voz, é preciso usar streaming. Certo, então o que há de novo no Nemotron 3 para diarização? Ele tem cerca de 100 milhões de parâmetros, sem contar o ASR. A GPU mínima necessária tem cerca de 4 GB. Então, ele pode rodar em muitas GPUs pequenas. Também deve funcionar muito bem em placas RTX de laptop. Já mencionei que ele dá conta de até oito falantes. Outra coisa é que ele independe do idioma, e isso funciona tanto nos modos streaming quanto

06:59 offline. Então, acho melhor irmos direto para uma demonstração e ver como funciona na prática e como tudo se encaixa. Certo, vamos à demonstração. Vou mostrar um pouco de como tudo está configurado. Primeiro, agradeço à Nvidia por patrocinar o poder computacional. Estou usando um DGX Spark para executar os três modelos de voz aqui. Agora, vou explicar o diagrama de como tudo está configurado. O que vocês estão vendo é um aplicativo Next.js. Ele está rodando localmente no meu Mac. E então, basicamente,

07:30 Então, ele vai chamar um backend pelo Tailscale até o DGX Spark. E, como vocês podem ver, basicamente tenho um contêiner Docker com o Nvidia NeMo. O Nvidia NeMo está servindo tanto o modelo de diarização, sobre o qual estamos falando, quanto o modelo ASR Parakeet e o modelo ASR multilíngue NeMo-Megatron 3.5. Para usar esses modelos, configurei um aplicativo FastAPI aqui. Essa é uma maneira simples de fazer esse tipo de coisa. Agora, se eu fosse

08:00 fazer isso em escala, talvez optasse por algo como Dynamo ou Triton para servir o modelo. Mas isso está funcionando muito bem para tudo o que quero fazer aqui. Então, se abrirmos o aplicativo, vocês podem ver que posso simplesmente usar a demonstração deles. Posso escolher qual modelo ASR quero usar. Vou usar o Parakeet, porque ele costuma ser melhor para coisas com vários falantes. Posso iniciar a transcrição. E vocês podem ver que, literalmente, em uns 3 ou 4 segundos, ele processou e

08:31 transcreveu este áudio de mais de 30 minutos. Agora, como eu já estava testando isso e configurando alguns dos nomes, ele se lembrou do nome desta pessoa aqui. Vamos ouvir e ver o que acontece quando vários falantes falam ao mesmo tempo. >> Para celebrar o lançamento do NeMo-Megatron 3 diarization, convidamos mais sete vozes abertas de síntese de fala para a festa. Sou Chris, a voz do NeMo-Megatron da Nvidia. >> Oi, pessoal. Obrigada pelo convite. Sou Jane, uma voz Pocket da Qutai.

09:03 >> Prazer em conhecer vocês, Chris e Jen. Sou Serena, a voz do Quinn 3. >> Ei, sou Adam, da Kakoro. Só tenho 82 milhões de parâmetros e mesmo assim fui convidado. >> Olá, olá. Aqui é Chatterbox, da Resemble AI. Trouxe uma energia expressiva. >> Oi, sou John, uma voz Deia da Nari Labs. Já temos um ótimo grupo aqui. >> E aí, pessoal? Sou a voz Maya 1 da My Resear. >> Certo. Agora temos uma sala cheia, com oito vozes sintéticas abertas. Vamos testar o NeMo-Megatron 3 diarization. Certo. O novo modelo de diarização consegue identificar cada uma das nossas vozes enquanto

09:35 transcreve. Mas será que consegue fazer isso enquanto todos falamos juntos? Vamos descobrir. >> Até mesmo quando dois de nós falam ao mesmo tempo. >> Nós, mesmo falando por cima uns dos outros. >> Quadro a quadro, ele identifica quem falou e quando. >> Certo, como vocês podem ver aqui, ele está fazendo um bom trabalho ao transcrever cada uma dessas vozes. Se descermos e olharmos, veremos que cada voz foi transcrita. Acho que minha interface está um pouco atrasada, mas dá para ter uma boa ideia de como isso foi montado. E, na verdade, se aproximarmos um pouco, >> voz da Qutai. >> Prazer em conhecer vocês, Chris e Jen. Sou Serena, a voz do Queen 3.

10:09 >> E vocês podem ver que, bem rapidamente, conseguimos montar algo que transcreve cada uma dessas vozes. Se quisermos inserir os nomes aqui, ele vai renomear todas para nós. Agora, se quiserem ver o que está vindo do modelo, aqui está o JSON bruto retornado por ele. Podemos ver o que estava sendo usado aqui. Também vemos que os diferentes falantes estão identificados, e assim por diante. Então, este software basicamente troca “falante três” por “Adam” e continua fazendo o mesmo com os outros. O legal

10:42 de fazer algo assim é que conseguimos obter rapidamente estatísticas: quanto tempo cada pessoa falou? Quantas palavras disse? Quantos turnos teve? Isso pode ser muito útil se quisermos inserir algo bem mais longo aqui. Certo, e o legal é que podemos processar arquivos longos. Coloquei um episódio inteiro do podcast All-in, em que entrevistaram Jensen Huang. Como podem ver, ele processou o episódio. Dei nome aos falantes aqui.

11:14 Então, os falantes aparecem aqui. E agora temos a transcrição completa do que cada um disse. O legal é que podemos consultar as estatísticas. Podemos ver quanto tempo cada um falou. Como era de se esperar, Jensen era o convidado, então foi quem mais falou. E tudo isso foi feito em 148 segundos. Ou seja, cerca de 2 minutos e meio para um arquivo com mais de uma hora. Assim, podemos seguir adiante e, como vocês podem ver, agora podemos simplesmente

11:47 ler a transcrição, exportá-la como arquivo de texto ou como SRT. E o legal é que, se eu quisesse fazer algo multilíngue, poderia simplesmente trocar de modelo e usar este no lugar do Parakeet. Como podem ver, este modelo é compatível com vários idiomas. E, se vocês se lembram do vídeo que fiz sobre ele, podem ajustá-lo com fine-tuning para ter um bom desempenho em outros idiomas que eles chamam de prontos para adaptação. Outra coisa que ainda não configurei este aplicativo

12:19 para fazer, mas que o modelo consegue, é transmitir respostas em streaming. É claro que a precisão provavelmente vai cair um pouco, mas ainda assim vocês devem conseguir bons resultados. Então, se têm interesse em transcrever áudio e querem incluir diarização, entre outras coisas, esta é uma ótima maneira de configurar tudo e fazer as transcrições em lotes. E, acima de tudo, fazer tudo isso localmente. Deixem nos comentários qualquer dúvida que tiverem sobre isso. Acho que vai ser muito legal ver o que a NVIDIA fará a seguir com esses modelos de fala. Como eu disse, pelo que

12:54 estou vendo, eles estão sempre aprimorando os modelos e oferecendo diferentes tipos para diferentes casos de uso. Enfim, como sempre, se acharam o vídeo útil, curtam e se inscrevam. Até o próximo vídeo. Tchau por enquanto.

Transcrição original

[00:00] Okay, so there are a lot of good speech recognition models out there nowadays. We’ve got Whisper, we’ve got Parakeet, we’ve got Canary. And if all you need is a simple transcript of what was said, then it’s tempting to think that that’s kind of a solved problem at this point. But the big challenge is often if you’re trying to get context for an LLM or a particular app that you’re trying to build, the transcript on its own isn’t enough. You’re often going to want something like timestamps to know when something was said. But often even more importantly than that, you want to know who actually said it. I mean, if you’re

[00:34] creating a transcript of a podcast where four people are debating each other, you need to know who said what, who took which side, etc. Same is true if you’re trying to do something like meeting notes. You need to know who agreed on what action. And especially now as we’re building agents to do a lot of this stuff, it’s so important to be able to pull quotes and assign them to the right person rather than just have a word-for-word transcript of everything that was said by everyone on the same call as if it was just spoken by one

[01:06] person. Now, there’ve always been ways to do this, right? I’ve shown in some of my videos back with Whisper, doing this with some of the open-source tools that were around then. But it’s always been a cat-and-mouse game of just how accurate can you get it? And then you’ve got the challenge of how do you actually deal with multiple models that are made by different providers, etc. So this brings me to what Invidia has just released. And this is a new model aimed squarely at this problem. So this is NeMo Tron 3 diarization. It’s an open-weights model.

[01:38] It’s under a license that allows for commercial use. You can certainly do most of the things you want to do with this kind of license. And the cool thing here is that this is only around about 100 million parameters. So it’ll run on a GPU with just 4 gigs of memory. Now, on top of that, when we start talking about the accuracy here, this can handle up to eight speakers. So, most of the models in the past sort of maxed out at like three or four speakers. And not only can it handle eight speakers when they’re speaking nice and cleanly, it even does a pretty good job when people are talking over each other. Now, this

[02:11] is also designed to sit alongside whatever speech recognition model you’re already using. So, if you’ve got a particular favorite like Parakeet or something like that, you’re able then to basically use this. So, later on I’m going to show you a demo where we take a raw podcast recording and turn it into a transcript where every line is attributed to the person that spoke. But first, let me go through a little bit of context about where this model comes from. So, InVideo is launching this as part of their NeMo-Tron speech models. And on the channel, I’ve talked about the NeMo-Tron LLMs, etc. But I think

[02:42] often most people don’t realize that there are a whole bunch of speech models that go along with this as well. So, on the recognition side, you’ve got Parakeet, Canary, and NeMo-Tron ASR, which between them cover 43 languages for both streaming and for batch transcription. They’ve also got a TTS model in there called Magpie, which is multilingual and does voice customization, etc. Then they’ve also got some models that do translation and even full-duplex speech-to-speech stuff like Persona Plex. And up until

[03:12] recently, their diarization option was called Sort Former, which could do up to four speakers. And for a while, that’s actually been pretty popular. And in the many ways, you can think of this new model as just a drop-in replacement for that, which is just a lot better. And we know that people have been using these in production because that old Sort Former model got over 300,000 downloads in August alone. So, while InVideo hasn’t said this directly, it seems to me what they’re doing is they’re going through and systematically improving these models as they’re building out a full set of NeMo-Tron speech models. And

[03:47] that makes total sense because if you look at the demand for voice, it’s just getting more and more both for single user interactions with agents, but also then for agents going and getting multimodal things like YouTube videos, et cetera, to extract information for context when they’re doing research, when they’re doing learning, et cetera. All right, so if you’re new to this, what actually is diarization? The simplest way to put this is speech recognition tells you what has been said, but diarization tells you who said

[04:21] it. So when we put them together, we get what’s called a speaker-aware transcript. And I think instinctively everyone knows this is really important. If you’re transcribing a meeting and someone asks a question and then some people answer yes, some people answer no, you kind of want your agent to know who is going to follow through, who’s not going to be doing something. And all those things are super important for the agent to determine the context of what actions it should take going forward. Now, does it automatically know the names of everyone who spoke? No, it’s going to basically say speaker one,

[04:53] speaker two, speaker three, speaker seven, et cetera, as it goes through. But it’s not that difficult for you to basically have some code, swap that out once you tell the model who is speaking. You can actually turn your transcript into having real names. Now, one of the biggest challenges with this has always been that people talk over each other, right? They often, even if they’re not trying to deliberately interrupt each other, when somebody asks a question on a meeting call, often two or three people will answer at once. And the challenge there with older diarization systems is that they would just get

[05:25] confused. They weren’t very good at being able to tell one voice from another voice, especially when they were crossing over, et cetera. And let me just say that I don’t think any model is going to be perfect ever at this. Even for humans, this can be a hard task. But the way that these models get scored is with something called diarization error rate or DER, and it’s basically adding up three kinds of mistakes. Speech that the model missed, things that it thought were speech that weren’t, and times that it gave the speech to the wrong person.

[05:58] So, obviously a lower score is better here, and you can see that this latest model from Nvidia is beating out not only the competition, but beating out their own previous model by quite a lot. Another thing to understand here is the whole idea of streaming versus offline. In offline mode, the model can look at the whole recording, including what comes later on. Whereas in streaming mode, it has to make its decisions as the audio arrives. So, for podcasts that you’ve already got recorded, etc., you always want to use offline for that kind

[06:28] of thing. For any sort of live captions or a voice agent, you have to use streaming. All right, so what actually is new with NeMo Triton 3 diarization? So, it’s about 100 million parameters, not counting the ASR. The minimum GPU for this is around 4 gigs. So, it can actually run on a lot of small GPUs. And also, it should be able to run pretty well on things like a laptop RTX card. I mentioned already that it goes out to eight speakers. The other thing, too, is it’s language agnostic, and that’s going to work in both the streaming and

[06:59] offline modes. So, I think the best thing is let’s just jump in and do a demo and see how it actually works and comes together. All right, so jumping into the demo, let me just show you a little bit about how this is set up. So, first off, let me thank Nvidia for sponsoring the compute here. So, I’m using a DGX Spark to actually run the three voice models on here. So, let me just walk through the diagram of how this is set up. So, what you’re seeing here is a Next.js app. This is running locally on my Mac. And then, basically,

[07:30] it’s going to then call a back end over Tailscale to the DGX Spark. And you see, basically on there, I’ve got a Docker container with Nvidia NeMo in there. So, Nvidia Nemo is serving both diarization model, which we’re talking about, but also the Parakeet ASR model and the NeMo-Megatron 3.5 multilingual ASR model in there. And to basically use those, I’ve got a fast API app set up here. And this is a simple way that you can do this kind of thing. Now, if I was going

[08:00] to do this at scale, I might go for something like Dynamo or Triton to actually serve this. But, this is working really well for everything that I want in here. So, if we come in here to the app, you can see I can basically just take their demo in here. I can pick which ASR model I want to actually do it with. So, I’m going to do it with the Parakeet one, cuz this tends to be better for sort of multi-speaker sort of stuff. I can start transcribing it. And you can see that literally in sort of 3, 4 seconds, it’s gone through and

[08:31] transcribed this minute and 30-plus minutes of audio in here. Now, because I was playing around with this before and setting some of the names, it’s actually remembered the names of this person in here. Let’s go through and take a listen to this and see what happens when multiple speakers speak at the same time. >> To celebrate the release of NeMo-Megatron 3 diarization, we invited seven more open text-to-speech voices to the party. I’m Chris, the NeMo-Megatron voice from Nvidia. >> Hi everybody. Thanks for having me. I’m Jane, a Pocket voice from Qutai.

[09:03] >> Nice to meet you, Chris and Jen. I’m Serena, the Quinn 3 voice. >> Hey, I’m Adam from Kakoro. Just 82 million parameters and I still made the guest list. >> Hello, hello. Chatterbox here from Resemble AI. I brought the expressive energy. >> Hi, I’m John, a Deia voice from Nari Labs. Great crowd we’ve got here already. >> What’s up, everyone? I’m the Maya 1 voice from My Resear. >> Okay. So, now we have a full house of eight synthetic open voices. Let’s put NeMo-Megatron 3 diarization to the test. Okay. So, the new diarization model can tag each of our voices as it

[09:35] transcribes. But, can it do that while we all speak together? Let’s find out. >> Even two of us talking at once. >> us, even while we speak over each other. >> Frame by frame, it labels who spoke when. >> Okay, so as you can see in here, there it’s doing a good job at being able to transcribe each of these. If we come down and look at this, we can see each voice has been transcribed. Now, I think my UI is a little bit behind on this. But, you can certainly get a sense of how this is actually put together. And actually, if we zoom in a bit, >> Voice from Q Thai. >> To meet you, Chris and Jen. I’m Serena, the Queen three voice.

[10:09] >> And you can see very quickly that we can basically put something together that transcribes each of these. And if we wanted to come in here and then start putting in their names, it will go through and actually rename all of them for us. Now, if you want to see what actually is coming back from the actual model, you can see here is the raw JSON that’s coming back from the model. So, we can see, okay, what was actually being used in here. We can see our different speakers are being flagged, etc. And then this software is basically rewriting speaker three to be Adam, etc., going through this. The cool

[10:42] thing with doing something like this is very quickly we can get stats out of how long did each person speak on there? How many words did they speak? How many turns did they have? And that can be really good if you wanted to actually put in something a lot longer in here. Okay, and the cool thing here is that we can do long files. So, I’ve basically put in a full podcast episode of the All-in podcast where they interviewed Jensen Huang. And you can see it’s basically gone through. We’ve got out I’ve named the actual speakers in here.

[11:14] So, we’ve got the speakers going through there. And then we’ve got now a full transcript of what each of them said. And the cool thing here is we can look at the stats. We can see how much talk time each of them had. We can see that sure enough, obviously Jensen was the guest here, so he was the one that was speaking the most. And all of that was done in 148 seconds. So, that’s about 2 and 1/2 minutes for a file that was over an hour long in here. So, it allows us to basically go through and you see now we can basically just go in and either

[11:47] read the transcript, I can export it as a text file here, I can export it as an SRT here. And the cool thing here is that if I did want to do something that was going to be multilingual or something, I can just swap over the model and use this model as opposed to the Parakeet model in here. So, you can see with this one we’ve got a whole bunch of different languages supported. And if you remember when I made a video about this, you can actually come in and fine-tune this model to do very well on other languages that they call adaptation-ready in here. Now, the other thing that I haven’t really set this app

[12:19] up to do, which the model can do, is you can also do streaming responses as well. And of course, your accuracy will probably go down a little bit with that, but you still should be able to get pretty good results there. So, if you are interested in doing anything with voice transcriptions and you want to be able to have diarization, etc. in there, this is a really good way that you can set this up, do all your transcriptions in batches, etc. And most importantly, be able to do all of this locally. So, let me know in the comments if you’ve got any questions about this. And I think it’s going to be really cool to see what NVIDIA does next with these speech models. Like I said, from what

[12:54] I’m seeing, they’re constantly iterating on making these better and providing different kinds of models for different kinds of use cases. Anyway, as always, if you found the video useful, please click like and subscribe, and I will talk to you in the next video. Bye for now.