Melodial
Generate MIDI sequences from pattern data with full polyphonic support. Melodial takes nested arrays of musical information and converts them into properly timed MIDI output, complete with chord support and musical quantization.
Perfect for algorithmic composition, pattern-based sequencing, or converting data structures into musical sequences.
How it works
Melodial interprets nested array patterns where each step can contain single notes or full chords. The patterns are played back with musical timing, creating natural-feeling sequences.
Pattern - Nested array structure defining your sequence:
[
[ [pitch, velocity], [pitch, velocity]] , // Chord in step 1
[ [pitch, velocity] ], // Single note in step 2
[], // Rest in step 3
[ [60, 100], [64, 80], [67, 90]] // C major chord in step 4
]
Each inner array represents one time step, and can contain multiple note pairs for chords or single note pairs for monophonic passages.
Pattern structure
Notes: Each note is defined as [pitch, velocity]
where pitch is MIDI note number (0-127) and velocity is MIDI velocity (0-127).
Chords: Multiple note pairs in a single step: [[60, 100], [64, 80], [67, 90]]
plays C, E, and G simultaneously.
Rests: Empty arrays []
create silence for that step.
Pattern length: The pattern can be any length - short motifs or long sequences.
Musical features
Polyphonic support: Full chord support with individual velocity control for each note.
Musical quantization: Automatically syncs with score’s musical timeline for proper timing.
Running note management: Handles note-on/off messages correctly, preventing stuck notes.
Dynamic patterns: Pattern data can be modified in real-time for evolving sequences.
Creative applications
Algorithmic composition: Generate patterns programmatically and feed them to Melodial for instant musical output.
Data sonification: Convert numerical data into musical patterns - stock prices, sensor readings, or scientific data become melodies and harmonies.
Interactive sequencing: Modify pattern data based on user input, sensors, or other processes for responsive musical systems.
Harmonic exploration: Experiment with chord progressions and voicings by directly editing pattern data.
Rhythmic patterns: Create complex polyrhythms by using patterns of different lengths.
Advanced techniques
Pattern layering: Use multiple Melodial processes with different patterns for complex polyrhythmic compositions.
Dynamic editing: Modify pattern data in real-time to create evolving, living musical sequences.
Data conversion: Transform control data from sensors, algorithms, or other sources into pattern format for musical expression.
Chord vocabulary: Build libraries of chord patterns for different harmonic styles and progressions.
Integration with score
Melodial works seamlessly with:
- Software synthesizers for audio output
- MIDI utilities for further processing
- MIDI Filter for extracting specific elements
- External MIDI devices for hardware synthesis
The pattern data can be generated by other processes, modified by control inputs, or stored as presets for recall during performance.
Technical details
Built with musical quantization integration, ensuring patterns play back with proper timing relative to score’s timeline. The process maintains proper MIDI state management, handling note-on/off messages cleanly even when patterns change mid-playback.
Pattern modification during playback is supported - change the pattern data and hear the results on the next pattern cycle.
Related processes
Perfect companion to MIDI utilities for sequence processing, MIDI Filter for data extraction, or data generation processes that can create pattern structures for musical output.