Spaces:
Sleeping
Sleeping
| #!/usr/bin/python | |
| # -*- coding: utf-8 -*- | |
| from time import time | |
| from transformers import pipeline | |
| from .config import ( | |
| DEVICE, | |
| COMPUTE_TYPE, | |
| BATCH_SIZE, | |
| ) | |
| # -->> Tunables <<--------------------- | |
| print("Loading model...") | |
| time_1 = time() | |
| PIPE = pipeline( | |
| task="automatic-speech-recognition", | |
| model="openai/whisper-large-v3", | |
| device_map="auto", | |
| chunk_length_s=30, | |
| ) | |
| time_2 = time() | |
| print("Model loaded!") | |
| # -->> Definitions <<------------------ | |
| # -->> API <<-------------------------- | |
| def connect_to_pipe(audio_file, audio_path, transcript_folder_path): | |
| print("Transcribing...") | |
| time_3 = time() | |
| result = PIPE( | |
| audio_path, | |
| batch_size=BATCH_SIZE, | |
| generate_kwargs={"task": "transcribe"}, | |
| return_timestamps=True, | |
| ) | |
| time_4 = time() | |
| print("Transcription complete!") | |
| print("\nTime Report: ") | |
| print("Loading model: ", round(time_2 - time_1, 2), " [s]") | |
| print("Transcribing: ", round(time_4 - time_3, 2), " [s]") | |
| print("Total: ", round(time_2 - time_1 + time_4 - time_3, 2), " [s]") | |
| # Save the transcript to a file | |
| # text = "\n ".join([i["text"] for i in result["chunks"]]) | |
| text = result['text'] | |
| return result | |
| # -->> Execute <<---------------------- | |
| # -->> Export <<----------------------- | |