Results
Test set: 2,060 clips from speakers who do not appear in training
(5.6 h). Decoding: beam size 5, language="latin".
Before scoring, both reference and prediction are normalized: diacritics
(macrons) stripped, lowercased, v→u, j→i, digits and punctuation removed.
Table with columns: Model, WER %, CER %| Model | WER % | CER % |
|---|
| latin_whisper-large-v3-turbo (this model) | 13.01 | 2.74 |
openai/whisper-large-v3-turbo (no fine-tuning) | 35.55 | 8.03 |
Splits (splits.json) are included in this repository.
Usage
from transformers import pipelineasr = pipeline("automatic-speech-recognition", model="Ken-Z/latin_whisper-large-v3-turbo")print(asr("clip.wav", generate_kwargs={"language": "latin", "task": "transcribe"})["text"])
For audio longer than 30 seconds, add chunk_length_s=30 to the asr(...) call.
Output is lowercase Latin without macrons or punctuation, written with u and i (no v or j).
Training
- Base model:
openai/whisper-large-v3-turbo
- Data: Vox Classica train split (58.2 h), speaker-held-out validation and test
- Hyperparameters: lr 1e-05, 500 warmup steps, batch 16, 3 epochs, optimizer adamw_bnb_8bit, SpecAugment
- Best checkpoint chosen by validation WER
Limitations
- Trained in restored Classical pronunciation. Expect higher error on Ecclesiastical pronunciation.
- No macrons (vowel length), punctuation or capitalization in the output.
Data credits
Vox Classica (CC-BY-4.0)