democloid / picoTracker

BSD 3-Clause "New" or "Revised" License
187 stars 17 forks source link

VOL cmd sets step velocity for MIDI instruments #163

Closed maks closed 4 months ago

maks commented 4 months ago

Tested using as working with a Korg NTS-1. Includes update to the manual with photo labelling the TRS ports.

Fixes: #79

democloid commented 4 months ago

Seems we are mixing two concepts here, as far as I understand, volume is meant to set the instrument volume while velocity is supposed to be the specific note velocity (or volume). The original code correctly sets midi cc 7, volume. Seems we want to add a velocity command, rather than replace the original volume, no?

Part 7 here: https://www.cs.cmu.edu/~music/cmsip/readings/MIDI%20tutorial%20for%20programmers.html

maks commented 4 months ago

Seems we are mixing two concepts here, as far as I understand, volume is meant to set the instrument volume while velocity is supposed to be the specific note velocity (or volume). The original code correctly sets midi cc 7, volume. Seems we want to add a velocity command, rather than replace the original volume, no?

Part 7 here: https://www.cs.cmu.edu/~music/cmsip/readings/MIDI%20tutorial%20for%20programmers.html

I think this is one area where real world practice is different from the spec. From what I've seen people expect grooveboxes to emit velocity per step and I've not seen any that send volume midi commands for that. Admittedly it may be better to have a separate command named velocity for this but I think this actually makes most sense for midi while the pico doesnt support separate velocity per step the way for example M8 does, but then the PE Tracker doesnt do a sperate per step velocity either and requires using a FX lane for that too. I'll ask for feedback on the Discord from others to see what the expectation is around this as my view is that MIDI volumen commands are basically unused in the hardware groovebox/sequencer space.

maks commented 4 months ago

@democloid I pushed up changes from your last round of feedback if you get a chance to look at this one again