rimeui / app.py
rime's picture
Update app.py
a212e85
import requests
import gradio as gr
import base64
speakers = []
with open('speakers.txt', 'r') as fp:
for line in fp:
speakers.append(line.strip())
def synthesize(key, sentence, speaker):
headers = {
'Authorization': 'Bearer {}'.format(key),
'Content-Type': 'application/json',
}
json_data = {
'text': sentence,
'speaker': speaker,
}
response = requests.post('https://rjmopratfrdjgmfmaios.functions.supabase.co/rime-tts', headers=headers, json=json_data)
audioContent = response.json()['audioContent']
decode_string = base64.b64decode(audioContent)
with open('tmp.wav', 'wb') as fp:
fp.write(decode_string)
return 'tmp.wav'
iface = gr.Interface(fn=synthesize, inputs=[gr.Textbox(type="password", info="This is where you put your Rime TTS API key."),
gr.Textbox(info="Enter the text you want synthesized here. Check out our documentation for specifics and suggestions on text input!"),
gr.Dropdown(list(speakers), info="Enter the code for the speaker you want to synthesize. (see docs/voices/)")], outputs=gr.Audio())
iface.launch()