Views
No views yet
1from transformers import Wav2Vec2Processor, Wav2Vec2ForCTC
2import torch
3import torchaudio
4
5# load model and processor
6processor = Wav2Vec2Processor.from_pretrained("ivangtorre/wav2vec2-xlsr-300m-bribri")
7model = Wav2Vec2ForCTC.from_pretrained("ivangtorre/wav2vec2-xlsr-300m-bribri")
8
9# Pat to wav file
10pathfile = "/path/to/wavfile"
11
12# Load and normalize the file
13wav, curr_sample_rate = sf.read(pathfile, dtype="float32")
14feats = torch.from_numpy(wav).float()
15with torch.no_grad():
16 feats = F.layer_norm(feats, feats.shape)
17feats = torch.unsqueeze(feats, 0)
18logits = model(feats).logits
19
20# take argmax and decode
21predicted_ids = torch.argmax(logits, dim=-1)
22transcription = processor.batch_decode(predicted_ids)
23print("HF prediction: ", transcription)1from datasets import load_dataset
2from transformers import Wav2Vec2ForCTC, Wav2Vec2Processor
3import torch
4from jiwer import cer
5import torch.nn.functional as F
6from datasets import load_dataset
7import soundfile as sf
8
9americasnlp = load_dataset("ivangtorre/second_americas_nlp_2022", "bribri", split="dev")
10guarani = americasnlp.filter(lambda language: language['subset']=='bribri')
11
12model = Wav2Vec2ForCTC.from_pretrained("ivangtorre/wav2vec2-xlsr-300m-bribri")
13processor = Wav2Vec2Processor.from_pretrained("ivangtorre/wav2vec2-xlsr-300m-bribri")
14
15def map_to_pred(batch):
16 wav = batch["audio"][0]["array"]
17 feats = torch.from_numpy(wav).float()
18 feats = F.layer_norm(feats, feats.shape) # Normalization performed during finetuning
19 feats = torch.unsqueeze(feats, 0)
20 logits = model(feats).logits
21 predicted_ids = torch.argmax(logits, dim=-1)
22 batch["transcription"] = processor.batch_decode(predicted_ids)
23 return batch
24
25result = guarani.map(map_to_pred, batched=True, batch_size=1)
26
27print("CER:", cer(result["source_processed"], result["transcription"]))1@article{romero2024automatic,
2 title={Automatic Speech Recognition Advancements for Indigenous Languages of the Americas},
3 author={Romero, Monica and G{\'o}mez-Canaval, Sandra and Torre, Ivan G},
4 journal={Applied Sciences},
5 volume={14},
6 number={15},
7 pages={6497},
8 year={2024},
9 publisher={MDPI}
10}}