|
import pandas as pd |
|
import streamlit as st |
|
from gtts import gTTS |
|
import io |
|
import os |
|
import random |
|
|
|
|
|
df = pd.read_csv(r'dane.tsv', sep='\t', header=None)[[1, 3]] |
|
df.columns = ['W艂oski', 'Polski'] |
|
|
|
|
|
st.title("eataly") |
|
|
|
|
|
if 'index' not in st.session_state: |
|
st.session_state.index = random.randint(0, len(df) - 1) |
|
|
|
|
|
def random_sentence(): |
|
st.session_state.index = random.randint(0, len(df) - 1) |
|
|
|
|
|
def speak_text(text, lang): |
|
tts = gTTS(text=text, lang=lang) |
|
fp = io.BytesIO() |
|
tts.write_to_fp(fp) |
|
fp.seek(0) |
|
|
|
return fp |
|
|
|
|
|
if st.button("Losuj nowe zdanie"): |
|
random_sentence() |
|
|
|
|
|
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') |
|
|