meeting-analyzer / README.md
Meeting Analyzer with AI
Ai application for analyzing and transcribing meeting audio
Meeting Analyzer with AI
This project provides a Streamlit application for analyzing and transcribing meeting audio using AI. You can either upload a pre-recorded meeting or record a new one directly from the application. The audio is then processed, transcribed, and analyzed to generate a meeting summary.
Features
- Summary of the Meeting: Provides a concise overview of the main points and action items discussed during the meeting.
- Minutes of the Meeting: Generates a detailed transcript of the meeting, including time-stamped notes of what was discussed.
- Analysis Visualization: Visualizes key metrics and insights from the meeting.
Architecture
The application is split into two main components:
- Frontend: A Streamlit application that handles user interactions and displays results.
- Backend: A FastAPI server that processes audio files and performs the analysis.
Usage
To run the application locally:
- Ensure you have Docker and Docker Compose installed.
- Clone this repository.
- Navigate to the project directory and run:
$env:DOCKER_BUILDKIT=1 docker-compose up --build - Open a web browser and go to
http://localhost:8501to access the Streamlit interface.
Configuration
The application uses a configuration file to store settings like the POD URL. The configuration is loaded at startup and can be updated through the application.
Components
Frontend (Streamlit)
- GPU Utilization: Choose between "Local" and "API".
- LLM Inference Type: Select "Local LLM Model" or "Cloud LLM Model".
- Language: Choose between English and Arabic for the minutes of the meeting.
- Upload Meeting: Upload a pre-recorded meeting audio file.
- Record Meeting: Record a new meeting audio.
- Analyze Meeting: Analyze the uploaded or recorded meeting audio.
Backend (FastAPI)
- Audio Processing: Prepares and analyzes audio files.
- Configuration Management: Handles saving and loading of configuration settings.
- Output Generation: Creates formatted output for the frontend to display.
Code Structure
Frontend
app.py: Main Streamlit application file.my_upload.py: Contains the custom upload component.my_recorder.py: Contains the custom record component.utils/style.py: Contains the function to apply styles to the Streamlit app.
Backend
main.py: FastAPI server main file.utils/audio_utils.py: Contains functions to prepare audio files for analysis.utils/audio_analysis.py: Contains the function to analyze audio files.utils/output_utils.py: Contains functions to display the output of the analysis.utils/utils.py: Contains functions to save and load configuration settings.
Deployment
The application is containerized using Docker, making it easy to deploy in various environments. The docker-compose.yml file defines the services for both the frontend and backend.