
    љi                     n    S SK r S SKJrJr  SSKJr  SSKJr  \ R                  " \	5      r
 " S S\5      rg)    N)DictList   )SpeechSynthesizer)TTSPreprocessorc                      ^  \ rS rSrSSSSSSSSS	.S
\S\S\\\4   S\S\S\S\\	   S\
4U 4S jjjrS\4U 4S jjrS\S\4S jrSS\S\S\S\4S jjrSrU =r$ )VoicevoxSpeechSynthesizer	   zhttp://127.0.0.1:50021.   Nd      g      $@F)base_urlspeakerstyle_mappermax_connectionsmax_keepalive_connectionstimeoutpreprocessorsdebugr   r   r   r   r   r   r   r   c          	      B   > [         T	U ]  UUUUUUS9  Xl        X l        g )N)r   r   r   r   r   r   )super__init__r   r   )
selfr   r   r   r   r   r   r   r   	__class__s
            S/home/james-whalen/.local/lib/python3.13/site-packages/aiavatar/sts/tts/voicevox.pyr   "VoicevoxSpeechSynthesizer.__init__
   s5     	%+&?' 	 	
 !    returnc                 `   > [         TU ]  5       nU R                  US'   U R                  US'   U$ )Nr   r   )r   
get_configr   r   )r   configr   s     r   r    $VoicevoxSpeechSynthesizer.get_config!   s1    #%!]]z LLyr   textc                    #    U R                    S3nU R                  R                  X2US.S9I S h  vN nUR                  5         UR	                  5       $  N$7f)Nz/audio_query)r   r#   )params)r   http_clientpostraise_for_statusjson)r   r#   r   urlresponses        r   get_audio_query)VoicevoxSpeechSynthesizer.get_audio_query'   sU     |,))..sX\;].^^!!#}} _s   /AA%A
style_infolanguagec                 $  #    U(       a  UR                  5       (       d
  [        5       $ U R                  (       a  [        R	                  SU 35        U R                  XU5      I S h  vN nU R                  nU R                  U5      =n(       a#  [        U5      n[        R	                  SU 35        U R                  XE5      I S h  vN nU R                  R                  U R                  S-   SU0US9I S h  vN nUR                  $  N ND N7f)NzSpeech synthesize: zApply style: z
/synthesisr   )r*   r%   r)   )stripbytesr   loggerinfo
preprocessr   parse_styleintr,   r&   r'   r   content)	r   r#   r.   r/   processed_textr   styleaudio_queryr+   s	            r   
synthesize$VoicevoxSpeechSynthesizer.synthesize-   s     4::<<7N::KK-dV45  $tJJ,, $$Z0050%jGKK-y12 !00II ))..,w' / 
 

 % K J
s7   A%D'D
(ADD1D9D:DDD)r   r   )NN)__name__
__module____qualname____firstlineno__strr7   r   floatr   r   boolr   dictr    r,   r2   r<   __static_attributes____classcell__)r   s   @r   r	   r	   	   s     1'+")+/3  	
 38n  $'  O,  .D #   S  d  S  \a    r   r	   )loggingtypingr   r    r   preprocessorr   	getLoggerr>   r3   r	    r   r   <module>rN      s.       )			8	$>  1 > r   