AI Engineer World's Fair 2025
The End of Awkward AI Transcriptions
Read the talk
The End of Awkward AI Transcriptions
Reliable speech recognition depends on matching encoders, decoders, speaker models, and customization tools to the audio and deployment constraints of each application.
From a talk by Travis Bartley, Myungjong Kim, Byungjoong and Jaehan
Before you start: Basic familiarity with neural networks and inference is useful; ASR means automatic speech recognition.
What must a speech system handle?
Will a recognition system work as well on a noisy telephone call as it does on clean speech? Will it recognize medical terminology, handle a speaker switching languages, and still respond quickly enough for a conversation? These are the opening engineering questions behind NVIDIA Riva, an enterprise platform covering speech recognition, synthesis, and translation. Low latency and efficient inference matter throughout, including on embedded devices.
The requirements fall into four connected categories:
- Robustness: Noise, telephony audio quality, and environmental interference change what reaches the recognizer.
- Coverage: Medical, entertainment, and call-center applications need different vocabulary and data. Language coverage also includes dialects and code switching, not just a list of supported languages.
- Personalization: Target-speaker recognition, uncommon-word boosting, and finite-state text normalization let customers influence whose speech is recognized and how the result appears.
- Deployment: Speed competes with accuracy, while broad task coverage can compete with efficiency.
The model choice follows the application’s constraints. A versatile model is useful only if its resource requirements and response time fit the product.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Choose the decoder for the workload
CTC remains useful because its non-autoregressive decoding supports fast inference. The streaming approach described here runs recognition over chunks of audio. When that approach does not deliver the desired accuracy, RNN-T and NVIDIA’s TDT variant provide autoregressive streaming: they combine an audio encoder’s representations with an internal language-modeling component.
When streaming is less important, an attention encoder-decoder can prioritize accuracy and accommodate several tasks. Whisper is a familiar reference point for this architecture. A Transformer decoder can use prompt changes to select speech recognition, translation, timestamp prediction, or language identification.
| Decoder approach | Decoding behavior | Emphasis in the talk |
|---|---|---|
| CTC | Non-autoregressive | Fast recognition over audio chunks |
| RNN-T / TDT | Autoregressive transducer | Streaming with language context |
| Attention encoder-decoder | Attention-based sequence generation | Accuracy and multiple tasks |
These are workload choices, not a universal accuracy ranking. The relevant question is whether the application needs immediate partial results, richer task control, or a particular balance of both.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Shorten the sequence before decoding
Across these decoder choices, the common encoder is Fast Conformer. Its central change in this walkthrough is additional temporal subsampling: conventional 40 ms encoder steps become 80 ms steps. That gives downstream computation a shorter sequence to process. The 80 ms figure describes encoder-frame spacing, not end-to-end recognition latency.
Shorter encoded sequences reduce training memory pressure and the number of temporal positions processed during inference. The presenters report quicker convergence with less training data, but give no quantities or experimental conditions. Their practical reason for sharing this encoder across decoder families is that the computational savings remain useful whether the output is produced by CTC, a transducer, or an attention decoder.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Parakeet and Canary divide the work
The portfolio puts these architecture choices into two families. Riva Parakeet groups CTC and TDT offerings around fast, efficient streaming recognition. The presentation associates Parakeet with recognition, translation, and target-speaker applications. That broad application framing should not be read as translation support in every Parakeet checkpoint: the architecture documentation describes Parakeet as an ASR family and Riva Canary as supporting recognition and translation.
Canary emphasizes accuracy and multitask modeling, while still pursuing speed. Fast Conformer is shared by both families; it is not exclusive to Canary. Together, the families let a deployment choose among speed, accuracy, and task coverage instead of forcing every workload through one model. Variety is part of the system design: the goal is a model that fits the need, rather than one model expected to satisfy every need.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Connect speaker timestamps to transcript tokens
Recognizing words does not establish who said them. Sortformer extends the system with an end-to-end neural diarizer that assigns speaker order by arrival time: the speaker who appears first comes first. This ordering bridges diarization, which identifies speaker activity over time, and ASR, which must associate speaker tokens with recognized words.
A small Python example makes the ordering rule concrete. Given illustrative first-speech times, the output assigns speaker tokens in arrival order rather than in the arbitrary order of the input labels:
python
first_speech_seconds = {
"voice_b": 2.4,
"voice_a": 0.6,
}
arrival_order = sorted(
first_speech_seconds,
key=first_speech_seconds.get,
)
speaker_tokens = {
voice: f"speaker_{index}"
for index, voice in enumerate(arrival_order)
}
assert speaker_tokens == {
"voice_a": "speaker_0",
"voice_b": "speaker_1",
}
The neural diarizer supplies speaker activity; sorting alone does not detect voices or recognize their words. Its role here is to illustrate a consistent convention for connecting speaker identities to tokens.
The joint architecture fuses ASR encoder embeddings and Sortformer embeddings through a speaker kernel. This gives the recognizer speaker information alongside acoustic information, addressing who spoke what and when. Fine-tuning uses an objective described as similar to ordinary ASR training.
Optional query audio changes the task. With a query, the model can perform target-speaker ASR; without it, the model can perform multi-speaker ASR. The diagram shows the ASR encoder and Sortformer feeding the speaker kernel, a linear projection, and an RNNT decoder, with separate target-speaker and multi-speaker output examples.
The same component pairing can also operate as a conventional cascade rather than a parallel joint model. That distinction separates the architecture’s integration possibilities from a requirement to deploy every component as one end-to-end system.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Make recognized speech usable
The recognizer sits inside a larger pipeline. Supporting models address distinct problems, from selecting speech regions to producing readable text:
| Component | Function |
|---|---|
| Voice activity detection | Detect speech segments for noise robustness |
| External n-gram language model | Rescore recognition hypotheses |
| Inverse text normalization | Convert spoken forms to written forms |
| Punctuation and capitalization | Restore readable sentence formatting |
| Speaker diarization | Identify speakers across a conversation |
For VAD, the presentation names DistilBERTaVAD and MarbleNet-based models. External n-gram language models add another place to improve accuracy and adapt recognition to a customer’s vocabulary.
Normalization has two directions: text normalization converts written text into spoken form, while inverse text normalization, or ITN, converts spoken-form transcripts into readable written forms. Riva uses weighted finite-state transducers for ITN. BERT-based punctuation and capitalization models then provide sentence formatting. Sortformer supplies speaker diarization; at the time of the presentation, cascade support is described alongside upcoming joint end-to-end models.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Recognize lyrics over music
At presentation time, Travis reports that NVIDIA supplies a majority of the Hugging Face Open ASR leaderboard’s top five models. He attributes the result to customization and model variety. It is a dated leaderboard claim, not evidence that customization alone caused the ranking, and it leads into a more concrete test: recognizing a song.
The demo plays rapid rap vocals over musical accompaniment. The browser interface shows an audio waveform, playback controls, and timestamped transcript rows under a Riva Parakeet V2 demo. This is a useful qualitative example because lyrical delivery and background music move the input away from clean conversational speech.
Travis judges the transcription accurate in the noisy setting. No word error rate, comparison baseline, or detailed test configuration is supplied for the song, so the result demonstrates a particular successful example rather than a measured robustness guarantee.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Build coverage into the training data
The training discussion returns to fundamentals rather than introducing a special recipe. Robust sourcing, multilingual coverage, and dialect sensitivity begin with language documentation: understand the language well enough to decide which kinds of data the training set must contain. Open-source data contributes variety and domain shifts; proprietary data supplies a complementary emphasis on quality.
Pseudo-labeling expands the available transcripts. The team uses leading models available for commercial use to generate text from audio, allowing new training data to benefit from both community advances and NVIDIA’s own releases. The generated transcript becomes a training label, so improvements in the models producing those labels can feed into subsequent model development.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Keep training fed and validation broad
Training uses the open-source NeMo toolkit. The operational focus is GPU utilization, data bucketing, and high-speed loading through Lhotse. These tools address the practical problem of supplying enough audio efficiently across different training settings. Most of the team’s data resides in object storage, which helps it move between cluster environments.
Validation mirrors the breadth of the training sources: it combines open-source and proprietary datasets and checks bias, domain behavior, and language coverage before release. A recognizer intended for varied customer environments needs evaluation beyond a single clean benchmark; otherwise, broad training coverage can remain an assumption rather than something tested.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Serve streaming and offline workloads
After training, models move into Riva through NVIDIA NIM. TensorRT optimizations and Triton Inference Server provide the inference foundation. A gRPC microservice interface supports both low-latency streaming and high-throughput offline processing, while containers package the serving system for deployment.
The presenters describe scaling Riva to hundreds of parallel streams, without specifying the hardware, model, or latency target. Deployment targets include on-premises infrastructure, cloud environments, edge systems, and embedded platforms, serving applications such as contact centers, consumer products, and video conferencing. NIM supplies prebuilt containers, industry-standard APIs, custom-model support, and optimized inference engines.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Adapt the layer responsible for the error
Customer requirements return at deployment time. Medical terminology and restaurant menu names require domain knowledge; telephone audio and noisy contact centers impose acoustic constraints. Those problems do not all belong to the same layer, so Riva exposes several adaptation points:
- Acoustic models: Fine-tune Parakeet- or Canary-based models for the relevant audio and recognition task.
- External language models: Adapt the n-gram model to domain language.
- Output formatting: Customize punctuation and inverse text normalization to produce the written forms the application needs.
The point of this separation is to give vocabulary, acoustics, and presentation their own places to improve.
Word boosting adds a more focused option for product names, jargon, and vocabulary that matters in the current context. It biases decoding toward selected terms rather than guaranteeing that they will be recognized correctly. Stronger boosts can also introduce false positives, so the customization guidance treats boosting as a tradeoff rather than a universal correction.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Find a model, then deploy or fine-tune it
The starting point is the NVIDIA speech model catalog, where Riva models are offered through NIM. The catalog now includes later offerings as well, so model capabilities and API options should be read for the selected release rather than assumed from this presentation.
The closing resources point to a Riva quickstart for deployment, the developer forum for implementation questions, and a NeMo fine-tuning guide for adaptation. That leaves two practical paths from the architecture walkthrough: deploy an available model when it meets the application’s requirements, or customize the relevant parts of the speech pipeline when vocabulary, audio conditions, or output formatting demand more.
Suggest correction
This note stays in this page until you copy or download it. Nothing is submitted; reloading clears the draft.
Resources
From the talk
Browse NVIDIA speech models and their hosted API or self-hosted deployment options.
Tools for preparing and loading speech data for machine-learning training.
Further reading
NVIDIA's explanation of temporal downsampling and other architectural changes in Fast Conformer.
Explains arrival-order speaker supervision and connecting diarization timestamps to speaker tokens in ASR.
Research coauthored by Myungjong Kim on injecting speaker supervision into ASR and conditioning transcription on query audio.
A contemporary overview of Parakeet and Canary, their reported leaderboard positions, and a song-transcription example.
Architecture documentation for Parakeet, Canary, FastConformer, and their decoding approaches.
Practical guidance for word boosting, language-model adaptation, acoustic fine-tuning, and inverse text normalization.
Read the complete timestamped transcript
- 0:00
Hi, everyone. I'm Travis.
- 0:03
Hello, I'm Byungjoong.
- 0:04
I'm Jaehan.
- 0:06
And we're here to talk to you today about the end of awkward AI transcripts from NVIDIA.
- 0:12
So what we're gonna go over today is basically how we develop models at NVIDIA Speech, um, for NVIDIA Speech AI. We're gonna go over the model architectures, um, our main approach to how we develop models for our customer base, um, the entire development process, and our focus on deployment and customization.
- 0:32
So who are we? Well, we're with NVIDIA Riva. We focus on enterprise-level s- um, speech AI model deployment. We cover speech translation, text-to-speech development, speech recognition, speech translation. Basically everything so that, um, we can at an enterprise level allow customers to provide the best possible conversational AI that is possible.
- 0:56
And we... Our focus is generally on low latency, highly efficient models that, uh, can be used, um, on embedded devices.
- 1:06
So, um, at NVIDIA there's generally, like, four categories we focus on when we're thinking about model development. First is robustness. Are our models going to work in noisy environments a- as well as they work in clean environments?
- 1:20
What type of sound quality are we trying to meet? Are we going to worry about telephony? Are we going to worry about a bunch of environmental contamination factors? Um, we also consider ourselves with coverage.
- 1:32
What are the domains that our customer base wants? Is it gonna be medical? Is it going to be entertainment? Is it going to be, um, just straight up call center based?
- 1:42
What is the language demands that we need? Do we wanna focus on monolingual development or multilingual development? How will dialect play into our model cases? And is there a pro- problem of code switching that we should accommodate for in development?
- 1:57
We also focus on personalization. We want to make sure that our customers are able to have the exact model that they need for their needs. Sometimes we gotta focus on target speaker AI.
- 2:09
Sometimes we gotta focus on word boosting for uncommon vocabulary. Sometimes we just get down and dirty with old-fashioned text normalization FST models just to make sure that you're getting the exact output you want.
- 2:21
And then finally, we focus on deployment cases. How does speed and accuracy trade off here? Which is more important, or do we want a middle ground of the two?
- 2:30
Um, do we want our models to be, have h- high variety, or are we gonna focus on efficiency and kinda lead like, um, the Swiss ar- army knives in, in our back pocket?
- 2:42
So what type of models do we use to accomplish this? Well, if you're from a speech AI background, a lot of this is really familiar stuff. First off, we still rely on the old-fashioned CTC models, 'cause we keep finding that non-autoregression, um, decoding cases is really optimal if you need high speed inference, especially in streaming environments where
- 3:04
you can just run CTC over a, um, chunk data set, use that as a streaming model, and you can move on with your, um, next project.
- 3:14
But of course, we still like high accuracy. So when we find that just simply non-aggression is not, um, a ideal, then we s- rely on the old-fashioned RNN-T or, um, you use TDT models, which is a variant, um, developed at NVIDIA.
- 3:29
Here we've used the audio output of an encoder with an internal LM so that we can have aut- autoregressive streaming setups, um, for deployment. Then sometimes you want even more accuracy.
- 3:43
Sometimes you don't want to worry about streaming, in which case we also offer, um, attention encoder-decoder setups. We are all familiar with them at this point. Whisper, ChatGPT, LLMs, and yeah, we offer those here.
- 3:59
We find that they're really good if you want a highly accurate model, um, with less focus on alignment, and more importantly, accommodate a lot of ta- tasks within a single model.
- 4:10
We find, um, auto, um, we find transformer decoders really great when you need to incorporate speech translation, timestamp prediction, language identification, and speech recognition all within a single model with simple prompt changes.
- 4:26
But across all of our different, um, decoding platforms, we have one unifying tool, which is that our fundamental architecture is the Fast Conformer. Through a lot of empirical trials, we found that the original conformer model can be even greatly, um, subsampled so that instead of just the conventional forty millisecond time s- step compression, you can switch...
- 4:48
You can add in a next, another step of subsampling and get eighty millisecond compression. And we find that along with allowing you to have very small audio inputs and thus really lightens your memory load on training, it also makes training a lot more efficient because you can get way quicker conversions with, um, n- not as much data
- 5:10
as needed. Further, it allows really fast inference because now you're chunking all your data into just eighty millisecond time steps. And so we found that this is a really strong architecture that we have at the backbone of all of our previous m- um, decoding offerings.
- 5:27
And this allows us to split our model offerings into two options. On the left we have Riva Parakeet, which is focused on our streaming speech recognition cases, and this is where we put our CTC and our TDT models, and the focus is on streaming.
- 5:44
If you want speech recognition, speech translation, target speaker ASR, you're gonna run it through a K- Parakeet model so that you can have very fast, um, and efficient, um, recognition Meanwhile, on our other option, we have Riva Canary, which is where we put our fast conformer models.
- 6:05
This is where we focus on accuracy and mul- and multitask modeling. This is where we're going to get the best accuracy as possible while not really caring that much about speed, though we do push for strong speed.
- 6:23
And so be- being able to cover all this, we get a really, really comprehensive toolkit in which we can offer to our customers, um, a mixture of fast multitasking or high-accuracy models.
- 6:36
And most important is that our focus on we have the model to meet the need, as opposed to an idea that one model fits all. We focus on variety and coverage rather than, um, unifying and, um, keeping everything under one hood.
- 6:57
Given the success of the Parakeet ASR model, it can be easily extended to the multi-speaker and target-speaker, uh, scenario with the integration of the diarization model Sortformer. The Sortformer is a end-to-end neuron diarizer that following the rival time sorting principle.
- 7:16
In the simply words, it's standing for who comes first. So the Sortformer behaves as a bridge between the speaker timestamp from the diarization and the speaker token that can be recognized by the ASR model.
- 7:29
In our mo- in our model architecture development principle, we fuse the ASR encoder embedding and the Sortformer embedding through the speaker kernel in providing the full-fledged who spoke what and when problem.
- 7:43
And this objective, the, this model can be fine-tuned with a really simple objective similar to the any ASR model training, uh, perspective. And also, by feeding the model, or feeding the model with the option no query audio or not, we can make the model to conduct the target-speaker ASR task or the sing- or single multi-speaker, uh, ASR
- 8:06
task. And moreover, our unified model architecture consists of ASR encoder and Sortformer, but it can not only be applied in the parallel joint manner, but can also be used as the cascade system, just like conventional multi-speaker system.
- 8:26
Yeah, uh, we have additional models we offer to improve further accuracy, customization, and readability. Um, the voice activity detection, VAD, uh, detects speech segments for better noise robustness, and we offer DistilBERTaVAD and the MarbleNet-based VAD models.
- 8:47
The external language model, uh, rescores ASR transcription for better accuracy and customization. We have n-gram-based language models, uh, in our, uh, the Riva ASR pipelines. Text normalization and the inverse text normalization convert spoken terms to, uh, written forms in text for better readability, and we have, uh, the
- 9:11
WFST-based ITN models. Punctuation capitalization, PNC, uh, adds punctuation and capitalization to the transcription for better readability, and, uh, BERT-based PNC models is supported.
- 9:27
Uh, finally, the speaker diarization identifies, uh, multiple speakers in conversation, uh, and we have the Sortformer-based speaker diarization models, uh, in Cascade model, as well as the, uh, upcoming for the, uh, end-to-end, uh, models.
- 9:50
And so, um, given this level of customization, it doesn't, like, really surprise that, like, it pays off, um, when it comes to, um, rankings. On the Hugging Face Open ASR leaderboard, the majority of the top five models do come from NVIDIA, and all of it does is come down to this approach on a focus on customization and
- 10:11
variety. But, you know, rankings aren't everything. So let's try out a demo.
- 10:19
So let's say you're trying to run a recognition system, but you have a... but it, it's a song you're going over. Can our models work?
- 10:27
Living for the now, long as time allows. I'ma keep on switching different styles, keep creative on a cloud. Sweat is on my brow 'cause I'm running on these tracks just to keep the running back, you know the drill, the quarter back.
- 10:37
And I've been practicing my craft, dedicate this play to Kobe. What could be a bigger legacy than making it as-
- 10:44
Yeah, seems to work pretty well. Accurate transcription even in a noisy setting.
- 10:53
Okay, so that's our architectures, that's our approach to development. So how does it actually go into training? Is there anything special we do with training to, um, uh, to meet this demand?
- 11:04
And the answer is honestly not really. We really focus on to met the fundamentals when it comes to data development. Like many labs, um, our focus is on robustness when it comes to sourcing data, multilingual coverage, and a, a, an ear for dialect sensitivity.
- 11:22
We try and get as much language documentation as possible before, um, so that we know exactly what type of data spans we wanna get. We incorporate both open source and proprietary data, with the former allowing us to focus on variety and domain shift, while the latter lets us focus on high-quality NC data.
- 11:44
We incorporate pseudo-labeling, where we use, um, the top-of-the-line models that are available for commercial use, and we take transcripts from them, allowing us to benefit from further developments in the community and further developments from our own releases.
- 12:01
And then for training, again, a lot of it is just standard available stuff. Um, the NeMo research, um, toolkit that is used for our model training is an open source available, um, library available for anyone in the community to use.
- 12:19
It's, um, it's tools for GPU maximalization, data bucketing, um, high-speed data loading through the Lodse backend, all available for just general use. And so we just focus on this approach where we can maximize our data, we can maximize the, um, speed in which we can ingest data across different settings.
- 12:41
Most of our data is in stored on a object store infrastructure in which we can quickly migrate between different cluster settings.
- 12:50
And then for validation, just as much as with training, we focus on a nice mixture of coverage in both open source and proprietary data. We make sure that by the time data be-- by the time our models actually reach end users, we've gone through as much, um, bias and domain testing as possible across all possible language categories,
- 13:14
just to make sure that our models are as robust as possible.
- 13:22
The trained model, uh, is now deployed to, uh, NVIDIA Riva through NVIDIA NIM for low latency and high throughput inference. The high performance, uh, inference is powered by NVIDIA TensorRT optimizations, um, and the NVIDIA Triton Inference Server.
- 13:41
And it is available for gRPC-based microservice for low latency streaming, as well as the high throughput offline use cases. The NVIDIA Riva is fully containerized, and it can, uh, easily scale to hundreds of the, um, the parallel streams, and, uh, it can be run on-prem in any cloud at the edge or, uh, embedded platforms to
- 14:05
support a variety of the applications, including contact centers, consumer applications, and video conferencing.
- 14:15
NVIDIA NIM offers prebuilt container industry-standard API support for custom models, uh, and optimized inference engines.
- 14:27
So one of the pain point in real scenarios from customers is, um, customization, because every use case, um, uh, every application requires domain knowledge, including the medical terms in medical use case, um, menu names in food ordering, and, um, some of the acoustic conditions, telephony, uh, and noisy environment in contact
- 14:52
centers. So NVIDIA, uh, Riva offers, um, the, uh, customization features at every stages. So, uh, we can fine-tune our acoustic model from the Parakeet-based model, Canary-based models, and then we can fine-tune the n-gram, um, external language model, punctuation model, and the inverse text normalization models.
- 15:17
And also we offer the word boosting to, uh, recognize, uh, better on some of the, uh, product names, jargon, and context-specific, uh, knowledges.
- 15:32
So, um, we are offering our, uh, the Riva models in NVIDIA NIM. So, um, you can, um, visit, uh, our website, build.nvidia.com/explore/speech.
- 15:47
Then you can find more, um, the available, uh, Riva models, uh, in the website.
- 15:56
Here is the more thing, uh, how to get started with NVIDIA Riva, uh, quick starter guide, uh, developers pro-- uh, developers forum, and, uh, uh, the fine-tuning guide, how to fine-tune our models in the, in, uh, NeMo frameworks.
- 16:19
Yeah, so that's it. Thank you.
- 16:22
Thank you, everyone.
- 16:22
Thank you