
    .h                     r    U d dl mZ d dlmZ d dlmZ ddlmZmZ dZ	ed         e
d<    G d d	e          Zd
S )    )AsyncIterator)Literal)AsyncOpenAI   )TTSModelTTSModelSettingsashDEFAULT_VOICEc                   ^    e Zd ZdZdedefdZedefd            Zdede	de
e         fd	Zd
S )OpenAITTSModelz"A text-to-speech model for OpenAI.modelopenai_clientc                 "    || _         || _        dS )zCreate a new OpenAI text-to-speech model.

        Args:
            model: The name of the model to use.
            openai_client: The OpenAI client to use.
        N)r   _client)selfr   r   s      [/var/www/FlaskApp/flask-venv/lib/python3.11/site-packages/agents/voice/models/openai_tts.py__init__zOpenAITTSModel.__init__   s     
$    returnc                     | j         S )N)r   )r   s    r   
model_namezOpenAITTSModel.model_name   s
    zr   textsettingsc                :  K   | j         j        j        j                            | j        |j        pt          |dd|j        i          }|4 d{V }|	                    d          2 3 d{V }|W V  6 	 ddd          d{V  dS # 1 d{V swxY w Y   dS )zRun the text-to-speech model.

        Args:
            text: The text to convert to speech.
            settings: The settings to use for the text-to-speech model.

        Returns:
            An iterator of audio chunks.
        pcminstructions)r   voiceinputresponse_format
extra_bodyNi   )
chunk_size)
r   audiospeechwith_streaming_responsecreater   r   r
   r   
iter_bytes)r   r   r   responsestreamchunks         r   runzOpenAITTSModel.run    sb      <%,DKK*.1M! 5 L 
 
  	 	 	 	 	 	 	v%00D0AA       e  BA	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   B
(A5.B


BBN)__name__
__module____qualname____doc__strr   r   propertyr   r   r   bytesr*    r   r   r   r      s        ,,%% #% % % % C    Xc -= -PUBV      r   r   N)collections.abcr   typingr   openair   r   r   r   r
   __annotations__r   r2   r   r   <module>r7      s    ) ) ) ) ) ) )             . . . . . . . . %wu~ % % %+ + + + +X + + + + +r   