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

axtheon/MoodCutter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 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.


The Problem

Content creators spend hours scrubbing through footage to find the 3 seconds that made someone laugh or cry. Existing AI clippers analyze transcripts and content patterns — they detect what you said, not how it made people feel. MoodCutter is being built to close that gap.


Status — POC Complete ✅

The proof of concept has achieved its goal of validating audio-based emotional moment detection. Active development has moved to the full product, which is being built privately.

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


What the POC Demonstrates

The v0.1 implementation uses audio-based loudness detection as a foundation for emotional moment detection in video.

What It Demonstrates

  • ✅ Audio loudness analysis using RMS energy
  • ✅ Dynamic threshold-based loud moment detection
  • ✅ Time-stamped 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

Scope

This repository covers the foundational proof of concept only — audio energy detection as a single signal. Further development is closed-source.

The full product is being built as a multimodal emotion detection system for content creators.


Open Source & Project Scope

This repository is published as a reference proof of concept. It demonstrates that automated emotional moment detection in audio is technically feasible.

The full product is in private development. This POC is not actively maintained.


License

MIT License — see LICENSE for details.


Built by @axtheon — follow for updates on the full product.

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

Watchers

Forks

Packages

 
 
 

Contributors

Languages