import streamlit as st import whisper import os from transformers import pipeline from pydub import AudioSegment def transcribe_audio(audiofile): st.session_state['audio'] = audiofile print(f"audio_file_session_state:{st.session_state['audio'] }") #get size of audio file audio_size = round(os.path.getsize(st.session_state['audio'])/(1024*1024),1) print(f"audio file size:{audio_size}") #determine audio length of file #determine if we need to break up file into chunks if (audio_size > ) return audio_size st.markdown("# Podcast Q&A") st.markdown( """ This helps understand information-dense podcast episodes by doing the following: - Speech to Text transcription - using OpenSource Whisper Model - Summarizes the episode - Allows you to ask questions and returns direct quotes from the episode. """ ) if st.button("Process Audio File"): transcribe_audio("marketplace-2023-06-14.mp3") #audio_file = st.file_uploader("Upload audio copy of file", key="upload", type=['.mp3']) # if audio_file: # transcribe_audio(audio_file)