Ë
    œ…j9  ã                  ó¾  — d dl mZ d dlZd dlmZmZ d dlmZ d dlm	Z	 d dl
mZ d dlmZ ed   Z G d	„ d
ed¬«      Zddœ	 	 	 	 	 	 	 d#d„Zedk(  �r�d dlZd dlmZ d dlZ ej,                  «       Zej1                  d«       ej1                  dd ee«      d¬«       ej1                  dd«       ej1                  dd«       ej1                  ddd¬«       ej3                  «       Zej6                  rr ej8                  d«      Zej=                  ej>                  «        ej@                  «       Z! ejD                  d «      Z#e!jI                  e#«       ejK                  e!«       ej                  jM                  ejN                  «      Z(dejR                  iZ*ejV                  rejV                  e*d!<   ejX                  rejX                  e*d"<    ede(fi e*¤ŽZ- e.e-«       yy)$é    )ÚannotationsN)ÚLiteralÚ	TypedDict)ÚUnpack)Ú	AudioData)Ú
SetupError)ÚOpenAICompatibleRecognizer)ú	whisper-1zgpt-4o-transcribezgpt-4o-mini-transcribec                  ó:   — e Zd ZU dZded<   ded<   ded<   ded<   y	)
ÚOpenAIOptionalParametersz…OpenAI speech transcription's optional parameters.

    https://platform.openai.com/docs/api-reference/audio/createTranscription
    ÚstrÚlanguageÚpromptzLiteral['json']Úresponse_formatÚfloatÚtemperatureN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Ú__annotations__© ó    úr/root/aria/tools/markitdown-venv/lib/python3.12/site-packages/speech_recognition/recognizers/whisper_api/openai.pyr   r      s   … ñð
 ƒMØƒKà$Ó$ØÔr   r   F)Útotalr
   )Úmodelr   c               ó–   — 	 ddl }t        |j	                  «       «      } |j
                  ||fi |¤ŽS # t        $ r t        d«      ‚w xY w)a¤  Performs speech recognition on ``audio_data`` (an ``AudioData`` instance), using the OpenAI Whisper API (and OpenAI-compatible self-hosted endpoints).

    OpenAI hosted service: requires an OpenAI account; visit https://platform.openai.com/signup, then generate API Key in `API keys <https://platform.openai.com/api-keys>`__ in your project.
    Set environment variable ``OPENAI_API_KEY``; otherwise openai library will raise a ``openai.OpenAIError``.

    Detail: https://platform.openai.com/docs/guides/speech-to-text

    OpenAI-compatible self-hosted endpoints (e.g., vLLM, Ollama): set ``OPENAI_BASE_URL`` to your custom endpoint URL with dummy ``OPENAI_API_KEY``.
    r   Nz>missing openai module: ensure that openai is set up correctly.)ÚopenaiÚImportErrorr   r	   ÚOpenAIÚ	recognize)Ú
recognizerÚ
audio_datar   Úkwargsr   Úopenai_recognizers         r   r!   r!   "   sY   € ð 
Ûô 3°6·=±=³?ÓCÐØ&Ð×&Ñ& z°5ÑC¸FÑCÐCøô ò 
ÜØLó
ð 	
ð
ús	   ‚3 ³AÚ__main__)Úget_argsÚ
audio_filez-mz--model)ÚchoicesÚdefaultz-lz
--languagez-pz--promptz-vz	--verboseÚ
store_true)ÚactionÚspeech_recognitionzL%(asctime)s | %(levelname)s | %(name)s:%(funcName)s:%(lineno)d - %(message)sr   r   )r#   z'AudioData'r   ÚWhisperModelr$   z Unpack[OpenAIOptionalParameters]Úreturnr   )/Ú
__future__r   ÚloggingÚtypingr   r   Útyping_extensionsr   Úspeech_recognition.audior   Úspeech_recognition.exceptionsr   Ú/speech_recognition.recognizers.whisper_api.baser	   r.   r   r!   r   Úargparser'   r-   ÚsrÚArgumentParserÚparserÚadd_argumentÚ
parse_argsÚargsÚverboseÚ	getLoggerÚspeech_recognition_loggerÚsetLevelÚDEBUGÚStreamHandlerÚconsole_handlerÚ	FormatterÚconsole_formatterÚsetFormatterÚ
addHandlerÚ	from_filer(   r#   r   Úrecognize_argsr   r   ÚtranscriptionÚprintr   r   r   ú<module>rM      sæ  ðÝ "ã ß %å $å .Ý 4õð
 Ø>ñ€ô

˜y°õ 
ð$ &ñ	DàðDð ð	Dð
 /ðDð 	óDð6 ˆzÓÛÝã#à$ˆX×$Ñ$Ó&€FØ
×Ñ˜Ô%Ø
×ÑØˆi¡¨,Ó!7Àð ô ð ×Ñ˜˜lÔ+Ø
×Ñ˜˜jÔ)Ø
×Ñ˜˜k°,ÐÔ?Ø×ÑÓ€Dà‡|‚|Ø$5 G×$5Ñ$5Ð6JÓ$KÐ!Ø!×*Ñ*¨7¯=©=Ô9à/˜'×/Ñ/Ó1ˆØ-˜G×-Ñ-ØZó
Ðð 	×$Ñ$Ð%6Ô7Ø!×,Ñ,¨_Ô=à—‘×'Ñ'¨¯©Ó8€Jà˜tŸz™zÐ*€NØ‡}‚}Ø%)§]¡]ˆ�zÑ"Ø‡{‚{Ø#'§;¡;ˆ�xÑ á˜d JÑA°.ÑA€MÙ	ˆ-ÕðI r   