polyrhythmix
所属分类:hotest
开发工具:Rust
文件大小:0KB
下载次数:0
上传日期:2023-06-30 13:41:42
上 传 者:
sh-1993
说明: 多节奏倾斜Midi鼓发生器,
(Polyrhythmically-inclinded Midi Drum generator,)
文件列表:
Cargo.lock (13858, 2023-07-25)
Cargo.toml (566, 2023-07-25)
LICENSE.txt (1210, 2023-07-25)
doc/ (0, 2023-07-25)
doc/Guitar-Pro-Import.png (312574, 2023-07-25)
doc/bleed.mid (888, 2023-07-25)
src/ (0, 2023-07-25)
src/bin/ (0, 2023-07-25)
src/bin/main.rs (5461, 2023-07-25)
src/dsl/ (0, 2023-07-25)
src/dsl/dsl.rs (23847, 2023-07-25)
src/dsl/mod.rs (12, 2023-07-25)
src/lib.rs (26, 2023-07-25)
src/midi/ (0, 2023-07-25)
src/midi/core.rs (32326, 2023-07-25)
src/midi/mod.rs (27, 2023-07-25)
src/midi/time.rs (5092, 2023-07-25)
# Polyrhythmix
Polyrhythmix (Poly) is a command-line assistant designed to generate MIDI files from the description of drum parts. It provides a convenient way to input a DSL (Domain-Specific Language) in the command line, then it calculates when the drum parts will converge together, making it easy to compose polyrhythmic parts with frequent shifts over the bar lines. Additionally, it can generate a bass MIDI track that follows the kick drum.
Polyrhythmix is specifically designed to assist musicians and composers working in genres such as modern progressive rock, metal, djent, fusion, and Indian Carnatic music. It aims to simplify the process of creating complex polyrhythmic drum patterns, enabling users to focus on the creative aspects of their compositions.
# Motivation
I'm a guitar player, and I use tablature notation editors such as Guitar Pro a lot. However, it gets complicated fast when I write polyrhythmic/polymetric drum parts, because shifts tend to go over the bar lines and it's hard to make sense it's correct visually (may be even harder if you listen to it). The other property of such parts is: it tends to unfold from simple ideas such as "I want to create a drum part that will have a 3 against 4 feel with a kick drum against a snare drum". The other way to think about it is that it has a simple blueprint, but it's tricky and error-prone to express in Western musical notation. This is why `Polyrhythmix` exists. I wanted to have a simple tool to workshop/brainstorm rhythmic ideas and evaluate them by having a MIDI playback. I'm into modern Progressive Rock/Metal music, Fusion, so it all applies very well. I have an impression it may be useful for Indian Carnatic music as well, but I would like to get some insightful confirmation on that.
# Features
**Drum Generation**: Polyrhythmix takes a DSL input to define polyrhythmic patterns for various drum instruments. It intelligently calculates when different drum parts will converge, ensuring rhythmic synchronization.
**MIDI File Generation**: Once the polyrhythmic pattern is defined, Polyrhythmix generates a MIDI file containing the drum parts. This file can be imported into any compatible software or hardware for further editing or playback.
**Bass Track Generation**: Polyrhythmix offers an option to generate a bass MIDI track that follows the kick drum. This feature provides a foundation for creating cohesive rhythm sections by synchronizing the bassline with the kick drum pattern.
# Installation
For Rust developers (or other people who have cargo on their machine):
```
cargo install polyrhythmix
```
# Usage
Polyrhythmix runs as an executable with the desired command line options. The available options are as follows:
```
Usage: poly [OPTIONS]
Options:
-K, --kick
Kick drum pattern
-S, --snare
Snare drum pattern
-H, --hi-hat
Hi-Hat pattern
-C, --crash
Crash cymbal pattern
-t, --tempo
Tempo value [default: 120]
-s, --time-signature
Time signature [default: 4/4]
-o, --output-file
近期下载者:
相关文件:
收藏者: