o
    <fg                     @   s   d dl Z d dlZd dlmZ d dlmZ d dlmZmZ d dl	m	Z	 e	 Z
eddZejded	d
dd	d dZeddd Zeddd ZedddededefddZedddededefddZdS )     N)FastAPI)StaticFiles)StreamingResponseFileResponse)NeuralSpeakerzmain app)titlez/publicpublicT)	directoryhtml)namezfavicon.icoz/favicon.icoc                      s
   t tS )N)r   favicon_path r   r   9/var/www/avals/data/www/bot.kubok-gagarina.ru/tts/main.pyfavicon      r   /c                      s
   t dS )Nzpublic/index.html)r   r   r   r   r   
index_html   r   r   z/speakxenia逻  wordsspeakersample_ratec                    sR   t d|  d| d|  tj| |d|d}t d| d dd| di}|S )Nzspeak , Fr   r   	save_filer   zModel completed in z secondsResponse)printneural_speakerspeak)r   r   r   time_elapsedjson_responser   r   r   r       s   r   z/get_audio_filec                    s   t d|  d| d|  tj| |d|d}t }t|d}|d |d |	| |
| |  |d t|d	d
}d|jd< |S )Nz
save file r   Tr   w      r   z	audio/wav)content
media_typez)attachment; filename = "speech_audio.wav"zContent-Disposition)r   r   r   ioBytesIOwaveopensetnchannelssetsampwidthsetframeratewriteframescloseseekr   headers)r   r   r   
audio_datafwav_file_in_memoryaudio_file_responser   r   r   return_audio_file)   s   





r5   )r   r   )r&   r(   fastapir   fastapi.staticfilesr   starlette.responsesr   r   r   r   appmountr   getr   r   strintr   r5   r   r   r   r   <module>   s$    


