voice-alligator package release
Hey! I'm happy to share that the Max package "voice-alligator", which I co-developed with my friend Jan Godde, has been released and is now available on the Max Package Manager.
voice-alligator is a package for advanced voice allocation, offering more flexible and feature-rich control over polyphony compared to Max's built-in voice allocation system (i.e. poly~ or mc.voiceallocator~).
The package includes 3 externals and 1 abstraction:

voice-alligator - takes in MIDI style messages and allocates them to voices of a mc.poly~ patcher

voice-alligator~ - takes in MIDI style messages and outputs 9 MC signals: a frequency signal, an ADSR signal, and 7 additional signals outputting properties of the voices

voice-alligator-audio~ - the signal domain version. it takes in impulses, processes them in a [makenote] like fashion and outputs MC signals for driving synths. it's useful if you want your whole synthesis chain (note generation to output) to be in the signal domain.

voice-alligator-looper - records the output of voice-alligator and voice-alligator~, inlcuding the frequencies (microtonal data) and glide information, and plays it back into the same synthesis system. it also provides also a few methods for manipulate the recorded data
Depending on your use case you’d choose one of the 3 externals. They share a common set of attributes.
With the voice-alligator package you can:
…use the same voice patchers for both monophonic legato style and polyphonic synthesis. all 3 externals support switching between these 2 modes while playing. there is a setting called mono_steals_release that allows for legato and polyphony simultaneously
...access additional, easily manageable control over polyphony in Max
...have access to a lot of options on how stealing is handled (e.g. if the oldest note should be stolen (default), or the quietest note, etc.). notes can also be queued to have a different stealing priority using a feature we call “streams”. using streams you can, for example, have 2 legato voices playing the same instrument
…have access to a declicked version of a curved ADSR (courtesy of the min-dev-kit authors), mirroring the behaviour of live.adsr~ in voice-alligator~ and voice-alligator-audio~. this is currently not possible in Max, since live.adsr~ does not support declicking
…trigger sample-accurate chords using impulses (voice-alligator-audio~)
voice-alligator and voice-alligator~ also include built-in sustain pedal support and lots of other useful methods.
Have some fun checking out the demos in the helpfiles!
Also, I've recorded some videos documenting various features of the package:
It's open source and the code is available on my github:
Version 1.3.5 is now out on the package manager. It has some bugfixes and some new features, as well as an example of a audio-rate triggered samplerplayer.
Changes:
va and va~ now can take in floating point midi notes
va-audio~ now supports more attributes by using list attributes
va-audio~ now has an "aux in" (see declick / aux tab in helpfile), !!ext-busy in moved one to the right!!
added a sampler example
fixed some declicking irregularities in va-audio~
renamed "output_mode" to "scale" in va and va~
here is a video of me playing around with the sampler example.