
    1hG                       S SK Jr  S SKrS SKJr  S SKJr  S SKJr  S SK	J
r
  S SKJr  \S   r " S	 S
5      rSS.       S!S jjr\S:X  Ga  S SKrS SKJr  S SKr\R*                  " 5       r\R/                  S5        \R/                  SS\" \5      SS9  \R/                  SS5        \R/                  SS5        \R/                  SSSS9  \R1                  5       r\R4                  (       ar  \R6                  " S5      r\R;                  \R<                  5        \R>                  " 5       r \RB                  " S5      r"\ RG                  \"5        \RI                  \ 5        \R                  RK                  \RL                  5      r'S\RP                  0r)\RT                  (       a  \RT                  \)S'   \RV                  (       a  \RV                  \)S '   \" S\'40 \)D6r,\-" \,5        gg)"    )annotationsN)Literal)Unpack)	AudioData)
SetupError)OpenAICompatibleRecognizer)	whisper-1zgpt-4o-transcribezgpt-4o-mini-transcribec                  B    \ rS rSr% SrS\S'   S\S'   S\S'   S\S	'   S
rg)OpenAIOptionalParameters   z}OpenAI speech transcription's optional parameters.

https://platform.openai.com/docs/api-reference/audio/createTranscription
strlanguagepromptzLiteral['json']response_formatfloattemperature N)__name__
__module____qualname____firstlineno____doc____annotations____static_attributes__r       i/var/www/auris/envauris/lib/python3.13/site-packages/speech_recognition/recognizers/whisper_api/openai.pyr   r      s    
 MK$$r   r   r	   )modelr   c                    SSK n[        UR	                  5       5      nUR
                  " X40 UD6$ ! [         a    [        S5      ef = f)a  Performs speech recognition on ``audio_data`` (an ``AudioData`` instance), using the OpenAI Whisper API.

This function requires an OpenAI account; visit https://platform.openai.com/signup, then generate API Key in `User settings <https://platform.openai.com/account/api-keys>`__.

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

Set environment variable ``OPENAI_API_KEY``; otherwise openai library will raise a ``openai.OpenAIError``.
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"   "   sT    
 36==?C&&zCFCC  
L
 	

s	   2 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   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>rN      s   "   $ . 4
 >

 
$ &	DD 	D
 /D 	D4 z#$$&F
%
i,!7   l+
j)
k,?D||$+$5$56J$K!!**7==9!//1#--Z
 	$$%67!,,_=''8Jtzz*N}}%)]]z"{{#';;x dJA.AM	-I r   