utils.py 1016 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. import logging
  2. from threading import Thread
  3. from typing import Optional
  4. from faster_whisper import WhisperModel
  5. model_path = "large-v3"
  6. model = WhisperModel(model_path, device="cuda")
  7. def inference():
  8. segments, info = model.transcribe("benchmark.m4a", language="fr")
  9. for segment in segments:
  10. print("[%.2fs -> %.2fs] %s" % (segment.start, segment.end, segment.text))
  11. def get_logger(name: Optional[str] = None) -> logging.Logger:
  12. formatter = logging.Formatter("%(levelname)s: %(message)s")
  13. logger = logging.getLogger(name)
  14. logger.setLevel(logging.DEBUG)
  15. handler = logging.StreamHandler()
  16. handler.setFormatter(formatter)
  17. logger.addHandler(handler)
  18. return logger
  19. class MyThread(Thread):
  20. def __init__(self, func, params):
  21. super(MyThread, self).__init__()
  22. self.func = func
  23. self.params = params
  24. self.result = None
  25. def run(self):
  26. self.result = self.func(*self.params)
  27. def get_result(self):
  28. return self.result