Cattail.Nu ZombieCoffee, a MIDI Rhythm Designer Tool

Copyright 2026 Cattail.Nu L.L.C. · www.Cattail.Nu/ZombieCoffee · Email: ZombieCoffee@Cattail.Nu

About

Cattail.Nu ZombieCoffee is a MIDI rhythm designer tool. Create multiple rhythm tracks with selected notes, velocity variance, and a downbeat/strong beat velocity addition, and then generate your MIDI. The rhythms loop, randomly selecting notes and randomly applying variance to the desired duration. This allows you to create tracks that can be easily used in your DAW that have human-sounding velocities. You can even add a random start-time variance to mimic humans who don't always precisely hit the exact timing. It's extremely useful for custom drum sound mapping.

ZombieCoffee is a standalone app, not a plugin. Created MIDI works with any DAW that supports standard MIDI files (FL Studio, Ableton Live, Logic Pro, GarageBand, Cubase, Studio One, Reaper, Bitwig Studio, Pro Tools, Reason, and more).

Workflow

  1. Create your project.
  2. Add a track.
  3. Select the notes you want randomly used on the track.
  4. Build your rhythm using the library of singletons and rhythms.
  5. Configure the track's velocity variance, downbeat/strong beat addition, start time variance.
  6. Add as many tracks as you want.
  7. Set how many notes you want on the project and generate.
  8. Generate and the downloaded ZIP has MIDI files for the combined tracks and the individual tracks.
  9. Import MIDI to your DAW and make your music.
  • Create a large amount of beats just by setting tracks to instruments.
  • Create custom instrument sound mapping using Direct Wave, FPC, or equivalent.
  • Use with Patcher or equivalent for advanced controller automation and effects.

See the simple example for a step-by-step walkthrough.

License

Your Projects and created MIDI files are yours to use however you want (commercially / non-commercially), standalone or embedded in your music, without attribution.

The software, database structure, etc. is mine. No reverse-engineering, re-creation, redistribution, etc.

Accessibility

If you are using VoiceOver, type Command+0 (macOS) or Control+0 (Windows) to open the Command Window. All application functionality is available through text commands with verbose feedback designed specifically for VoiceOver. This works like text-based games, you type a command, you get a response. Each screen of the GUI is a context in the Command Window with its own commands.

The font sizes can be customized in Settings for both the Command Window and the GUI text. Text will wrap instead of truncate with an ellipsis.

See the accessibility page.

Cattail.Nu ZombieCoffee Definitions

Downbeat
See Strong Velocity below.
End Time Variance
In pulses per quarter note. End time (calculated from note duration) + random (0 to end time variance).
Library
Collections that are used to build project tracks (Notes + Singletons = Track).
Library Rhythms
Reusable rhythms (or parts of rhythms) that you can quickly add to your track rhythms.
Note
Western music notes. Pitch (frequency) defined by MIDI. C C# D D# E F F# G G# A A# B. MIDI Note 60 is Middle C.
Project
Collection of tracks. Used to generate a downloadable MIDI file.
Pulses Per Quarter Note
MIDI duration qualifier. Cattail.Nu ZombieCoffee uses 2304 pulses per quarter note. This is higher than normal to add accuracy for 1/256 notes.
Quarter Notes to Generate
How long should the generated MIDI be? Don't crash your computer asking for a couple million of them.
Rhythm
Collection of singletons that creates a pattern of sound and silence. The rhythm does not have to match the Project Time Signature.
Singleton
Isolated musical note symbol representing duration, such as Sixteenth Note, Quarter Note, Half Note, Dotted Half Note, Whole Note, etc.
SQL
Structured Query Language. Standard syntax for directly interacting with databases. ZombieCoffee uses SQLite3 to store user data. Export and import scripts are just text files with these commands.
Start Time Variance
In pulses per quarter note. Start time + random (0 to start time variance).
Strong Velocity
Amount (0 to 127) to add to velocity when beat is at the beginning of a measure (downbeat). The MIDI range on this is 0-127. Adding 127 to the downbeat will guarantee that it is always max velocity.
Time Signature
4/4. Quarter notes per measure. Project Generation uses this to find the strong beat/downbeat, but the tracks just loop fill. A 3 beat rhythm in 4/4 time, will have | 1 2 3 1 | 2 3 1 2 | 3 1 2 3 | as its measures.
Track
Selected notes and ordered singletons. Randomly chosen selected notes are applied to the rhythm with applied variance to make a MIDI track. Track rhythms will loop until the Project Quarter Notes to Generate is reached.
Variance
Randomizers to make beats sound more human-played. The random value is added to velocity and/or downbeat during Generation. The MIDI range on this is 0-127.
Velocity
MIDI defined range of 0-127. How fast/loud the note hits.
Velocity Variance
0-127. Velocity + random (-velocity variance to velocity variance) applied per Singleton.

UI Notes

Use title, description, keywords to keep your data easily searchable. They have no impact on MIDI output.

In the GUI, generally:

  • Double-click to Edit.
  • Right-click to Delete.
  • Drag Singletons to rearrange them on the Edit Rhythm screen.
  • Sort by data grid column by clicking on the column header.
  • Use Search to filter data.

The Library rhythms that come with Cattail.Nu ZombieCoffee can be deleted. You can create your own.

Exporting and Importing Data

Your rhythm library and projects can be exported, backed up, shared, and imported, individually or entirely. When you import, if the SQL script only has 1 project or 1 rhythm, it will be appended to the current collection with the next ID value. If multiple projects or rhythms are imported in the script, you have the option of replacing the current dataset entirely. There is no undo and you should back up your data first.

If the ID numbers are getting too high, you can reset them by exporting all records and reimporting with replace. This restarts the count at 1.

You can edit the SQL files before importing them if you want. See User Data below.

User Data

Your ZombieCoffee data (as SQLite3) can be found here:

  • ~/Library/Containers/Cattail.Nu ZombieCoffee/Data/Library/Application Support/Cattail.Nu ZombieCoffee/ZombieCoffee.db
  • or ~/Library/Application Support/Cattail.Nu ZombieCoffee/ZombieCoffee.db

You could also back up this file instead of exporting. Either way works.

If you know SQL, you can edit your projects directly, but if you break it... the application may not work as expected.

Keyboard Navigation

Global keyboard shortcuts
macOSWindowsOpens
Cmd+0Ctrl+0Command Window
Cmd+1Ctrl+1Main Menu
Cmd+2Ctrl+2Projects
Cmd+3Ctrl+3Library Rhythms
Cmd+4Ctrl+4Library Singletons
Cmd+5Ctrl+5Library Notes
Cmd+6Ctrl+6Import Data
Cmd+7Ctrl+7Settings
Cmd+8Ctrl+8About and Help