Spaces:
Build error
Build error
| import os | |
| import whisper | |
| import torch | |
| import time | |
| def transcribe_segments(speakers): | |
| print(f"Whisper models {whisper.available_models()}") | |
| if torch.cuda.is_available(): | |
| print("transcribe_segments Using CUDA") | |
| device = "cuda" | |
| else: | |
| device = "cpu" | |
| print("transcribe_segments Using CPU") | |
| model = whisper.load_model("tiny.en", device=device) | |
| #model = whisper.load_model("medium.en", device="cuda") | |
| # model = whisper.load_model("turbo", device="cuda") | |
| #model = whisper.load_model("large-v3-turbo", device="cuda") | |
| transcripts = [] | |
| input_file = "" | |
| print("Transcribing ALL segments") | |
| total_start = time.time() | |
| for speaker in speakers: | |
| # {'speaker': speaker, 'start': round(turn.start, 1), | |
| # 'end': round(turn.end, 1), 'clipFile':clipName} | |
| input_file = speaker['clipFile'] | |
| print("TRANSCRIBING " + input_file) | |
| start = time.time() | |
| transcript = model.transcribe(input_file) | |
| print("Elapsed " + str(time.time() - start)) | |
| segments = transcript["segments"] | |
| outText = "" | |
| for segment in segments: | |
| outText += segment['text'] | |
| transcripts.append(speaker['speaker']+" : "+outText) | |
| os.remove(input_file) | |
| print("Total Elapsed " + str(time.time() - total_start)) | |
| currdir= input_file[0:input_file.index('\\')] | |
| os.rmdir(currdir) | |
| return transcripts | |