vitling / acid-banger

The Endless Acid Banger
1.18k stars 62 forks source link

MIDI Implementation #1

Closed ghost closed 3 years ago

ghost commented 3 years ago

I've come up with a way to use your app to drive external synths and drum machines using WebMIDI (currently supported by Chrome).

There's a squashed commit here that has a rough draft: https://github.com/nagytech/acid-banger/commit/bf0cc4764623ec82bb618f7c13c0655516fc0f6e

I'm wondering if you would be interested in this as a feature. And, if you might have some insight on how you would offer the user the option to select a MIDI output (if found and supported).

I'll continue to clean up my implementation, hopefully it will be less of a hack soon.

Summary

TODO

Hardware

WebMIDI Out -> Digitakt MIDI via USB -> Tracks 1-4 -> Drum Samples
                                        Tracks 10-11 -> MIDI Out -> MIDI to CV -> Synth A/B

Demo

https://user-images.githubusercontent.com/8542033/115423752-6e2dc780-a241-11eb-950f-3086676b8efd.mp4

doctea commented 3 years ago

Instead of using separate MIDI channels for the different drum tracks, I'd suggest using the GM standard channel 10 for percussion: https://en.wikipedia.org/wiki/General_MIDI#Percussive

vitling commented 3 years ago

Great stuff! I'm really glad that you have been so inspired to add MIDI support for this and the video looks really cool - I wish I had that kind of gear to play with then maybe I wouldn't have to write so much software to do it instead :-D

For the time being I consider the version I released online to be "complete" in terms of having all the features that I wanted it to have. I've added a small note about that to the README. I do, however, strongly encourage you to keep working on your MIDI version if you want to, and I'll happily share your fork across my networks if it ends up working well.

ghost commented 3 years ago

Instead of using separate MIDI channels for the different drum tracks, I'd suggest using the GM standard channel 10 for percussion: https://en.wikipedia.org/wiki/General_MIDI#Percussive

Sounds like a good idea, but my gear already has separate channels for each track. I have no way to test or validate the alternative protocol.

ghost commented 3 years ago

For the time being I consider the version I released online to be "complete" in terms of having all the features that I wanted it to have. I've added a small note about that to the README.

No worries, I'll close this one then.