Views
No views yet
pip install transformers torch torchaudio datasets1from transformers import WhisperProcessor, WhisperForConditionalGeneration
2from huggingface_hub import snapshot_download
3import torchaudio
4
5# Download model
6model_path = snapshot_download('undertheseanlp/asr-1')
7
8# Load model and processor
9processor = WhisperProcessor.from_pretrained(model_path)
10model = WhisperForConditionalGeneration.from_pretrained(model_path)
11
12# Transcribe audio
13waveform, sample_rate = torchaudio.load("audio.wav")
14if sample_rate != 16000:
15 waveform = torchaudio.transforms.Resample(sample_rate, 16000)(waveform)
16
17input_features = processor(
18 waveform.squeeze().numpy(),
19 sampling_rate=16000,
20 return_tensors="pt"
21).input_features
22
23predicted_ids = model.generate(input_features, language="vi", task="transcribe")
24transcription = processor.batch_decode(predicted_ids, skip_special_tokens=True)[0]
25print(transcription)1from asr import AsrTranscriber, transcribe
2
3# Quick transcription
4text = transcribe("audio.wav")
5print(text)
6
7# With model instance
8transcriber = AsrTranscriber.load("models/asr-1")
9result = transcriber.transcribe("audio.wav")
10print(result.text)
11print(result.confidence)1uv run src/train.py
2uv run src/train.py --base-model openai/whisper-large-v3 --dataset common_voice
3uv run src/train.py --wandb --wandb-project asr-11uv run src/evaluate.py --model models/asr-1
2uv run src/evaluate.py --model models/asr-1 --dataset vivos| Dataset | Split | Hours | Samples |
|---|---|---|---|
| Common Voice 17.0 (vi) | train | ~30h | ~25,000 |
| Common Voice 17.0 (vi) | test | ~5h | ~5,000 |
| VIVOS | train | 15h | 11,660 |
| VIVOS | test | 0.6h | 760 |
1@article{radford2022whisper,
2 title={Robust Speech Recognition via Large-Scale Weak Supervision},
3 author={Radford, Alec and Kim, Jong Wook and Xu, Tao and Brockman, Greg and McLeavey, Christine and Sutskever, Ilya},
4 journal={arXiv preprint arXiv:2212.04356},
5 year={2022}
6}