Language Flashcards with Audio Description: Use audio to help users learn basic phrases in a new language. Features: Display text for phrases, add audio playback for pronunciation, and track user progress. from above, create a simple streamlit app
To upload files, please first save the app
import streamlit as st
import numpy as np
# Define phrases and audio files
phrases = [
"Hello",
"Thank you",
"Goodbye",
"Yes",
"No",
]
audio_files = [
"audio/hello.wav",
"audio/thank_you.wav",
"audio/goodbye.wav",
"audio/yes.wav",
"audio/no.wav",
]
# Initialize user progress
if 'progress' not in st.session_state:
st.session_state.progress = [False] * len(phrases)
# Display phrases and audio
for i, phrase in enumerate(phrases):
st.write(phrase)
if st.button(f'Play audio for: {phrase}'):
st.audio(audio_files[i])
# Progress tracking
st.write("### Your Progress:")
for i, phrase in enumerate(phrases):
st.checkbox(phrase, value=st.session_state.progress[i], key=f'checkbox_{i}', on_change=lambda: update_progress(i))
def update_progress(index):
st.session_state.progress[index] = not st.session_state.progress[index]
Hi! I can help you with any questions about Streamlit and Python. What would you like to know?