Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/wasabigeek/overthekit
Drum-kit sticking orchestration, using Vexflow and WebAudio
https://github.com/wasabigeek/overthekit
Last synced: 18 days ago
JSON representation
Drum-kit sticking orchestration, using Vexflow and WebAudio
- Host: GitHub
- URL: https://github.com/wasabigeek/overthekit
- Owner: wasabigeek
- Created: 2020-07-18T07:49:13.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2021-03-22T15:15:34.000Z (almost 4 years ago)
- Last Synced: 2024-10-30T21:26:11.635Z (2 months ago)
- Language: HTML
- Homepage: https://wasabigeek.github.io/overthekit/
- Size: 1.86 MB
- Stars: 1
- Watchers: 2
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Over the Kit
A common practice for developing drumkit chops is to take a sticking pattern and orchestrate it "over the kit". For example, the sticking pattern **RLK** (which translates to right hand, left hand, kick drum) can be played over a 16th notes as RLK-RLK-RLK-RLK-RLRL (the last 4 notes being "padding"). This web app allows the drummer to take a sticking pattern and generate and hear different orchestrations, in different contexts.![Over the Kit GIF](./docs/over_the_kit.gif)
# Tech
The key technologies and libraries used:
- vanilla javascript
- [vexflow](https://github.com/0xfe/vexflow)
- Web AudioAs I've worked mostly with React, I honestly wasn't sure which parts of the ES6 syntax were safe to use, so ended up trying to avoid most of them (especially `imports`, which leads to the terrible use of the terrible, liberal use of external ``s).
The code is pretty OO-influenced, with a "pipeline" that generates the scores and lines up audio via:
- **StickingPadder**, which "pads" missing notes when trying to fill the sticking for each bar
- **Orchestrator**, which takes a sticking and orchestrates it
- **GrooveGenerator**, which prepends a groove to the orchestrated stickingIt's all pretty messy still, I made some early stabs at separating out domain models (e.g. Score, Notes) but still am not super happy with it...