Instructions to use BotgenossenGmbH/nemotron-3.5-asr-de-telephony with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- NeMo
How to use BotgenossenGmbH/nemotron-3.5-asr-de-telephony with NeMo:
import nemo.collections.asr as nemo_asr asr_model = nemo_asr.models.ASRModel.from_pretrained("BotgenossenGmbH/nemotron-3.5-asr-de-telephony") transcriptions = asr_model.transcribe(["file.wav"]) - Notebooks
- Google Colab
- Kaggle
Nemotron 3.5 ASR German Telephony Adaptation
This repository contains a lightweight domain adaptation of
nvidia/nemotron-3.5-asr-streaming-0.6b
for German telephony-style audio.
The model was fine-tuned on 25 hours of German VoxPopuli speech after simulating G.711 A-law telephone audio. The goal is not to claim a new state of the art; it is to show a practical, reproducible adaptation pass for a local voice stack where narrowband/telephone audio is a common failure mode.
We built this checkpoint after seeing that German telephone-like audio was one of the weaker conditions in our local voice pipeline. After fine-tuning, the same evaluation setup showed a measurable improvement on held-out telephony-style German audio, so we packaged the resulting NeMo artifact as a reusable starting point for German phone-audio ASR experiments.
Model File
The fine-tuned NeMo artifact is:
nemotron-3.5-asr-de-telephony.nemo
What Changed
Starting from the NVIDIA Nemotron 3.5 ASR streaming 0.6B checkpoint, we fine-tuned on German speech converted through this telephony degradation chain:
source audio -> 16 kHz mono WAV -> 8 kHz G.711 A-law -> 16 kHz mono WAV
This keeps the model input at 16 kHz, while exposing the model to the bandwidth and codec artifacts of 8 kHz A-law telephone audio.
In practical terms, this is a compact domain-adaptation run: the model remains the same multilingual streaming ASR architecture, but its weights were adapted toward the kind of German audio we expect in local telephony and voice-agent workflows.
Training Data
- Source dataset:
facebook/voxpopuli - Language: German (
de) - Source license:
cc0-1.0 - Training subset used here: 25.0 h exported from VoxPopuli German
- Final split after telephony conversion:
- Train: 8,431 utterances, 19.948 h
- Validation: 1,054 utterances, 2.500 h
- Test: 1,054 utterances, 2.552 h
Important limitation: VoxPopuli is parliamentary/broadcast-style speech, not real call-center audio. The telephone condition here is simulated, not captured from real PSTN or contact-center traffic.
Fine-Tuning Setup
- Base model:
nvidia/nemotron-3.5-asr-streaming-0.6b - Framework: NVIDIA NeMo
- Precision:
bf16-mixed - Epochs: 8
- Batch size: 48
- Optimizer: AdamW inherited from the base config
- Learning rate:
5e-5 - Scheduler: cosine,
warmup_steps=500,min_lr=1e-6 - Best checkpoint selected by validation WER
- Best checkpoint:
best-step=1264-val_wer=0.1168.ckpt - Final
.nemoexported after restoring the best validation checkpoint
Evaluation
Evaluation was run on the held-out VoxPopuli German telephony-style test split with German prompt conditioning and language-tag stripping enabled.
| Model | Test set | WER | CER |
|---|---|---|---|
Base nvidia/nemotron-3.5-asr-streaming-0.6b |
1,054 utts | 14.81% | 7.82% |
| This fine-tuned model | 1,054 utts | 12.42% | 6.86% |
Absolute WER improvement: 2.39 percentage points.
Relative WER reduction: 16.1% fewer word errors compared with the base model on this test split.
Intended Use
This model is intended as an experimental German ASR telephony adaptation and as a starting point for further in-domain fine-tuning. It may be useful for:
- local German voice-agent stacks with telephone-like audio
- quick evaluation of G.711 A-law domain adaptation
- follow-up fine-tuning on real call-center or telephony recordings
- teams that want a concrete example of adapting a strong ASR base model to a narrower audio domain
This checkpoint was packaged from a local fine-tuning run used to validate our German telephone-audio pipeline. The included metrics are from the held-out VoxPopuli telephony-style test split; users should still run their own evaluation on their target audio before making product decisions.
Not Intended For
This model should not be presented as:
- a state-of-the-art German ASR model
- a validated production call-center ASR benchmark
- a replacement for testing on real target-domain audio
Before production use, evaluate on real deployment audio, including different speakers, microphones, noise conditions, and streaming chunk settings.
Loading With NeMo
from nemo.collections.asr.models import ASRModel
model = ASRModel.restore_from("nemotron-3.5-asr-de-telephony.nemo")
model.decoding.set_strip_lang_tags(True)
transcripts = model.transcribe(["audio.wav"], target_lang="de")
print(transcripts)
For deployment-faithful numbers, evaluate with the official Nemotron streaming inference path and the same chunk size used in production.
License And Attribution
This fine-tuned artifact is derived from
nvidia/nemotron-3.5-asr-streaming-0.6b,
which is published under the openmdw-1.1
license on Hugging Face.
Training data came from
facebook/voxpopuli, which
is listed on Hugging Face with cc0-1.0 licensing.
Please review the base model license and terms before redistribution or commercial deployment.
- Downloads last month
- 46
Model tree for BotgenossenGmbH/nemotron-3.5-asr-de-telephony
Base model
nvidia/nemotron-3.5-asr-streaming-0.6b