Skip to main content

Audio recorder component for streamlit

Project description

Audio Recorder for streamlit

Streamlit App

Audio recorder component for streamlit.
It creates a button: one click to start recording, one click to stop recording.
The component's return value is a pydub AudioSegment.
To play the audio in the frontend, use st.audio(audio.export().read()).
All pydub AudioSegment methods are available, so you can save the audio to a file with audio.export("audio.wav", format="wav") for example.

Install it with pip:

pip install streamlit-audiorecorder

Note: This package uses pydub which uses ffmpeg, so both should be installed for this audiorecorder to work properly.

Use it:

import streamlit as st
from audiorecorder import audiorecorder

st.title("Audio Recorder")
audio = audiorecorder("Click to record", "Click to stop recording")

if not audio.empty():
    # To play audio in frontend:
    st.audio(audio.export().read())  

    # To save audio to a file, use pydub export method:
    audio.export("audio.wav", format="wav")

    # To get audio properties, use pydub AudioSegment properties:
    st.write(f"Frame rate: {audio.frame_rate}, Frame width: {audio.frame_width}, Duration: {audio.duration_seconds} seconds")

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

streamlit-audiorecorder-0.0.3.post1.tar.gz (442.4 kB view hashes)

Uploaded Source

Built Distribution

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page