Skip to content
This repository was archived by the owner on May 30, 2026. It is now read-only.

axtheon/MoodCutter_POC

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MoodCutter 🎬

They clip what you said. We clip what you felt.

MoodCutter is an open-source proof of concept for an AI system that automatically detects and extracts emotionally resonant moments from video — funny, sad, and high-energy — to help content creators find their best clips in seconds, not hours.


Status — POC Complete ✅ — Archived

The proof of concept has achieved its goal: validating that audio-based emotional moment detection in video is technically feasible.

Active development has moved to two separate repositories:

  • MoodCutter-Community — Free and open-source. A three-signal emotion detection pipeline (speech sentiment, laughter detection, voice intensity) that content creators and developers can run on their own machines, Kaggle, or Google Colab. No subscription. No hosted backend. Bring your own compute.

  • MoodCutter-Pro — Closed-source. The full product. Adds facial emotion recognition, crowd reaction detection, and the fusion layer that combines all signals into a Virality Score with plain-language reasoning. Built for content creators who want a hosted, no-setup experience.

This repository is archived as a reference implementation. No further features will be added here.


The Problem

Content creators spend hours scrubbing through footage to find the 3 seconds that made someone laugh or cry. Existing AI clippers — OpusClip, TuBoost, and others — analyze transcripts and content patterns. They detect what you said, not how it made people feel.

A transcript can find your most quotable line. It cannot find the moment your voice spiked, the audience laughed, and your face shifted from neutral to pure joy — all in the same second. That is the moment that goes viral. That is what MoodCutter is built to find.


Why the Full Product Is Not Open Source

The three-signal pipeline in MoodCutter-Community is open source because it demonstrates the approach and gives the developer community something real to build on.

The advanced features — facial emotion recognition, crowd reaction detection, and the fusion layer — represent the core technical moat of the product. Making them open source would allow well-funded competitors to absorb years of research and development instantly.

MoodCutter-Community is genuinely useful and genuinely free. MoodCutter-Pro is for creators who want the full system without running anything locally.


What This POC Demonstrates

The v0.1 implementation uses audio-based loudness detection as the foundational signal for emotional moment detection.

  • ✅ Audio loudness analysis using RMS energy
  • ✅ Dynamic threshold-based loud moment detection
  • ✅ Timestamped moment extraction
  • ✅ Energy visualization graph
  • ✅ Waveform analysis with highlighted segments
  • ✅ Command-line interface

Screenshots

Terminal Output

CLI Output Audio analysis results showing detected loud moments with timestamps

Energy Visualization

Energy Graph Bar chart showing audio energy levels over time with detection threshold

Waveform Analysis

Timestamps Visualization Audio waveform with highlighted loud segments


Installation

git clone https://github.com/axtheon/MoodCutter.git
cd MoodCutter
pip install -r requirements.txt

Usage

python src/CLI/main.py

The script will:

  1. Load the test audio file (examples/audio/test_audio.wav)
  2. Analyze audio in 0.5-second chunks
  3. Detect moments exceeding 1.5× average energy
  4. Display timestamps in terminal
  5. Show an interactive energy visualization graph

Configuration

CHUNK_DURATION = 0.5          # Analysis window size (seconds)
THRESHOLD_MULTIPLIER = 1.5    # Sensitivity (lower = more sensitive)

How It Works (v0.1)

  1. Audio Loading — Loads audio using librosa
  2. Chunking — Divides audio into fixed-duration segments
  3. Energy Calculation — Computes RMS energy (loudness) per chunk
  4. Threshold Detection — Flags chunks exceeding the dynamic threshold
  5. Visualization — Displays energy levels and detected moments

Tech Stack

  • Python
  • librosa — audio analysis
  • matplotlib — visualization

The Signal Stack — Where This Is Going

This POC demonstrates one signal. The full MoodCutter system is built on six:

Signal What It Detects Status
Voice Intensity Energy spikes, loudness peaks ✅ This repo
Speech Sentiment Emotional polarity in spoken words MoodCutter-Community
Laughter Detection Genuine laughter in audio stream MoodCutter-Community
Facial Emotion Joy, surprise, sadness on subjects' faces MoodCutter-Pro
Crowd Reaction Audience laughter, applause, gasps MoodCutter-Pro
Virality Score All signals fused into one score with reasoning MoodCutter-Pro

License

MIT License — see LICENSE for details.


Follow the Build

This project is being built in public.

Built by a 14-year-old from Lahore, Pakistan. They clip what you said. We clip what you felt.

About

Open-source Python tool that automatically detects and extracts emotionally resonant moments from videos using audio and video analysis. This repo is a POC of the original idea.

Topics

Resources

License

Stars

2 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors

Languages