neurogen-dev/silerotts-webui

добавить доступ по сети

Opened this issue · 0 comments

nidjan commented

добавил совсем простой вариант - мне норм

import gradio as gr
import os
import argparse 

# Создаем список доступных speaker
speakers = ['aidar', 'baya', 'kseniya', 'xenia', 'eugene', 'random']

def tts(file, speaker):
  # assuming tts.py is in the same directory as this script
  os.system(f"python tts.py --file {file.name} --speaker {speaker}")
  # assuming tts.py outputs a file called output.wav in the same directory
  return "output.wav"

iface = gr.Interface(
  fn=tts,
  inputs=[
        gr.File(label="Ваш txt файл", type="file"),
        gr.Dropdown(label="Выберите диктора", choices=["aidar", "baya", "kseniya", "xenia", "eugene", "random"], value="baya"), # отправляет 
  ],
  outputs=[
        gr.outputs.Audio(type="filepath"),
  ],
  title="TTS by Neurogen",
  description="Загрузите ваш txt файл с текстом и получите на выходе аудиофайл с озвучкой</br>Работает на базе SileroTTS"
)

parser = argparse.ArgumentParser()
parser.add_argument(
        '--listen',
        type=str,
        default='0.0.0.0',# if 'SPACE_ID' in os.environ else '127.0.0.1',
        help='IP to listen on for connections to Gradio',
    )

parser.add_argument(
        '--server_port',
        type=int,
        default=0,
        help='Port to run the server listener on',
    )

args = parser.parse_args()

launch_kwargs = {}
launch_kwargs['server_name'] = args.listen    
if args.server_port:
        launch_kwargs['server_port'] = args.server_port

iface.queue().launch(**launch_kwargs)