VeloNote maps input Velocities to Notes ignoring input note(s).
Generates NoteOff with delay (if configured).
Includes channel mapping, and some basic random options.
Supports setting a scale and root note to indicate which tones to include.
You may find this useful for any instruments that vary velocity but not note: even a single key on a keyboard, or a midi drum.
Comes with favorite presets for ODD ball (https://oddballism.com/en-us), set via pads. See @MySetPresets. I am not affiliated with the manufacturers of Odd ball, nor receive anything from their sales. I developed this to juggle sounds with friends.
Quick overview of usage: Get Audiobus, Mozaic, and some synth or sampler that handles midi-in bus. In Audiobus, connect midi-in device(s), each ball on separate path, link to Mozaic in middle (loaded with VeloNote source/project), Mozaic linked to synth or sampler out (eg. Korg Module or Loopy pro or whatever you like).
The Zip file contains the source as a .moz file and the project as a .mozaic file. It also contains an UltraEdit .uew word file that can be used to make editing .moz files in UE a bit more fun.
I find the easiest way to get this into Mozaic is: name the .moz file as .txt, copy it to icloud, copy within Files. Open Mozaic, paste, save with name VeloNote. viola.. Modifying the presets in code is a bit safer than expecting them to be saved forever.
When Audibus project is saved, that will also save and reload current state.
Controls:
Shift:
Press Shift to alternate screens, with more options (channel settings, sustain, pad presets).
Hold Down Shift for 4+ seconds for Debug mode (shows notes being hit, converted).
Shift-Pad saves a preset. See Pads.
Knobs:
InVeloMin : Minimum velocity, below this is silenced
InVeloMax : Maximum velocity, above this gets NoteMax+1
NoteMin : Minimum note of mapping. Input note used when NoteMin,NoteMax are 0,0.
NoteMax : Maximum note of mapping. Random and Scale are not used when NoteMin,NoteMax are 0,0.
OctaveOfs : Octave Offset +- (*12) to NoteMin/Max, -5 to +5, 0 offset at 64 (middle)
SendOff : Delay to Send Note Off, 0 to disable
OutVeloMin: Minimum output velocity: if min<max and num notes < num input velocites
OutVeloMax: Maximum output velocity: sent on all unless OutVeloMin differs
NoteScale : Selects a built in scale or a custom scale, 0 = Chromatic (every note)
RootNote : Selects a root note for scale, ignored for Chromatic, 0 = same as NoteMin
Other knobs require using Shift to change display for more knobs to access.
InChan : Input Channel, 1 based, mapped to 0 to 16, 0 = omni
OutChan : Output Channel, 1 based, mapped to 0 to 16. 0 = same as In
Sustain : Sustain, 0 = None, then mapped 1-8 alternating continue option yes/no
XY:
X : RandOffset : Random semi-tone offset, 1 picks -1, 0, 1. 0 is none, 127 is all
Y : RandGroup = Group Notes (12 semi-tones is octave), random within group.
If scale is selected, this selects notes in the scale.
Pads:
Pressing a pad loads a preset.
Hold down Shift then press a Pad to save current settings as a preset on that pad. Warning: presets saved this way are lost on new version upload.