Views
No views yet
1import torch
2from datasets import load_dataset
3from transformers import AutoModelForCTC, AutoProcessor
4import torchaudio.functional as F
5
6model_id = "microsoft/unispeech-1350-en-168-es-ft-1h"
7
8sample = next(iter(load_dataset("common_voice", "es", split="test", streaming=True)))
9resampled_audio = F.resample(torch.tensor(sample["audio"]["array"]), 48_000, 16_000).numpy()
10
11model = AutoModelForCTC.from_pretrained(model_id)
12processor = AutoProcessor.from_pretrained(model_id)
13
14input_values = processor(resampled_audio, return_tensors="pt").input_values
15
16with torch.no_grad():
17 logits = model(input_values).logits
18
19prediction_ids = torch.argmax(logits, dim=-1)
20transcription = processor.batch_decode(prediction_ids)
21# -> gives:
22# b j e n i k e ɾ ɾ e ɣ a l o a s a β ɾ i ɾ p ɾ i m e ɾ o'
23# for: Bien . ¿ y qué regalo vas a abrir primero ?