eaglelandsonce commited on
Commit
c5a2dc4
·
verified ·
1 Parent(s): e26584b

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +15 -1
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
- st.audio(audio_output, format="audio/wav")
 
 
 
 
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}")