Expression Mapper
Expression Mapper is a modulation device that allows the use...
- Type
- Audio Effect
- Author
- Oktagon
- Version
- 1.2.1
- License
- AttributionNonCommercialShareAlike
- Live version
- 10.0.2
- Max version
- 8.0.0
- Downloads
- 948
- Updated
- 2018-08-26
Description
Expression Mapper is a modulation device that allows the user to specify the modulation behaviour using javascript expressions. It provides 8 control value parameters that can be renamed to make more human readable expressions. It features a built in metronome to force updates at a given interval. By referencing 'time' in your javascript expressions you can also create complex LFO type effects. The results can be mapped to up to 8 other parameters with range remapping.
This is my first Max for Live device and hasn't had a great deal of testing yet, but hopefully it's already of use to some. I'd be interested to hear any comments or suggestions for future versions.
Version History:
1.0:
- Initial Release
1.1:
- Fixed so the mapping only updates from metronome ticks when metronome enabled and transport is running.
- Added build in convenience functions:
saw( periodInBeats, phaseOffset ) - Generates a sawtooth wave locked to Live transport.
square( periodInBeats, phaseOffset ) - Generates a square wave locked to Live transport.
pulse( periodInBeats, phaseOffset, dutyCycle ) - Generates a pulse wave locked to Live transport.
sine( periodInBeats, phaseOffset ) - Generates a sine wave locked to Live transport.
triangle( periodInBeats, phaseOffset ) - Generates a triangle wave locked to Live transport.
fit( value, oldMin, oldMax, newMin, newMax ) - Transforms clamped value from old range to new range.
fit01( value, newMin, newMax ) - Transforms a value with range 0 - 1 to new range.
curve( value, slope ) - Remaps value in range 0 - 1 using exponential slope with range -1 to 1.
- Added graphical display.
1.1.1:
- Fixed UI bug hiding extended mapping display.
1.2:
- Rearranged internals. Please note that because of this settings will not migrate from 1.1.1 to this version.
- Reworked Metronome feature to stay in sync with Live transport.
- Added smoothing control. Please note that this relies on the target device/parameter supporting the live.remote~ smoothing feature, which isn't always the case. Eg. currently Operator doesn't seem to work, but Wavetable does.
- Fixed miscellaneous bugs.
1.2.1:
- Fixed bugs with multiple expression mappers in a set