Views
No views yet
1from transformers import Wav2Vec2ForCTC, Wav2Vec2Processor
2import torch
3import torchaudio
4
5# Carregar modelo e processador
6processor = Wav2Vec2Processor.from_pretrained("vozes-da-cabeca/wav2vec2-portuguese-wpp-checkpoint-1000")
7model = Wav2Vec2ForCTC.from_pretrained("vozes-da-cabeca/wav2vec2-portuguese-wpp-checkpoint-1000")
8
9# Carregar áudio (16kHz, mono)
10speech_array, sampling_rate = torchaudio.load("audio.wav")
11
12# Reamostrar se necessário
13if sampling_rate != 16000:
14 resampler = torchaudio.transforms.Resample(sampling_rate, 16000)
15 speech_array = resampler(speech_array)
16
17# Pré-processar
18input_values = processor(speech_array.squeeze(), sampling_rate=16000, return_tensors="pt").input_values
19
20# Inferência
21with torch.no_grad():
22 logits = model(input_values).logits
23
24# Decodificar
25predicted_ids = torch.argmax(logits, dim=-1)
26transcription = processor.batch_decode(predicted_ids)[0]
27
28print(transcription)