Spaces:
Sleeping
Sleeping
import streamlit as st | |
from transformers import pipeline | |
import scipy.io.wavfile | |
import numpy as np | |
import os | |
# Load the text-to-speech pipeline | |
synthesizer = pipeline("text-to-speech", model="suno/bark") | |
# Streamlit app | |
st.title("Text-to-Speech with Suno/Bark Model") | |
# Text input from the user | |
text = st.text_area("Enter the text you want to convert to speech:", "") | |
if st.button("Generate Speech"): | |
if text: | |
with st.spinner("Generating speech..."): | |
# Generate speech from text | |
speech = synthesizer(text, forward_params={"do_sample": True}) | |
# Save the speech as a WAV file | |
output_path = "output.wav" | |
scipy.io.wavfile.write(output_path, rate=speech["sampling_rate"], data=np.array(speech["audio"])) | |
st.success("Speech generated successfully!") | |
# Provide options to play and download the audio file | |
audio_file = open(output_path, "rb").read() | |
st.audio(audio_file, format="audio/wav") | |
st.download_button(label="Download WAV file", data=audio_file, file_name="output.wav", mime="audio/wav") | |
else: | |
st.error("Please enter some text to generate speech.") | |