Skip to content

v0.2.0 - Pattern Persistence & Expression Control

Latest

Choose a tag to compare

@iltempo iltempo released this 29 Nov 19:36
· 23 commits to main since this release

🎹 Phase 2: Musical Enhancements

This release adds pattern persistence and expressive per-step control, making Interplay much more practical for creating and refining musical ideas.

New Features

Pattern Persistence

Save and manage your patterns with JSON file storage:

  • save <name> - Save current pattern to file
  • load <name> - Load a saved pattern
  • list - View all saved patterns
  • delete <name> - Delete a saved pattern

Patterns are stored in patterns/ directory as human-readable JSON files with name, tempo, steps, and timestamp.

Per-Step Velocity & Gate Control

Add dynamics and articulation to your patterns:

  • velocity <step> <value> - Set velocity (0-127, default 100)
  • gate <step> <percent> - Set gate length (1-100%, default 90%)
  • Create accents with high velocity
  • Create staccato with short gates (< 90%)
  • Create legato with long gates (> 90%)

Improved Default Pattern

New melodic starting pattern (C minor) with:

  • Dynamic expression (velocities 90-120)
  • Varied articulation (gates 60-90%)
  • Rhythmic interest on steps 1, 4, 5, 9, 13

Example Usage

# Create a pattern with expression
set 1 C3
velocity 1 127
gate 1 50
set 5 G3
velocity 5 80
gate 5 100

# Save it
save my_bass_line

# Load it later
load my_bass_line

# See all patterns
list

Installation

go install github.com/iltempo/interplay@v0.2.0

Or build from source:

git clone https://github.com/iltempo/interplay.git
cd interplay
git checkout v0.2.0
go build
./interplay

What's Next (Phase 2 Continued)

  • Variable pattern lengths (1-4 bars)
  • Pattern manipulation (transpose, randomize, shift)
  • Better visual feedback

See CLAUDE.md for the full roadmap.