File size: 1,235 Bytes
8ed49ee
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import os
import requests
import streamlit as st
import sys
import whisper

from vectordb import add_image_to_index, add_pdf_to_index, add_audio_to_index

sys.path.append(os.path.dirname(os.path.abspath(__file__)))

def upload_audio(whisper_model, text_embedding_model):
    st.title("Upload Audio")
    recorded_audio = st.audio_input("Record Audio")
    st.write("---")
    uploaded_audios = st.file_uploader("Upload Audio", type=["mp3", "wav"], accept_multiple_files=True)
    if recorded_audio:
        st.audio(recorded_audio)
        if st.button("Add Audio"):
            add_audio_to_index(recorded_audio, whisper_model, text_embedding_model)
            st.success("Audio Added to Database")
    if uploaded_audios:
        for audio in uploaded_audios:
            st.audio(audio)
        if st.button("Add Audio"):
            progress_bar = st.progress(0, f"Adding Audio... | 0/{len(uploaded_audios)}")
            for count, audio in enumerate(uploaded_audios):
                add_audio_to_index(audio, whisper_model, text_embedding_model)
                progress_bar.progress((count + 1) / len(uploaded_audios), f"Adding Audio... | {count + 1}/{len(uploaded_audios)}")
            st.success("Audio Added to Database")