Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/haszari/kytaime
Browser-based MIDI and audio sequencer
https://github.com/haszari/kytaime
Last synced: 15 days ago
JSON representation
Browser-based MIDI and audio sequencer
- Host: GitHub
- URL: https://github.com/haszari/kytaime
- Owner: haszari
- Created: 2016-09-12T09:27:01.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2024-04-11T17:19:48.000Z (7 months ago)
- Last Synced: 2024-04-11T22:08:49.946Z (7 months ago)
- Language: JavaScript
- Homepage:
- Size: 5.49 MB
- Stars: 7
- Watchers: 3
- Forks: 1
- Open Issues: 22
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Kytaime Throwdown
Browser-based MIDI and audio jamming sequencer.![action shot](img/kytaime-throwdown-ui-example.png)
### How does this work?
- _Section_: a chunk of song, e.g. chorus, verse, bridge, intro, ambient build, etc.
- _Part_: an instrument line or voice within a song, e.g. drums, bass, sub, vocal sample, synth, arp, chords, pad.
- _Pattern_: an individual loop for a part, e.g. bassline 1, main melody, alt verse chords, synth stab.A song is loaded up horizontally in a coloured _deck_ row. Each section is a cell (column) within the row, with the section name in the top left.
Within a section, the part names are listed as columns, with patterns underneath each part.
Only one section within a row can be played at a time. Within a part, only one pattern can be played at a time.
To toggle _trigger_ for a section or pattern, click the name. Playing sections/patterns are bold, triggered sections/patterns are italics. When something is toggled, it will trigger at the next valid point. In json you can configure start/end beats for patterns, so that they can start and at beats other than default zero (beginning/end of the loop).
### Where is the music data?
All pattern data is hard-coded in hjson.Audio loops are loaded from local iTunes Media library. MIDI / note patterns are hard-coded in hjson song data.
If you want to experiment with this, you'll need to hack the hjson data, set up your own audio loops etc, and edit `index.js` to load your songs into decks at launch.
### Why?
I wanted to experiment with a more fluid style of sequencing. Similar to Ableton Live and other pattern-grid based approaches, but encode more musically-relevant info into the pattern data so it's easy to experiment with different arrangements live.Goals:
- Make it easy to experiment and jam with loop-based musical material without it sounding stale and repetitive.
- Free the performer from having to toggle patterns at the exact right moment (or always quantised to loop boundaries).
- Allow for more experimentation with synthesis, effects, mix and arrangement live.### How to build
- install node.js
- clone repository
- `npm install`
- `npm start`
- open http://localhost:3876/