40 lines
1016 B
Python
40 lines
1016 B
Python
import logging
|
|
|
|
from threading import Thread
|
|
from typing import Optional
|
|
|
|
from faster_whisper import WhisperModel
|
|
|
|
model_path = "large-v3"
|
|
model = WhisperModel(model_path, device="cuda")
|
|
|
|
|
|
def inference():
|
|
segments, info = model.transcribe("benchmark.m4a", language="fr")
|
|
for segment in segments:
|
|
print("[%.2fs -> %.2fs] %s" % (segment.start, segment.end, segment.text))
|
|
|
|
|
|
def get_logger(name: Optional[str] = None) -> logging.Logger:
|
|
formatter = logging.Formatter("%(levelname)s: %(message)s")
|
|
logger = logging.getLogger(name)
|
|
logger.setLevel(logging.DEBUG)
|
|
handler = logging.StreamHandler()
|
|
handler.setFormatter(formatter)
|
|
logger.addHandler(handler)
|
|
return logger
|
|
|
|
|
|
class MyThread(Thread):
|
|
def __init__(self, func, params):
|
|
super(MyThread, self).__init__()
|
|
self.func = func
|
|
self.params = params
|
|
self.result = None
|
|
|
|
def run(self):
|
|
self.result = self.func(*self.params)
|
|
|
|
def get_result(self):
|
|
return self.result
|