from faster_whisper import WhisperModel
from src.config.settings import WHISPER_MODEL

class TranscriptionService:
    def __init__(self):
        self.model = None
    
    def load_model(self):
        """Carrega o modelo Faster-Whisper se ainda não estiver carregado"""
        if self.model is None:
            self.model = WhisperModel(WHISPER_MODEL, device="cpu", compute_type="int8")
    
    def transcribe(self, audio_path):
        """
        Transcreve um arquivo de áudio usando o Faster-Whisper
        
        Args:
            audio_path (str): Caminho para o arquivo de áudio
            
        Returns:
            str: Texto transcrito
            
        Raises:
            Exception: Se houver erro na transcrição
        """
        self.load_model()
        segments, _ = self.model.transcribe(audio_path)
        return " ".join([segment.text for segment in segments]).strip()

transcription_service = TranscriptionService() 