meeting-analyzer / README.md

Meeting Analyzer with AI

Ai application for analyzing and transcribing meeting audio

Last updated: 4/16/2026GitHub

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

  1. Summary of the Meeting: Provides a concise overview of the main points and action items discussed during the meeting.
  2. Minutes of the Meeting: Generates a detailed transcript of the meeting, including time-stamped notes of what was discussed.
  3. Analysis Visualization: Visualizes key metrics and insights from the meeting.

Architecture

The application is split into two main components:

  1. Frontend: A Streamlit application that handles user interactions and displays results.
  2. Backend: A FastAPI server that processes audio files and performs the analysis.

Usage

To run the application locally:

  1. Ensure you have Docker and Docker Compose installed.
  2. Clone this repository.
  3. Navigate to the project directory and run:
    $env:DOCKER_BUILDKIT=1
    docker-compose up --build
    
  4. Open a web browser and go to http://localhost:8501 to 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.