Project Structure

This page provides structure overview of Meetra AI code.

/data

  • /raw - Original, immutable data dump.

  • /processed - Final, canonical data sets for modeling.

  • /external - Data from third-party sources.

  • /interim - Intermediate transformed data.

  • /profanity_data - Data for profanity detection model.

  • /test - Data for unit tests.

/db

  • db_init.sql - Script for initializing the database.

  • db_stream_init.sql - Script for initializing streaming database.

/RabbitMQ

  • advanced_config - Configuration file for RabbitMQ service.

  • rabbitmq.dockerfile - Dockerfile for RabbitMQ container.

/gpu_utils

  • daemon.json - Configuration file to force GPU usage (not used for CPU-only devices).

/mysql

  • Deprecated MySQL database

/tqai

  • tqai.dockerfile - Dockerfile for app container.

  • setup_docker.sh - Bash script for installing Docker & MySQL dependencies.

/docs

  • Directory for storing documentation configuration.

    • /_templates

      • layout.html - Custom template for docs.

    • conf.py - Documentation configuration file.

/models

Audio Quality Classification (binary saved models):

  • /audio_lag_detector - Lagging audio classification.

  • /audio_reverb_detector - Reverb audio classification.

  • /music_detector - Music vs. speech classification.

Speech Emotion Classification (binary saved models):

  • /speech_neg_emotion - Negative emotions.

  • /speech_neutral - Neutral vs. non-neutral (sadness, anger, fear, disgust).

  • /speech_pos_emotion - Positive emotions (calm, happiness, surprised).

  • /speech_posneg_emotion - Positive vs. negative.

/ntlk_data

  • Locally saved data for NLTK model.

/notebooks

  • Directory for storing research notebooks.

/reports

  • Directory for storing meeting reports.

/src

  • config.py - Script for loading settings from config.yaml.

/app

  • Flask app structure:

    • /static - Static files for app.

    • /templates - Templates for app.

    • app.py - Flask app (API, report generation, etc.).

    • default_settings.pkl - Default settings for endpoint /meeting/<meeting_id>/ (custom report generation).

/data

  • Data Processing Scripts:

    • audio_splitter.py - Splits audio files into shorter fragments.

    • audiodataframe.py - Class for processing audio files.

    • basedataframe.py - Abstract base class for audio and text dataframes.

    • textdataframe.py - Class for processing text data.

/database

  • DB Models & Scripts:

    • create_database.py - Script for creating database.

    • /models/init.py - DB models and methods.

/features

  • fourier_t.py - Generates Fourier transform of audio file.

  • rolling_emotions.py - Calculates time-weighted moving average scores for emotions.

/models

Audio-Based Models:

  • basemodel.py - Base class for some audio models.

  • audio_lag_detector.py - Detects audio lag.

  • audio_reverb_detector.py - Detects audio reverb.

  • speech_emotion_recognition_model.py - Classifies emotions in audio (hybrid architecture).

  • music_detector.py - Detects music vs. speech.

  • diarizationmodel.py - Speaker diarization.

  • speaker_detection_model.py - Compares speaker recordings.

Text-Based Models:

  • speech_to_text.py - Speech-to-text processing.

  • key_point_finder.py - Finds key parts of speech.

  • rpunct.py - Local source code for rpunct.

  • text_emotion_recognition_model.py - Classifies emotions from text (hybrid architecture).

  • text_summarizer.py - Generates text summary.

  • toxicity_detection_model.py - Detects toxicity in text fragments.

  • profanitydetectionmodel.py - Detects profanity in text fragments.

  • name_recognition_model.py - Detects introductions (e.g., "Hello I’m George").

  • offensive_lang_detection_model.py - Detects offensive language in text.

  • restore_punctuation_model.py - Corrects punctuation in speech-to-text output.

Environmental Recommendations:

  • /sensorsmodels.py - Environmental recommendations.

/services

Streaming & Report Services:

  • audio_report_service.py - Service for audio meeting report generation.

  • services_bridge.py - Connects streaming service and audio report service.

  • meetings_api.py - Class for API endpoints.

/streaming_service

  • Service for streaming audio from Timeqube Hardware Prototype to server.

/tests

  • Unit tests directory.

/tools

  • GUI tool for labeling audio files.

/utils

  • Auxiliary Scripts:

    • audio/ - Audio processing utilities (e.g., audio.py, audio_data.py).

    • check_upsampling.py - Checks audio upsampling from low frequency.

    • format_converter.py - Converts various audio/video formats.

    • docsutils/ - Utilities for documentation (e.g., dictutils.py).

    • logging_utils.py - Error logger for services.

    • nlp_utils.py - Extracts topics from text.

    • reportutils.py - Sends report/message via email.

    • rttm_utils.py - Merges short RTTM files.

    • speaker_statistics_model.py - Calculates speaker statistics.

    • textutils.py - Processes text (e.g., splits text into statements).

/visualization

  • Report generation and plot creation

    • /images - JPG files to include in reports.

    • /templates - HTML templates for rendering reports.

    • audio_feature_plot.py - Plots audio features (e.g., from AudioDataframe) for better understanding.

    • generate_business_report.py - Generates HTML report for meetings.

    • meeting_visualizer.py - Class for generating various plots based on meeting data.

Other Files in Root

Database Management

  • add_user_to_db.py - Script for adding a new user to the database.

  • service_cleanup.py - Cleans the database and service files (e.g., reports, WAV fragment files) and creates default accounts.

Docker & Project Setup

  • docker-compose.yml - Docker Compose settings.

  • requirements.txt - External requirements for the project.

  • config.yaml - Project configuration parameters.

Pre-commit Hooks

  • install_precommit_hooks.bash - Script for installing pre-commit hooks requirements.

  • precommitutils.py - Configuration for hooks.

  • pyproject.toml - Configuration for the interrogate package.

Documentation

  • interrogate_badge.svg - Infographic of docstring coverage percentage.

  • show_docs.py - Creates and displays project documentation.

Last updated