# https://github.com/theevann/streamlit-audiorecorder # An audio Recorder for streamlit # # Description # Audio recorder component for streamlit. # It creates a button to start the recording and takes three arguments: # the start button text, the stop button text, and the pause button text. # If the pause button text is not specified, the pause button is not displayed. # # Parameters # The signature of the component is: # audiorecorder(start_prompt="Start recording", stop_prompt="Stop recording", pause_prompt="", key=None): # The prompt parameters are self-explanatory, and the optionnal key parameter is used internally by streamlit # to properly distinguish multiple audiorecorders on the page. # # Return value # The component's return value is a pydub AudioSegment. # # All AudioSegment methods are available, in particular you can: # - Play the audio in the frontend with st.audio(audio.export().read()) # - Save the audio to a file with audio.export("audio.wav", format="wav") # JB: Waarom zie ik in mijn HF Spaces omgeving de file "audio.wav" niet terug ? # # Installation: # pip install streamlit-audiorecorder # Note: This package uses ffmpeg, so it should be installed for this audiorecorder to work properly. # # On ubuntu/debian: sudo apt update && sudo apt install ffmpeg # On mac: brew install ffmpeg import streamlit as st from audiorecorder import audiorecorder st.title("Audio Recorder") audio = audiorecorder("Click to record", "Click to stop recording") if len(audio) > 0: # 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")