Spaces:
Runtime error
Runtime error
import gradio as gr | |
from transformers import AutoProcessor, BarkModel | |
import scipy | |
import os | |
############################ | |
### Variable Declaration ### | |
############################ | |
# -- UI Variables | |
ui_input_voice_presenter=gr.Dropdown( | |
choices=["v2/en_speaker_0","v2/en_speaker_9"], | |
value=["v2/en_speaker_0"], | |
label="Voice Presenter" | |
) | |
ui_input_filename=gr.Textbox(label="Input WAV Filename") | |
ui_input_text=gr.Textbox(lines=22,label="Input Text") | |
filePath = os.path.dirname(__file__)+"/" | |
if os.path.exists(filePath+"sample.wav"): | |
ui_output=gr.Audio(label="Output",value=filePath+"sample.wav") | |
else: | |
ui_output=gr.Audio(label="Output") | |
# -- Model Variables | |
processor = AutoProcessor.from_pretrained("suno/bark") | |
model = BarkModel.from_pretrained("suno/bark") | |
############################ | |
### Processing Functions ### | |
############################ | |
# -- On Click of Submit Button in UI | |
def submit(voice_presenter, filename, input_text): | |
print("Started Generating Voice") | |
inputs = processor(input_text, voice_preset=voice_presenter) | |
audio_array = model.generate(**inputs) | |
audio_array = audio_array.cpu().numpy().squeeze() | |
sample_rate = model.generation_config.sample_rate | |
scipy.io.wavfile.write(filename, rate=sample_rate, data=audio_array) | |
print("Generation of Voice completed") | |
return filePath+"sample.wav" | |
############################ | |
###### Main Program ######## | |
############################ | |
ui_input_voice_presenter.value="v2/en_speaker_0" | |
ui_input_filename.value="sample.wav" | |
ui_input_text.value = """Hello uh ... [clears throat], | |
Bark is a transformer-based text-to-speech model proposed by Suno AI. | |
This voice is auto generated | |
""" | |
# -- Start of Program - Main | |
def main(): | |
demo = gr.Interface( | |
fn=submit, | |
inputs=[ui_input_voice_presenter,ui_input_filename,ui_input_text], | |
outputs=ui_output, | |
allow_flagging="never" | |
) | |
demo.queue().launch() | |
# -- Calling Main Function | |
if __name__ == '__main__': | |
main() |