Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🎚️ CUEpoint - Professional DJ Audio Analysis Tool

Advanced cue point management, structure detection, and Serato compatibility for professional DJs

Phase 3 Complete Serato Compatible Python 3.8+ PyQt6

🎯 Project Overview

CUEpoint is a comprehensive audio analysis tool designed for professional DJs and music producers. It provides advanced cue point management, automatic structure detection, beat analysis, and visual overlays with full Serato DJ Pro compatibility.

πŸŽ‰ Phase 3 Complete: Structure & Visual Enhancement with automatic intro/verse/chorus detection and advanced visual overlays!

✨ Features

🎡 Advanced Audio Analysis

  • High-quality audio loading with support for MP3, WAV, FLAC, M4A, OGG
  • Multi-algorithm beat detection using madmom DBN and aubio tempo
  • Automatic BPM detection with confidence scoring and tempo stability
  • Real-time waveform visualization with GPU-accelerated rendering

🎯 Professional Cue Point Management

  • Visual cue points with 16 customizable colors and editable labels
  • Full Serato DJ Pro compatibility - bidirectional import/export
  • Keyboard shortcuts for rapid cue access (⌘1-9, ⌘Shift+1-7)
  • Batch operations with conflict resolution and auto-optimization
  • Enhanced validation with strict mode and auto-repair

🎨 Structure Detection & Visual Overlays

  • Automatic structure analysis - detects intro/verse/chorus/breakdown/buildup/outro
  • Interactive visual overlays - cue points and structure sections on waveform
  • Confidence scoring - 0-100% reliability for each detected section
  • Multi-feature analysis - energy, spectral centroid, MFCCs, chroma, tempo
  • Customizable parameters - configurable thresholds and feature weights

🧭 Enhanced Navigation & Zoom

  • Mini-map widget - full track overview with current view indicator
  • Advanced zoom controls - logarithmic zoom from 0.1x to 100x
  • Smart navigation - auto-zoom to cues, follow playback mode
  • Interactive overview - click and drag navigation
  • Time markers - automatic scale with 30-second intervals

πŸ“Š Professional UI & Workflow

  • Modern PyQt6 interface with dark theme and professional styling
  • Enhanced sidebar - interactive cue and structure management
  • Real-time performance monitoring - CPU, memory, and operation metrics
  • Advanced error handling - graceful degradation and auto-recovery
  • Comprehensive logging - detailed operation tracking

πŸš€ Quick Start

Installation

# Clone the repository
git clone https://github.com/FmBlueSystem/CreateHotCue.git
cd CreateHotCue

# Install dependencies
pip install -r requirements.txt

# Optional: Install advanced audio analysis libraries
pip install librosa madmom aubio

# Run the application
python main.py

Basic Usage

  1. Load Audio: Drag & drop audio files or use File β†’ Open
  2. Automatic Analysis: Structure and beat analysis start automatically
  3. Set Cue Points: Click waveform position + ⌘1-9 for hot cues
  4. View Structure: See detected sections in sidebar and waveform overlays
  5. Navigate: Use mini-map and zoom controls for detailed editing
  6. Export: Cue points and structure automatically saved in Serato format

Advanced Features

  • Structure Analysis: Click "Analyze Structure" for manual analysis
  • Visual Overlays: Toggle cue points and structure overlays independently
  • Batch Cue Operations: Add multiple cues with validation and optimization
  • Smart Zoom: Use presets (Overview, Detail, Fine, Ultra) for quick navigation
  • Performance Monitoring: View real-time metrics and cache statistics

πŸ“Š Phase Implementation Status

Phase Status Features
Phase 1 βœ… Complete Audio loading, beat detection, waveform display
Phase 2 βœ… Complete Cue management, Serato compatibility, metadata
Phase 3 βœ… Complete Structure detection, visual overlays, navigation
Phase 4 πŸ”„ Next Loop management, real-time effects, export system

πŸ”§ Configuration

CUEpoint is highly configurable through config/config.json:

{
  "audio": {
    "sample_rate": 44100,
    "supported_formats": ["mp3", "wav", "flac", "m4a", "ogg"]
  },
  "cues": {
    "max_cues": 16,
    "auto_save": true,
    "serato_compatibility": true,
    "validation_strict": true,
    "cache_enabled": true,
    "batch_operations": true
  },
  "structure": {
    "auto_detect": true,
    "confidence_threshold": 0.7,
    "min_section_duration": 8.0,
    "feature_weights": {
      "energy": 0.3,
      "spectral_centroid": 0.2,
      "mfcc": 0.25,
      "chroma": 0.15,
      "tempo": 0.1
    }
  },
  "waveform": {
    "overlays": {
      "show_cue_overlays": true,
      "show_structure_overlays": true
    }
  }
}

