Spaces:
Sleeping
Sleeping
hanifekaptan
commited on
Upload 3 files
Browse files- app.py +38 -0
- gtts_lang.csv +48 -0
- requirements.txt +3 -0
app.py
ADDED
@@ -0,0 +1,38 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
from gtts import gTTS
|
2 |
+
import streamlit as st
|
3 |
+
import pandas as pd
|
4 |
+
|
5 |
+
# Load language data from CSV file
|
6 |
+
data = pd.read_csv("gtts_lang.csv")
|
7 |
+
|
8 |
+
st.title("Text to Speech")
|
9 |
+
text = st.text_area("Enter your text", placeholder="Enter your text here")
|
10 |
+
|
11 |
+
# Create a dropdown menu for language selection
|
12 |
+
language = st.selectbox("Select Language", data["Language"], index = 43)
|
13 |
+
|
14 |
+
# Create a dropdown menu for speed selection
|
15 |
+
speed = st.selectbox("Select Language", ["Fast", "Slow"], index=0)
|
16 |
+
|
17 |
+
if st.button("Convert"):
|
18 |
+
try:
|
19 |
+
# Determine if the speech should be slow
|
20 |
+
is_slow = False if speed == "Fast" else True
|
21 |
+
|
22 |
+
# Get the selected language code
|
23 |
+
lang = data[data["Language"] == language]["Lang"].values[0]
|
24 |
+
|
25 |
+
# Create a gTTS object with the provided text and language
|
26 |
+
tts = gTTS(text = text, lang = lang, slow = is_slow)
|
27 |
+
|
28 |
+
except Exception as e:
|
29 |
+
st.error("Dönüşüm hatası", e)
|
30 |
+
|
31 |
+
try:
|
32 |
+
tts.save("output.mp3")
|
33 |
+
# Provide a download button for the user to download the MP3 file
|
34 |
+
with open("output.mp3", "rb") as f:
|
35 |
+
download = st.download_button("Download", data=f, file_name="output.mp3", mime="audio/mpeg")
|
36 |
+
|
37 |
+
except Exception as e:
|
38 |
+
st.error("İndirme hatası", e)
|
gtts_lang.csv
ADDED
@@ -0,0 +1,48 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
ID,Language,Lang
|
2 |
+
1,Afrikaans (Afrikaans),af
|
3 |
+
2,Albanian (Shqip),sq
|
4 |
+
3,Azerbaijani (Azərbaycanca),az
|
5 |
+
4,Basque (Euskara),eu
|
6 |
+
5,Belarusian (Беларуская),be
|
7 |
+
6,Bengali (বাংলা),bn
|
8 |
+
7,Bulgarian (Български),bg
|
9 |
+
8,Czech (Čeština),cs
|
10 |
+
9,Danish (Dansk),da
|
11 |
+
10,Emoji (Emoji),emoji
|
12 |
+
11,Estonian (Eesti),et
|
13 |
+
12,Finnish (Suomi),fi
|
14 |
+
13,Frisian (Frysk),fy
|
15 |
+
14,Georgian (ქართული),ka
|
16 |
+
15,Croatian (Hrvatski),hr
|
17 |
+
16,Hindi (हिन्दी),hi
|
18 |
+
17,English (English),en
|
19 |
+
18,Spanish (Español),es
|
20 |
+
19,French (Français),fr
|
21 |
+
20,German (Deutsch),de
|
22 |
+
21,Portuguese (Português),pt
|
23 |
+
22,Arabic (العربية),ar
|
24 |
+
23,Italian (Italiano),it
|
25 |
+
24,Chinese (中文),zh-CN
|
26 |
+
25,Chinese (中文),zh-TW
|
27 |
+
26,Norwegian (Norsk),no
|
28 |
+
27,Russian (Русский),ru
|
29 |
+
28,Japanese (日本語),ja
|
30 |
+
29,Korean (한국어),ko
|
31 |
+
30,Latvian (Latviešu),lv
|
32 |
+
31,Lithuanian (Lietuvių),lt
|
33 |
+
32,Luxembourgish (Lëtzebuergesch),lb
|
34 |
+
33,Macedonian (Македонски),mk
|
35 |
+
34,Malay (Bahasa Melayu),ms
|
36 |
+
35,Maltese (Malti),mt
|
37 |
+
36,Persian (فارسی),fa
|
38 |
+
37,Romanian (Română),ro
|
39 |
+
38,Serbian (Српски),sr
|
40 |
+
39,Slovak (Slovenčina),sk
|
41 |
+
40,Slovenian (Slovenščina),sl
|
42 |
+
41,Swahili (Kiswahili),sw
|
43 |
+
42,Swedish (Svenska),sv
|
44 |
+
43,Thai (ภาษาไทย),th
|
45 |
+
44,Turkish (Türkçe),tr
|
46 |
+
45,Ukrainian (Українська),uk
|
47 |
+
46,Vietnamese (Tiếng Việt),vi
|
48 |
+
47,Greek (Ελληνικά),el
|
requirements.txt
ADDED
@@ -0,0 +1,3 @@
|
|
|
|
|
|
|
|
|
1 |
+
gtts==2.5.4
|
2 |
+
streamlit==1.36.0
|
3 |
+
pandas==2.2.3
|