Downloads · 30 days
19
12% of all-time downloads
yuriyvnv/whisper-large-v3-cv-only-pt
whisper-large-v3-cv-only-pt is a automatic speech recognition model from yuriyvnv. Use it when you need speech turned into text. It is set up for transformers. The card lists the license as apache-2.0.
This model is a fine-tuned version of openai/whisper-large-v3 for Portuguese automatic speech recognition (ASR). It was trained exclusively on Common Voice 17.0 Portuguese without any synthetic data augmentation, serv…
Downloads · 30 days
19
12% of all-time downloads
All-time downloads
164
Public
Parameters
1.5B
24.7 GB on disk
Likes
0
Public
Click a slice to open those files.
.safetensors6.2 GB · 100%
From the Hugging Face model README
This model is a fine-tuned version of openai/whisper-large-v3 for Portuguese automatic speech recognition (ASR). It was trained exclusively on Common Voice 17.0 Portuguese without any synthetic data augmentation, serving as the baseline for evaluating the impact of synthetic speech in ASR training.
This baseline model demonstrates the performance achievable using only real, crowdsourced speech data from Common Voice 17.0. It serves as a reference point for comparing the effectiveness of synthetic data augmentation approaches, including:
The model is part of a comprehensive study on WAVe (Word-Aligned Verification) filtering for Portuguese ASR, published in IEEE Access 2024.
| Property | Value |
|---|---|
| Base Model | openai/whisper-large-v3 |
| Language | Portuguese (pt) |
| Task | Automatic Speech Recognition (transcribe) |
| Parameters | 1550M |
| Training Data | Common Voice 17.0 Portuguese (Real Speech Only) |
| Total Training Samples | 21,866 |
| Sampling Rate | 16kHz |
| Metric | Value |
|---|---|
| Validation Loss | 0.1260 |
| Validation WER | 11.38% |
| Test WER (Common Voice) | 11.78% |
| Test WER (MLS) | 15.31% |
| Best Checkpoint | Step 150 |
| Max Training Steps | 430 |
| Training Data | Max Steps | Val Loss | Val WER | Test WER (CV) | Test WER (MLS) | MLS Improvement |
|---|---|---|---|---|---|---|
| Common Voice Only (Baseline) | 430 | 0.1260 | 11.38% | 11.78% | 15.31% | — |
| High-Quality (q ≥ 0.8) + CV | 575 | 0.1045 | 7.33% | 7.94% | 12.41% | +18.9% |
| Mid-High (q ≥ 0.5) + CV | 805 | 0.1040 | 7.73% | 8.33% | 10.27% | +32.9% |
| All Synthetic + CV | 860 | 0.1050 | 7.57% | 8.33% | 13.43% | +12.3% |
| Source | Samples | Description |
|---|---|---|
| Common Voice 17.0 Portuguese | 21,866 | Real crowdsourced speech |
| Synthetic Data | 0 | No synthetic augmentation |
| Total | 21,866 |
Common Voice is Mozilla's open-source, crowdsourced speech dataset:
| Parameter | Value |
|---|---|
| Learning Rate | 5e-6 |
| Batch Size (Global) | 256 |
| Warmup Steps | 200 |
| Max Epochs | 5 |
| Precision | BF16 |
| Optimizer | AdamW (fused) |
| Eval Steps | 50 |
| Metric for Best Model | eval_loss |
from transformers import pipeline
transcriber = pipeline(
"automatic-speech-recognition",
model="yuriyvnv/whisper-large-v3-cv-only-pt",
device="cuda"
)
result = transcriber("path/to/portuguese_audio.wav")
print(result["text"])
from transformers import WhisperProcessor, WhisperForConditionalGeneration
import librosa
processor = WhisperProcessor.from_pretrained("yuriyvnv/whisper-large-v3-cv-only-pt")
model = WhisperForConditionalGeneration.from_pretrained("yuriyvnv/whisper-large-v3-cv-only-pt")
model.to("cuda")
audio, sr = librosa.load("path/to/portuguese_audio.wav", sr=16000)
input_features = processor(audio, sampling_rate=16000, return_tensors="pt").input_features.to("cuda")
predicted_ids = model.generate(input_features)
transcription = processor.batch_decode(predicted_ids, skip_special_tokens=True)[0]
print(transcription)
model.generation_config.language = "pt"
model.generation_config.task = "transcribe"
This baseline model is ideal when:
Consider synthetic-augmented variants for better performance:
This baseline enables quantifying the value of synthetic speech for Portuguese:
| Metric | CV-Only | + Synthetic (best) | Improvement |
|---|---|---|---|
| Training Steps | 430 | 575 | +34% |
| Dataset Size | 21,866 | 29,178 | +33% |
| Test WER (CV) | 11.78% | 7.94% | +32.6% |
| Test WER (MLS) | 15.31% | 10.27% | +32.9% |
Key insight: Synthetic data augmentation provides dramatic improvements for Portuguese ASR across both in-domain and cross-domain benchmarks, with relatively modest increases in training time.
This model is part of research on WAVe (Word-Aligned Verification) for synthetic speech quality assessment. While the WAVe methodology paper is currently under review, please cite our previous work that motivated this research:
@article{perezhohin2024enhancing,
title={Enhancing Automatic Speech Recognition: Effects of Semantic Audio Filtering on Models Performance},
author={Perezhohin, Yuriy and Santos, Tiago and Costa, Victor and Peres, Fernando and Castelli, Mauro},
journal={IEEE Access},
year={2024},
publisher={IEEE}
}
@article{perezhohin2026wave,
title={WAVe: Word-aligned verification of synthetic speech for ASR},
author={Perezhohin, Yuriy and Castelli, Mauro},
journal={Information Sciences},
pages={123591},
year={2026},
publisher={Elsevier}
}
Apache 2.0