Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
@@ -2,8 +2,7 @@ import streamlit as st
|
|
2 |
from kokoro import KPipeline
|
3 |
import soundfile as sf
|
4 |
import io
|
5 |
-
import
|
6 |
-
import requests # Used to send requests to LibreTranslate API
|
7 |
|
8 |
# Streamlit App UI Setup
|
9 |
st.title("Text-to-Speech with Kokoro")
|
@@ -77,24 +76,22 @@ speed = st.slider("Speed", min_value=0.5, max_value=2.0, value=1.0, step=0.1)
|
|
77 |
# Initialize the TTS pipeline with user-selected language
|
78 |
pipeline = KPipeline(lang_code=lang_code)
|
79 |
|
80 |
-
#
|
81 |
-
|
82 |
|
83 |
-
# Translate text to English using
|
84 |
def translate_to_english(text, lang_code):
|
85 |
-
|
86 |
-
response = requests.post(LIBRETRANSLATE_URL, data={
|
87 |
'q': text,
|
88 |
'source': lang_code,
|
89 |
'target': 'en'
|
90 |
})
|
91 |
-
|
92 |
-
# Check for a successful response
|
93 |
if response.status_code == 200:
|
94 |
return response.json()['translatedText']
|
95 |
else:
|
96 |
st.error(f"Translation failed. Status Code: {response.status_code}")
|
97 |
-
return text # Return
|
98 |
|
99 |
# Generate Audio function
|
100 |
def generate_audio(text, lang_code, voice, speed):
|
@@ -124,7 +121,7 @@ if st.button('Generate Audio'):
|
|
124 |
mime="audio/wav"
|
125 |
)
|
126 |
|
127 |
-
# Translate the input text to English using
|
128 |
translated_text = translate_to_english(input_text, lang_code)
|
129 |
|
130 |
# Generate audio for the translated English text
|
|
|
2 |
from kokoro import KPipeline
|
3 |
import soundfile as sf
|
4 |
import io
|
5 |
+
import requests
|
|
|
6 |
|
7 |
# Streamlit App UI Setup
|
8 |
st.title("Text-to-Speech with Kokoro")
|
|
|
76 |
# Initialize the TTS pipeline with user-selected language
|
77 |
pipeline = KPipeline(lang_code=lang_code)
|
78 |
|
79 |
+
# Targoman API Endpoint for translation
|
80 |
+
TARGOMAN_URL = "https://api.targoman.com/translate"
|
81 |
|
82 |
+
# Translate text to English using Targoman API
|
83 |
def translate_to_english(text, lang_code):
|
84 |
+
response = requests.post(TARGOMAN_URL, data={
|
|
|
85 |
'q': text,
|
86 |
'source': lang_code,
|
87 |
'target': 'en'
|
88 |
})
|
89 |
+
|
|
|
90 |
if response.status_code == 200:
|
91 |
return response.json()['translatedText']
|
92 |
else:
|
93 |
st.error(f"Translation failed. Status Code: {response.status_code}")
|
94 |
+
return text # Return original text in case of failure
|
95 |
|
96 |
# Generate Audio function
|
97 |
def generate_audio(text, lang_code, voice, speed):
|
|
|
121 |
mime="audio/wav"
|
122 |
)
|
123 |
|
124 |
+
# Translate the input text to English using Targoman
|
125 |
translated_text = translate_to_english(input_text, lang_code)
|
126 |
|
127 |
# Generate audio for the translated English text
|