Views
No views yet
1import torch
2import librosa
3from transformers import AutoProcessor, AutoModelForSpeechSeq2Seq
4
5processor = AutoProcessor.from_pretrained("iiBLACKii/Gujarati_VDB_Fine_Tune_2")
6model = AutoModelForSpeechSeq2Seq.from_pretrained("iiBLACKii/Gujarati_VDB_Fine_Tune_2")
7
8device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
9model.to(device)
10
11def preprocess_audio(file_path, sampling_rate=16000):
12 audio_array, sr = librosa.load(file_path, sr=None)
13 if sr != sampling_rate:
14 audio_array = librosa.resample(audio_array, orig_sr=sr, target_sr=sampling_rate)
15 return audio_array
16
17def transcribe_and_translate_audio(audio_path):
18 audio_array = preprocess_audio(audio_path)
19
20 input_features = processor(audio_array, return_tensors="pt", sampling_rate=16000).input_features
21
22 input_features = input_features.to(device)
23
24 with torch.no_grad():
25 predicted_ids = model.generate(input_features, max_length=400, num_beams=5)
26
27 transcription_or_translation = processor.batch_decode(predicted_ids, skip_special_tokens=True)
28 return transcription_or_translation[0]
29
30if __name__ == "__main__":
31 audio_file_path = "" # .wav file path
32 print("Transcribing and Translating audio...")
33 result = transcribe_and_translate_audio(audio_file_path)
34 print(f"Result: {result}")
351
2import torch
3import librosa
4from transformers import WhisperProcessor, WhisperForConditionalGeneration, AutoConfig
5
6repo_name = "iiBLACKii/Gujarati_VDB_Fine_Tune_2"
7
8processor = WhisperProcessor.from_pretrained(repo_name)
9
10config = AutoConfig.from_pretrained(repo_name)
11
12model = WhisperForConditionalGeneration.from_pretrained(repo_name, config=config)
13
14
15device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
16model.to(device)
17
18def preprocess_audio(file_path, sampling_rate=16000):
19 audio_array, sr = librosa.load(file_path, sr=None)
20 if sr != sampling_rate:
21 audio_array = librosa.resample(audio_array, orig_sr=sr, target_sr=sampling_rate)
22 return audio_array
23
24def transcribe_audio(audio_path):
25 audio_array = preprocess_audio(audio_path)
26
27 input_features = processor.feature_extractor(
28 audio_array, sampling_rate=16000, return_tensors="pt"
29 ).input_features
30
31 input_features = input_features.to(device)
32
33 with torch.no_grad():
34 predicted_ids = model.generate(
35 input_features,
36 max_new_tokens=400,
37 num_beams=5,
38 )
39
40 transcription = processor.tokenizer.batch_decode(predicted_ids, skip_special_tokens=True)
41 return transcription[0]
42
43if __name__ == "__main__":
44 audio_file_path = "" #.wav file path
45
46 print("Transcribing audio...")
47 transcription = transcribe_audio(audio_file_path)
48 print(f"Transcription: {transcription}")