πŸ“‹ Requirements

Core Dependencies

  • Python 3.8+
  • PyQt6 - Modern GUI framework
  • PyQtGraph - High-performance plotting with GPU acceleration
  • NumPy - Numerical computing
  • SciPy - Scientific computing

Optional Audio Analysis

  • librosa - Advanced audio analysis and structure detection
  • madmom - Professional beat tracking algorithms
  • aubio - Real-time audio analysis
  • mutagen - Audio metadata handling

Development & Testing

  • pytest - Testing framework
  • psutil - System monitoring
  • concurrent.futures - Parallel processing

πŸ—οΈ Architecture

src/
β”œβ”€β”€ core/               # Core audio processing
β”‚   β”œβ”€β”€ audio_loader.py        # Multi-format audio loading
β”‚   β”œβ”€β”€ beatgrid_engine.py     # Beat detection algorithms
β”‚   β”œβ”€β”€ cue_manager.py         # Enhanced cue point management
β”‚   β”œβ”€β”€ metadata_parser.py     # Safe metadata operations
β”‚   └── serato_bridge.py       # Serato compatibility layer
β”œβ”€β”€ analysis/           # Audio analysis algorithms
β”‚   └── structure_analyzer.py  # Automatic structure detection
β”œβ”€β”€ gui/                # User interface components
β”‚   β”œβ”€β”€ main_window.py         # Main application window
β”‚   β”œβ”€β”€ waveform_view.py       # Enhanced waveform with overlays
β”‚   β”œβ”€β”€ sidebar.py             # Interactive cue/structure management
β”‚   └── navigation_controls.py # Advanced navigation and zoom
└── utils/              # Utility functions
    └── performance_monitor.py # Real-time performance tracking

config/                 # Configuration files
tests/                  # Comprehensive test suite
scripts/                # Development and validation scripts
docs/                   # Phase documentation

πŸ§ͺ Testing & Validation

# Run all tests
python -m pytest tests/ -v

# Run phase-specific validation
./scripts/validate_phase1.py    # Audio & Beat Analysis
./scripts/validate_phase2.py    # Cue & Metadata Hub  
./scripts/validate_phase3.py    # Structure & Visual Enhancement

# Run enhanced validation (Phase 2 fortified)
./scripts/validate_enhanced_phase2.py

# Performance testing
python -m pytest tests/performance/ -v

Test Coverage

  • Unit Tests: 85%+ coverage for all core components
  • Integration Tests: Complete workflow validation
  • Performance Tests: Stress testing under load
  • Compatibility Tests: Serato DJ Pro integration

πŸ“ˆ Performance Metrics

CUEpoint is optimized for professional use:

Operation Target Achieved Phase
Audio Loading <2s βœ… ~1.2s Phase 1
Beat Detection <5s βœ… ~3.8s Phase 1
Structure Analysis <10s βœ… ~6s Phase 3
Cue Operations <50ms βœ… ~15ms Phase 2
Visual Overlays 60 FPS βœ… Maintained Phase 3
Navigation Response <50ms βœ… ~20ms Phase 3
Memory Usage <500MB βœ… ~245MB All Phases

πŸŽ›οΈ User Interface

Enhanced Waveform with Overlays

β”Œβ”€ Waveform Display ───────────────────────────────────────┐
β”‚ [Intro    ] [Verse      ] [Chorus     ] [Outro    ]     β”‚
β”‚ ●1 Drop    ●2 Break      ●3 Build                       β”‚
β”‚ β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“ β”‚
β”‚ β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“ β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Navigation Controls

β”Œβ”€ Track Overview ─────────────────────────────────────────┐
β”‚ β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“β–“ β”‚
β”‚ 0:00    1:00    2:00    3:00    4:00    5:00    6:00   β”‚
β”‚ [β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ] β”‚
β”‚        ▲─── Current View ───▲                          β”‚
β”œβ”€ Zoom Level ──────────────────────────────────────────────
β”‚ [Overview] [Wide] [Normal] [Detail] [Fine] [Ultra]      β”‚
β”‚ ◄─────────●─────────► 2.0x                             β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

🎚️ Built with ❀️ for the professional DJ community

CUEpoint - Where precision meets creativity in audio analysis

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages