Streamlit
1 Introduction to Streamlit
1.1 What is Streamlit?
1.2 Why use Streamlit?
1.3 Setting up the environment
1.4 Creating your first Streamlit app
2 Basic Components
2.1 Text elements
2.1 1 Displaying text
2.1 2 Formatting text
2.2 Data display elements
2.2 1 Displaying data frames
2.2 2 Displaying tables
2.3 Input widgets
2.3 1 Text input
2.3 2 Number input
2.3 3 Date input
2.3 4 Dropdown selection
2.3 5 Slider
2.3 6 Checkbox
2.3 7 Radio buttons
2.3 8 Buttons
3 Advanced Components
3.1 Interactive widgets
3.1 1 Multiselect
3.1 2 File uploader
3.1 3 Color picker
3.2 Media elements
3.2 1 Displaying images
3.2 2 Displaying videos
3.2 3 Displaying audio
3.3 Chart elements
3.3 1 Line chart
3.3 2 Bar chart
3.3 3 Area chart
3.3 4 Scatter chart
3.3 5 Map chart
4 Layout and Styling
4.1 Layout components
4.1 1 Columns
4.1 2 Tabs
4.1 3 Expander
4.2 Styling elements
4.2 1 Custom CSS
4.2 2 Theming
4.2 3 Adding custom fonts
5 State Management
5.1 Session state
5.1 1 Managing state across reruns
5.1 2 Persisting state
5.2 Caching
5.2 1 Caching functions
5.2 2 Caching data
6 Deployment
6.1 Deploying to Streamlit Sharing
6.1 1 Setting up Streamlit Sharing
6.1 2 Deploying your app
6.2 Deploying to other platforms
6.2 1 Deploying to Heroku
6.2 2 Deploying to AWS
6.2 3 Deploying to Google Cloud
7 Best Practices
7.1 Writing clean and maintainable code
7.2 Optimizing performance
7.3 Handling errors and exceptions
7.4 Version control with Git
8 Advanced Topics
8.1 Integrating with other libraries
8.1 1 Integrating with Pandas
8.1 2 Integrating with Plotly
8.1 3 Integrating with TensorFlow
8.2 Building complex apps
8.2 1 Creating multi-page apps
8.2 2 Handling authentication
8.2 3 Building interactive dashboards
8.3 Custom components
8.3 1 Creating custom widgets
8.3 2 Extending Streamlit with custom components
9 Case Studies
9.1 Building a data exploration app
9.2 Building a machine learning model deployment app
9.3 Building a real-time data visualization app
3 2 3 Displaying Audio Explained

2 3 Displaying Audio Explained

Key Concepts

st.audio

st.audio is a Streamlit function that allows you to embed and play audio files directly within your application. This function is particularly useful for applications that require audio feedback, such as music players, podcasts, or voice recordings.

Audio File Formats

The st.audio function supports various audio file formats, including MP3, WAV, FLAC, and OGG. When using this function, ensure that the audio file is in a supported format to ensure compatibility and proper playback.

Audio Playback

Once an audio file is embedded using st.audio, users can control the playback directly from the Streamlit interface. This includes features like play, pause, and volume control. The audio player is automatically rendered, providing a seamless user experience.

Examples

Here are some examples to illustrate the use of st.audio:

import streamlit as st

st.title("Audio Player Example")

# Basic audio player
audio_file = open("sample.mp3", "rb")
audio_bytes = audio_file.read()
st.audio(audio_bytes, format="audio/mp3")

# Audio player with a caption
st.audio(audio_bytes, format="audio/mp3", start_time=0)
st.write("Listen to this sample audio clip.")
    

Analogies

Think of st.audio as a digital audio player embedded within your Streamlit application. Just like a physical audio player, users can play, pause, and control the volume of the audio. The supported file formats ensure that the player can handle a variety of audio types, similar to how a versatile audio player can play different types of CDs or files.

By mastering st.audio, you can enhance your Streamlit applications by providing audio capabilities, making your apps more interactive and engaging.