Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/djlotus/combo-gen
combo generator for scratch djs
https://github.com/djlotus/combo-gen
combo-generator djs html5-canvas-api javascript loop-length looper
Last synced: 25 days ago
JSON representation
combo generator for scratch djs
- Host: GitHub
- URL: https://github.com/djlotus/combo-gen
- Owner: djlotus
- License: gpl-3.0
- Created: 2017-03-17T21:06:59.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2017-03-25T05:17:06.000Z (over 7 years ago)
- Last Synced: 2024-09-29T09:20:28.700Z (about 1 month ago)
- Topics: combo-generator, djs, html5-canvas-api, javascript, loop-length, looper
- Language: JavaScript
- Size: 288 KB
- Stars: 0
- Watchers: 4
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Combo-Generator
[![Join the chat at https://gitter.im/combo-gen/Lobby](https://badges.gitter.im/combo-gen/Lobby.svg)](https://gitter.im/combo-gen/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
This program is a combo generator for scratch djs.
## What Will This Thing Do?
At its lowest level, users will be able to select from a list of scratches which ones they know. Upon submission, the program will auto-generate a combination of these scratches into a loopable output. The combination will be displayed on screen for the user to see as well. The generated "sentence" should never be longer than the loop length if loop length is used.
## Proposed Build Plan
The plan is to build this using primarily [the Web Audio API](https://developer.mozilla.org/en-US/docs/Web/API/Web_Audio_API) for all the audio features and [HTML5 Canvas API](https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API) for visualizations. The rest will be simple HTML, CSS and Javascript.
I have never used the web Audio API or HTML5 Canvas API so the build will most likely be slow as I learn-as-I-go. My Javascript is sketchy at best and I don't know ES6 so expect clunky, unoptimized code.
## Proposed Features
Listed in no particular order. Features will most likely be added/removed based on my abilities and the amount of community support I get.
- [ ] Upload Libraries
- [ ] Support multiple libraries
- [ ] Selectable length (bars?)
- [ ] Selectable known patterns
- [ ] Optional background looper
- [ ] Tempo adjustments
* Adjust BPM
* Quantize shift
* Double-time/Half-time
* Independant of looper but maybe connected?
- [ ] Record user audio
- [ ] Metronome