t / app.py
defkzn's picture
Upload 3 files
4e2a62e
raw
history blame contribute delete
732 Bytes
import tempfile
import gradio as gr
from piper import PiperVoice
from pathlib import Path
import wave
_FILE = Path(__file__)
_DIR = _FILE.parent
voice = PiperVoice.load(
model_path=_DIR / 'models/rmedium.onnx',
config_path=_DIR / 'models/rmedium.onnx.json'
)
synthesize_args = {}
def tts(text: str):
print(text)
with tempfile.NamedTemporaryFile(suffix=".wav", delete=False) as fp:
with wave.Wave_write(fp) as wav:
voice.synthesize(text, wav, **synthesize_args)
return fp.name
inputs = [gr.Textbox(label="Input", value="Salut, numele meu este Bogdan.", max_lines=10)]
outputs = gr.Audio(label="Output")
demo = gr.Interface(fn=tts, inputs=inputs, outputs=outputs)
demo.launch()