Views
No views yet
1import soundfile as sf
2import torch
3from datasets import load_dataset
4from transformers import Wav2Vec2ForCTC, Wav2Vec2Processor
5
6# load pretrained model
7processor = Wav2Vec2Processor.from_pretrained("scottykwok/wav2vec2-large-xlsr-cantonese")
8model = Wav2Vec2ForCTC.from_pretrained("scottykwok/wav2vec2-large-xlsr-cantonese")
9
10# load audio - must be 16kHz mono
11audio_input, sample_rate = sf.read('audio.wav')
12
13# pad input values and return pt tensor
14input_values = processor(audio_input, sampling_rate=sample_rate, return_tensors="pt").input_values
15
16# INFERENCE
17# retrieve logits & take argmax
18logits = model(input_values).logits
19predicted_ids = torch.argmax(logits, dim=-1)
20
21# transcribe
22transcription = processor.decode(predicted_ids[0])
23print("-" *20)
24print("Transcription:\n", transcription.lower())
25print("-" *20)
26