Spaces:
Build error
Build error
Update app.py
Browse files
app.py
CHANGED
|
@@ -2,6 +2,8 @@ import streamlit as st
|
|
| 2 |
from clarifai_grpc.channel.clarifai_channel import ClarifaiChannel
|
| 3 |
from clarifai_grpc.grpc.api import resources_pb2, service_pb2, service_pb2_grpc
|
| 4 |
from clarifai_grpc.grpc.api.status import status_code_pb2
|
|
|
|
|
|
|
| 5 |
|
| 6 |
# Streamlit page configuration
|
| 7 |
st.set_page_config(page_title="Text to Speech", layout="centered")
|
|
@@ -24,6 +26,14 @@ APP_ID = 'audio-generation'
|
|
| 24 |
MODEL_ID = 'speech-synthesis'
|
| 25 |
MODEL_VERSION_ID = 'f2cead3a965f4c419a61a4a9b501095c'
|
| 26 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 27 |
# Streamlit UI
|
| 28 |
st.title("Text to Speech Conversion")
|
| 29 |
input_text = st.text_area("Enter text to convert to speech:", "I love your product very much")
|
|
@@ -57,6 +67,10 @@ if submit_button:
|
|
| 57 |
|
| 58 |
# Assuming the output is in audio format
|
| 59 |
audio_output = response.outputs[0].data.audio.content
|
| 60 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 61 |
except Exception as e:
|
| 62 |
st.error(f"An error occurred: {e}")
|
|
|
|
| 2 |
from clarifai_grpc.channel.clarifai_channel import ClarifaiChannel
|
| 3 |
from clarifai_grpc.grpc.api import resources_pb2, service_pb2, service_pb2_grpc
|
| 4 |
from clarifai_grpc.grpc.api.status import status_code_pb2
|
| 5 |
+
import numpy as np
|
| 6 |
+
|
| 7 |
|
| 8 |
# Streamlit page configuration
|
| 9 |
st.set_page_config(page_title="Text to Speech", layout="centered")
|
|
|
|
| 26 |
MODEL_ID = 'speech-synthesis'
|
| 27 |
MODEL_VERSION_ID = 'f2cead3a965f4c419a61a4a9b501095c'
|
| 28 |
|
| 29 |
+
def pad_buffer(audio):
|
| 30 |
+
# Pad buffer to multiple of 2 bytes
|
| 31 |
+
buffer_size = len(audio)
|
| 32 |
+
element_size = np.dtype(np.int16).itemsize
|
| 33 |
+
if buffer_size % element_size != 0:
|
| 34 |
+
audio = audio + b'\0' * (element_size - (buffer_size % element_size))
|
| 35 |
+
return audio
|
| 36 |
+
|
| 37 |
# Streamlit UI
|
| 38 |
st.title("Text to Speech Conversion")
|
| 39 |
input_text = st.text_area("Enter text to convert to speech:", "I love your product very much")
|
|
|
|
| 67 |
|
| 68 |
# Assuming the output is in audio format
|
| 69 |
audio_output = response.outputs[0].data.audio.content
|
| 70 |
+
|
| 71 |
+
audio_data = np.frombuffer(pad_buffer(audio_output), dtype=np.int16)
|
| 72 |
+
audio_bytes = audio_data.tobytes()
|
| 73 |
+
|
| 74 |
+
st.audio(audio_bytes, format="audio/wav")
|
| 75 |
except Exception as e:
|
| 76 |
st.error(f"An error occurred: {e}")
|