rutsam's picture
deploy app
155ba90
raw
history blame contribute delete
No virus
1.75 kB
import tempfile
from typing import Optional
import gradio as gr
import subprocess
import numpy as np
from TTS.utils.synthesizer import Synthesizer
MAX_TXT_LEN = 1000
subprocess.check_output("git lfs install", shell=True)
subprocess.check_output("git clone https://huggingface.co/DigitalUmuganda/Kinyarwanda_YourTTS",
shell=True)
def generate_audio(text):
if len(text) > MAX_TXT_LEN:
text = text[:MAX_TXT_LEN]
print(f"Input text was cutoff since it went over the {MAX_TXT_LEN} character limit.")
synthesizer = Synthesizer("./Kinyarwanda_YourTTS/model.pth",
"Kinyarwanda_YourTTS/config.json",
tts_speakers_file="Kinyarwanda_YourTTS/speakers.pth",
encoder_checkpoint="Kinyarwanda_YourTTS/SE_checkpoint.pth.tar",
encoder_config="Kinyarwanda_YourTTS/config_se.json",)
wav = synthesizer.tts(text, speaker_wav="Kinyarwanda_YourTTS/conditioning_audio.wav")
with tempfile.NamedTemporaryFile(suffix=".wav", delete=False) as fp:
synthesizer.save_wav(wav, fp)
return fp.name
iface = gr.Interface(
fn=generate_audio,
inputs=[
gr.inputs.Textbox(
label="Input Text",
default="Muraho neza! nizere ko umunsi uri kugenda neza.",
),
],
outputs=gr.outputs.Audio(type="filepath",label="Output"),
#outputs=gr.outputs.Textbox(label="Recognized speech from speechbrain model"),
title="Kinyarwanda tts Demo",
description="Kinyarwanda tts build By Digital Umuganda, using the Bible dataset, and trained on YourTTS model.",
allow_flagging=False,
flagging_options=['error', 'bad-quality', 'wrong-pronounciation'],
layout="vertical",
live=False
)
iface.launch(share=False)