Views
No views yet
1!pip install git+https://github.com/m-bain/whisperx.git
2
3import whisperx
4import time
5
6# Setting
7device = "cuda"
8audio_file = "audio.mp3"
9batch_size = 16
10compute_type = "float16"
11
12"""
13Your Hugging Face token for the Diarization model is required.
14Additionally, you need to accept the terms and conditions before use.
15Please visit the model page here.
16https://huggingface.co/pyannote/segmentation-3.0
17"""
18HF_TOKEN = ""
19
20
21# load model and transcript
22model = whisperx.load_model("Thaweewat/whisper-th-small-ct2", device, compute_type=compute_type)
23st_time = time.time()
24audio = whisperx.load_audio(audio_file)
25result = model.transcribe(audio, batch_size=batch_size)
26
27# Assign speaker labels
28diarize_model = whisperx.DiarizationPipeline(use_auth_token=HF_TOKEN, device=device)
29diarize_segments = diarize_model(audio)
30result = whisperx.assign_word_speakers(diarize_segments, result)
31
32# Combine pure text if needed
33combined_text = ' '.join(segment['text'] for segment in result['segments'])
34
35print(f"Response time: {time.time() - st_time} seconds")
36print(diarize_segments)
37print(result)
38print(combined_text)