Nathan Fenoglio

Midi Sequencing Toolbox

midisequencingtoolbox

Created with React 19, React Router 7, Vite 7, and webmidi (Web MIDI API wrapper)

a collection of browser-based tools for generating musical ideas, brought together so information passes easily between them

everything is accessible in one place while brainstorming a composition

these tools generate complex patterns that still feel highly organized

the difference from random sequence generators is noticeable right away

several tools generate melodies, others generate rhythms

use any tool on its own, or chain them together to explore the space of possible melodic and rhythmic sequences

most tools have "Send ... to main" buttons that push their result to the Home page, where you audition and send it out as live MIDI

some also offer "Send notes to Take 2" to push a note sequence into the Take 2 page for further manipulation

this master project absorbs functionality from earlier standalone projects on this site, including 1D Cellular Automata Midi Sequencer, Graph Traversal Sequencer, and Midi VST3 Plugin Multi Sequence Manipulator (Take 2-style sequence operations)

Please use with your midi device at:

Tutorial

Home — MIDI send

Home is where you assemble a rhythm plus a note sequence and send it out as live MIDI with the SEND MIDI button

other tools fill these fields for you, or you can type them directly

Sending MIDI out (setup)

you need something on your device receiving MIDI

I use Ableton Live with VST plugins, and LoopBe30 to create the virtual MIDI ports

if you have no DAW, FluidSynth is a free cross-platform MIDI synth

once you have internal MIDI ports available (e.g. via LoopBe30), the port will be selectable in the Output dropdown after you click SEND MIDI

1D Cellular Automata Midi Sequencer (Wolfram CA)

create rhythms from a horizontal cross-section (a row) of any of Stephen Wolfram's 256 elementary 1D cellular automata

this functionality was absorbed from the earlier standalone 1D Cellular Automata Midi Sequencer project

Up Down Midi Sequencer

many melodies are built by marching through a scale playing every other note, every third note, and so on, up or down

this tool gives you high-level control over that idea

the output updates automatically whenever scale, start note, repeats, and the row fields are all valid; fully blank rows are skipped

each row's "current note" chains from the start note and the previous row's calculated ending note

each row is one operation:

add or delete as many rows as you like

Send notes to main sends the sequence to the Home page; Send notes to Take 2 sends it into the Take 2 page's sequence 1 field for further manipulation

Graph Traversal Sequencer

draw a graph where nodes are MIDI notes and edges are allowed connections between notes, then generate note sequences from every path through the graph starting at a chosen node

this functionality was absorbed from the earlier standalone Graph Traversal Sequencer project

Take 2 Sequences And Do A Bunch Of Stuff

hold two note sequences and apply operations to generate new ones

enter integers (typically MIDI note numbers) comma-separated into sequence 1 and sequence 2

related sequence-operation ideas also appear in the earlier Midi VST3 Plugin Multi Sequence Manipulator project; those kinds of operations are absorbed here in the Take 2 tool

Per-sequence operations

Replacement

Both-sequence operations

Output and holds

Rhythm Compositions

generate every ordered partition (composition) of a rhythmic space for a given number of hits

for example, a 5-cell space with 3 hits has these 6 compositions:

Morse Code Rhythm Generator

turn text into rhythm by encoding it as Morse code and translating dots, dashes, and gaps into hits and rests

the idea comes from Rush's "YYZ", which encodes the letters Y, Y, Z in Morse and plays it as rhythm using 1 unit for a dot and 2 units for a dash, with no extra rest gaps; that is the default with the YYZ checkbox

Please use with your midi device at:

Nathan Fenoglio

Copyright © 2024. All Rights Reserved.