A command-line tool that generates MIDI drum files from a DSL, specializing in complex polyrhythmic patterns and bass track generation.
Polyrhythmix is a command-line tool that generates MIDI drum files from a domain-specific language (DSL) describing drum patterns. It specializes in creating complex polyrhythmic and polymetric patterns, calculating when different drum parts converge, and can also generate a bass track that follows the kick drum. It solves the problem of manually composing and visualizing intricate polyrhythms in notation software like Guitar Pro.
Musicians and composers working in genres such as progressive rock, metal, djent, fusion, and Indian Carnatic music, who need to create and experiment with complex polyrhythmic drum patterns efficiently.
Developers choose Polyrhythmix for its specialized DSL that simplifies polyrhythmic composition, its ability to automatically calculate rhythmic convergence, and its seamless MIDI output that integrates with existing music production workflows, reducing manual errors and speeding up the creative process.
Polyrhythmically-inclined Midi Drum generator
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
The domain-specific language allows concise description of complex rhythms, such as using '8x--x--' for kick patterns, speeding up composition by reducing verbose notation.
Automatically calculates when drum parts converge, as shown in dry runs outputting bars until convergence, minimizing manual timing errors in polyrhythmic compositions.
With the -B option, it generates a bass MIDI track synchronized to the kick drum, enabling cohesive rhythm sections without extra setup, as demonstrated in examples.
Supports custom time signatures and tempos, allowing experimentation in various contexts, like switching from 4/4 to 3/4 to alter convergence points.
Focused solely on drum and bass patterns, with no support for melodic instruments or comprehensive music composition, limiting its use for full tracks.
Requires comfort with terminal usage and DSL syntax, which can be intimidating for musicians accustomed to GUI-based tools like DAWs or notation software.
The README provides a basic DSL overview but lacks extensive tutorials, error handling guides, or examples for advanced nested patterns, potentially stalling new users.