rhythm_pattern_explorer

Rhythm Pattern Explorer Plugin - Current Status

Version: 2.8

Last Updated: July 2, 2025
Build Status: ✅ Working (macOS AU/VST3)

Current Features

Core Functionality

Pattern Types Supported

  1. Euclidean Patterns: E(onsets, steps, rotation)
    • Bjorklund algorithm implementation
    • Even distribution of onsets across steps
  2. Polygon Patterns: P(sides, vertices, rotation)
    • Geometric rhythm generation
    • Based on regular polygon vertex positions
  3. Random Patterns: R(onsets, steps, seed)
    • Controlled randomization with optional seed
  4. Binary Patterns: B(binary_value, steps)
    • Direct binary representation of rhythms

Progressive Transformations

UPI (Universal Pattern Input) Parser

Advanced pattern notation supporting:

Technical Implementation

Architecture

Key Classes

Files Structure

Source/
├── PluginProcessor.cpp/h     # Main plugin implementation
├── PluginEditor.cpp/h        # User interface
├── PatternEngine.cpp/h       # Pattern generation core
└── UPIParser.cpp/h          # Pattern notation parser

Plugin Formats

✅ Working Formats

❌ Current Issues

Performance Characteristics

Tested Scenarios

Resource Usage

Known Working Configurations

DAW Compatibility

Pattern Examples (Tested)

E(3,8)         # Basic Euclidean: 10010010
E(1,8)E>8      # Progressive Euclidean: 1→8 onsets
E(8,8)B>1      # Barlow dilution: 8→1 onsets
P(5,12,0)      # Pentagon rhythm in 12 steps
E(3,8)+P(3,8)  # Pattern combination

Development History

Major Milestones

  1. Initial Implementation: Basic Euclidean and polygon patterns
  2. UPI Parser: Advanced pattern notation system
  3. Progressive Transformations: Barlow and anti-patterns
  4. Threading Safety: Resolved race conditions
  5. UI Improvements: Resizable interface, circular display
  6. iOS Attempts: Multiple approaches, JUCE limitations encountered

Bug Fixes

Future Development

Planned Improvements

iOS Strategy

Given current JUCE AUv3 issues:

  1. Monitor JUCE updates for iOS fixes
  2. Consider alternative frameworks (AudioKit, native iOS)
  3. Standalone iOS app with AudioBus/IAA
  4. Web-based solution optimization

Installation

macOS Plugin Installation

Plugins are installed to:

Building from Source

  1. Open RhythmPatternExplorer.jucer in Projucer
  2. Generate Xcode project
  3. Build in Xcode (Release configuration recommended)
  4. Plugins automatically copied to system directories

Support

Documentation

Contact