Eataly / app.py
clui's picture
add random choice
e4e4988
import pandas as pd
import streamlit as st
from gtts import gTTS
import io
import os
import random
# Wczytanie danych
df = pd.read_csv(r'dane.tsv', sep='\t', header=None)[[1, 3]]
df.columns = ['W艂oski', 'Polski']
# Tytu艂 aplikacji
st.title("eataly")
# Inicjacja stanu sesji
if 'index' not in st.session_state:
st.session_state.index = random.randint(0, len(df) - 1)
# Funkcja do losowania nowego zdania
def random_sentence():
st.session_state.index = random.randint(0, len(df) - 1)
# Funkcja do odtwarzania tekstu jako mowy
def speak_text(text, lang):
tts = gTTS(text=text, lang=lang)
fp = io.BytesIO()
tts.write_to_fp(fp)
fp.seek(0)
return fp
# Przycisk do losowania nowego zdania
if st.button("Losuj nowe zdanie"):
random_sentence()
# Przyciski do odtwarzania wymowy obok siebie
col1, col2 = st.columns(2)
with col1:
st.subheader(df['W艂oski'][st.session_state.index])
if st.button("Odtw贸rz wymow臋 po w艂osku"):
audio_data = speak_text(df['W艂oski'][st.session_state.index], 'it')
st.audio(audio_data, format='audio/mp3')
with col2:
st.subheader(df['Polski'][st.session_state.index])
if st.button("Odtw贸rz wymow臋 po polsku"):
audio_data = speak_text(df['Polski'][st.session_state.index], 'pl')
st.audio(audio_data, format='audio/mp3')