Sakil commited on
Commit
927b90e
·
verified ·
1 Parent(s): 13dea97

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +53 -0
app.py ADDED
@@ -0,0 +1,53 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ import tempfile
3
+ import os
4
+ import google.generativeai as genai
5
+
6
+ from dotenv import load_dotenv
7
+
8
+ load_dotenv()
9
+
10
+ # Configure Google API for audio summarization
11
+ GOOGLE_API_KEY = os.getenv("GOOGLE_API_KEY")
12
+ genai.configure(api_key=GOOGLE_API_KEY)
13
+
14
+ def summarize_audio(audio_file_path):
15
+ """Summarize the audio using Google's Generative API."""
16
+ model = genai.GenerativeModel("models/gemini-1.5-pro-latest")
17
+ audio_file = genai.upload_file(path=audio_file_path)
18
+ response = model.generate_content(
19
+ [
20
+ "Please summarize the following audio.",
21
+ audio_file
22
+ ]
23
+ )
24
+ return response.text
25
+
26
+ def save_uploaded_file(uploaded_file):
27
+ """Save uploaded file to a temporary file and return the path."""
28
+ try:
29
+ with tempfile.NamedTemporaryFile(delete=False, suffix='.' + uploaded_file.name.split('.')[-1]) as tmp_file:
30
+ tmp_file.write(uploaded_file.getvalue())
31
+ return tmp_file.name
32
+ except Exception as e:
33
+ st.error(f"Error handling uploaded file: {e}")
34
+ return None
35
+
36
+ # Streamlit app interface
37
+ st.title('Your Audio Summarization App')
38
+
39
+ with st.expander("About Summarization app"):
40
+ st.write("""
41
+ This application utilizes Google's generative AI to summarise the content of audio files.
42
+ Simply upload your WAV or MP3 file to receive a brief summary of its contents.
43
+ """)
44
+
45
+ audio_file = st.file_uploader("Upload Audio File", type=['wav', 'mp3'])
46
+ if audio_file is not None:
47
+ audio_path = save_uploaded_file(audio_file) # Save the uploaded file and get the path
48
+ st.audio(audio_path)
49
+
50
+ if st.button('Summarize Audio'):
51
+ with st.spinner('Please Wait : Summarizing...'):
52
+ summary_text = summarize_audio(audio_path)
53
+ st.info(summary_text)