Automatic Speech Recognition
Transformers
Safetensors
Maltese
whisper
common-voice
mozilla-data-collective
Instructions to use titaniumbones/whisper-small-mt-commonvoice with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use titaniumbones/whisper-small-mt-commonvoice with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("automatic-speech-recognition", model="titaniumbones/whisper-small-mt-commonvoice")# Load model directly from transformers import AutoProcessor, AutoModelForSpeechSeq2Seq processor = AutoProcessor.from_pretrained("titaniumbones/whisper-small-mt-commonvoice") model = AutoModelForSpeechSeq2Seq.from_pretrained("titaniumbones/whisper-small-mt-commonvoice", device_map="auto") - Notebooks
- Google Colab
- Kaggle
| language: mt | |
| license: apache-2.0 | |
| library_name: transformers | |
| tags: | |
| - whisper | |
| - automatic-speech-recognition | |
| - common-voice | |
| - mozilla-data-collective | |
| metrics: | |
| - wer | |
| base_model: openai/whisper-small | |
| # openai/whisper-small fine-tuned on Common Voice 26.0 β Maltese | |
| `openai/whisper-small` fine-tuned for Maltese (mt) automatic speech recognition | |
| on Mozilla Common Voice Scripted Speech 26.0, trained on a laptop | |
| (Apple M3 Pro, PyTorch MPS backend, fp32). | |
| ## Results | |
| | Model | Raw WER | Normalized WER | Test clips | | |
| |---|---|---|---| | |
| | whisper-base fine-tuned | 105.7% | 94.1% | 300 | | |
| | whisper-base zero-shot | 107.6% | 134.7% | 300 | | |
| | whisper-small fine-tuned | 46.7% | 38.9% | 300 | | |
| | whisper-small zero-shot | 110.1% | 100.6% | 300 | | |
| Zero-shot Whisper barely functions on Maltese (β1 h of it in the | |
| original training mix); the WER delta above is what a few hours of | |
| community-donated Common Voice speech and a laptop fine-tune buy. WER | |
| computed on the official Common Voice test split (speaker-disjoint from | |
| training data β note the training split draws on only 6 | |
| speakers, which limits generalization; see Limitations). "Normalized" | |
| applies `BasicTextNormalizer` (lowercase, strip punctuation) to both | |
| reference and hypothesis. | |
| ## Data provenance | |
| - **Source:** Mozilla Common Voice Scripted Speech **26.0**, | |
| Maltese (mt), obtained via the | |
| [Mozilla Data Collective](https://datacollective.mozillafoundation.org/) | |
| (since October 2025 the exclusive distribution channel for Common Voice | |
| datasets β the former `mozilla-foundation/common_voice_*` datasets on this | |
| Hub are empty shells). | |
| - **License:** the underlying speech data is **CC0**. | |
| - **Used here:** 3000 training clips (~3.77 h, | |
| 6 speakers), 200 dev clips, 300 test clips, | |
| official splits, clips 1β15 s. | |
| - The prepared audio dataset is deliberately **not** re-uploaded to this Hub; | |
| get the data from the Mozilla Data Collective. | |
| ## Training | |
| Standard Hugging Face `Seq2SeqTrainer` recipe | |
| ([fine-tune-whisper](https://huggingface.co/blog/fine-tune-whisper)): | |
| batch 4 Γ grad-accum 4, lr 1e-05, warmup 50, | |
| 1000 steps, fp32 (MPS), gradient checkpointing, greedy decoding, | |
| best-checkpoint-by-WER selection. | |
| ## Limitations | |
| - Single low-resource language, ~3.77 h of scripted (read) speech | |
| from only **6 speakers** (the corpus's many one-clip | |
| contributors are concentrated in the held-out splits) β expect degradation | |
| on spontaneous/conversational audio and unseen voices. | |
| - Small test set (300 clips); WER has meaningful variance. | |
| - No punctuation/casing guarantees; laptop-scale training run, not a | |
| production model. | |
| ## Usage | |
| ```python | |
| from transformers import pipeline | |
| asr = pipeline("automatic-speech-recognition", model="titaniumbones/whisper-small-mt-commonvoice") | |
| print(asr("clip.mp3", generate_kwargs={"language": "maltese"})) | |
| ``` | |