CoolFace
Modelpublic

yuriyvnv/whisper-tiny-high-mixed-pt

sourceHugging Faceapache-2.0updated 4mo agoView on Hugging Face
0likes98downloads
Model Card

Whisper-Tiny Portuguese - High-Quality Filtered Synthetic Data (Best Tiny Configuration)

This model is a fine-tuned version of openai/whisper-tiny for Portuguese automatic speech recognition (ASR). It was trained on Common Voice 17.0 Portuguese combined with WAVe-filtered high-quality synthetic speech data using a strict threshold (q ≥ 0.8).

Purpose

This model represents the best configuration for Whisper-Tiny Portuguese, achieving a 1.39 percentage point improvement over the CV-only baseline. However, the paper emphasizes that this gain is modest:

"The Portuguese Whisper-Tiny model achieves its lowest test WER of 29.33% using the high-quality filtered subset, an improvement of just 1.39 percentage points over the Common Voice baseline of 30.72%. This modest gain offers limited justification for the additional data filtering and preprocessing overhead."

This model demonstrates that while high-quality filtering provides the best results for Tiny, the improvement is marginal compared to the dramatic gains seen with Large-v3 models (+32.6%).

Model Details

PropertyValue
Base Modelopenai/whisper-tiny
LanguagePortuguese (pt)
TaskAutomatic Speech Recognition (transcribe)
Parameters39M
Training DataCommon Voice 17.0 + High-Quality Synthetic (q ≥ 0.8)
Total Training Samples29,178
Sampling Rate16kHz

Evaluation Results

This Model (whisper-tiny-high-mixed-pt)

MetricValue
Validation Loss0.4481
Validation WER26.74%
Test WER (Common Voice)29.33%
Test WER (MLS)44.18%
Best CheckpointStep 350
Max Training Steps575

Comparison with Other Training Configurations (Whisper-Tiny Portuguese)

Training DataMax StepsVal LossVal WERTest WER (CV)Test WER (MLS)
Common Voice Only4300.446327.05%30.72%45.83%
High-Quality (q ≥ 0.8) + CV5750.448126.74%29.33%44.18%
Mid-High (q ≥ 0.5) + CV8050.455026.95%30.11%47.25%
All Synthetic + CV8600.451728.06%29.84%46.54%

Key Performance Highlights

  • Best Tiny configuration: Lowest Test WER (29.33%) and MLS WER (44.18%)
  • Modest improvement: Only 1.39% better than baseline on in-domain
  • Best cross-domain: 44.18% MLS WER (best among Tiny configurations)
  • Quality threshold matters: Strict q ≥ 0.8 filtering provides best results for Tiny

Tiny vs Large: Synthetic Data Impact

The contrast with Large-v3 models illustrates the architectural capacity limitation:

ModelHigh-Quality Synthetic ImpactTest WERvs Baseline
Whisper-TinyBest config, but marginal29.33%+1.39% (4.5% relative)
Whisper-Large-v3Dramatic improvement7.94%+3.84% (32.6% relative)

For Large-v3, high-quality synthetic data reduces WER by 32.6%. For Tiny, the same approach yields only 4.5% relative improvement.

Training Data

Dataset Composition

SourceSamplesDescription
Common Voice 17.0 Portuguese21,866Real speech from Mozilla's crowdsourced dataset
Synthetic Transcript PT (q ≥ 0.8)7,312Strictly WAVe-filtered TTS audio (high quality only)
Total29,178

WAVe Quality Distribution (Portuguese Synthetic Data)

Quality LevelSamplesPercentageUsed in This Model
High (q ≥ 0.8)7,31233.3%
Medium (0.5 ≤ q < 0.8)11,86954.0%
Low (q < 0.5)2,78712.7%

This strict threshold retains only the top 33.3% of synthetic samples, which proves optimal for Tiny models that cannot handle noisier data.

Training Procedure

Hyperparameters

ParameterValue
Learning Rate5e-5
Batch Size (Global)256
Warmup Steps200
Max Epochs5
PrecisionBF16
OptimizerAdamW (fused)
Eval Steps50
Metric for Best Modeleval_loss

Training Infrastructure

  • GPU: NVIDIA H200 (140GB VRAM)
  • Operating System: Ubuntu 22.04
  • Framework: Hugging Face Transformers

Usage

Transcription Pipeline

python
from transformers import pipeline

transcriber = pipeline(
    "automatic-speech-recognition",
    model="yuriyvnv/whisper-tiny-high-mixed-pt",
    device="cuda"
)

result = transcriber("path/to/portuguese_audio.wav")
print(result["text"])

Direct Model Usage

python
from transformers import WhisperProcessor, WhisperForConditionalGeneration
import librosa

processor = WhisperProcessor.from_pretrained("yuriyvnv/whisper-tiny-high-mixed-pt")
model = WhisperForConditionalGeneration.from_pretrained("yuriyvnv/whisper-tiny-high-mixed-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)

Specifying Language

python
model.generation_config.language = "pt"
model.generation_config.task = "transcribe"

When to Use This Model

This model is ideal when:

  • Best Tiny accuracy needed: 29.33% WER (best among Tiny configurations)
  • Resource-constrained deployment: 39M parameters for edge devices
  • Cross-domain robustness for Tiny: Best MLS performance (44.18%)
  • Quality-filtered augmentation available: Have WAVe-scored synthetic data

Consider alternatives based on your needs:

Research Implications

This model demonstrates an important finding:

High-quality filtering is necessary but not sufficient for smaller models.

For Tiny models:

  • Quality filtering (q ≥ 0.8) is the only configuration that helps
  • Mid-high quality (q ≥ 0.5) actually hurts performance vs baseline
  • Unfiltered data provides worse results than strict filtering
  • The improvement is marginal regardless of filtering quality

Recommendation: For resource-constrained deployments, the baseline CV-only model may be more practical given the marginal 1.39% improvement doesn't justify the additional preprocessing complexity.

Limitations

  • Lower accuracy than larger models: 29.33% vs 7.94% (Large-v3)
  • Marginal improvement over baseline: Only 1.39 percentage points
  • Limited capacity: Cannot fully leverage synthetic data benefits
  • Domain specificity: Optimized for general Portuguese
  • Dialect coverage: Performance may vary across Portuguese regional variants

Citation

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:

bibtex
@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}
}

References

License

Apache 2.0