
    d+h                     >    S SK Jr  S SKJr   " S S5      r\" 5       rg)    )WhisperModel)WHISPER_MODELc                   &    \ rS rSrS rS rS rSrg)TranscriptionService   c                     S U l         g )Nmodelselfs    oC:\Users\fernando.barreto\OneDrive - Solutta\Documentos\GitHub\ollama\chat-ollama\src\services\transcription.py__init__TranscriptionService.__init__   s	    
    c                 H    U R                   c  [        [        SSS9U l         gg)u?   Carrega o modelo Faster-Whisper se ainda não estiver carregadoNcpuint8)devicecompute_type)r
   r   r   r   s    r   
load_modelTranscriptionService.load_model   s"    ::%mEPVWDJ r   c                     U R                  5         U R                  R                  U5      u  p#SR                  U Vs/ s H  oDR                  PM     sn5      R                  5       $ s  snf )u   
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
 )r   r
   
transcribejointextstrip)r   
audio_pathsegments_segments        r   r   TranscriptionService.transcribe   sP     	jj++J7xxX>X'X>?EEGG>s   A'r	   N)__name__
__module____qualname____firstlineno__r   r   r   __static_attributes__ r   r   r   r      s    XHr   r   N)faster_whisperr   src.config.settingsr   r   transcription_servicer(   r   r   <module>r,      s"    ' -H H: -. r   