Project

Advanced Keys

Started by Softcore on .

Sign in or create an account to join the conversation.

26 posts

Topic starter
Midi Keys which support Velocity (Y axis of finger when Note triggered) and aftertouch (Y Axis of finger on Keys while touching)

Both Channel Pressure and Key Aftertouch (True Aftertouch) are supported.

Split mode: 2 rows of Keys, each one with its own Velocity Range, Aftertouch Range, Octave settings, Midi channel selection and Channel Pressure (if enabled), Pitch Bend and Modulation Wheel. Channel Pressure is calculated as the "average" of all Keys pressed on each row.

Chained Mode: the two rows of Keys form a unified 2-Octave Keyboard with Velocity Range, Aftertouch Range, Midi channel selection and Channel Pressure (if enabled).

Fixed Velocity or Velocity depending on the Y Axis of Key triggered option for both modes.

Option to enable Channel Pressure, Key Aftertouch, none or both.

Key - Aftertouch release setting (0 to 5 seconds). If enabled (anything other than zero) the Keys are sustained for the given amount of time and the transmitted Aftertouch messages decay to 0 according to the release time.

Option to invert either Velocity, Aftertouch or both along the Y Axis.

Testing window to check various settings with a "sample-key".
Built - in user guide and warning dialogues.

Template file and module available, ready to be inserted in your project .

Some images:

Split Mode

[img]http://i46.tinypic.com/6ga0jc.png[/img]

Chained Mode

[img]http://i46.tinypic.com/21noymo.png[/img]

Settings Page

[img]http://i46.tinypic.com/29zon6d.png[/img]

Built-in User Guide, Built-in Testing Key

[img]http://i49.tinypic.com/2draxs3.png[/img]

______________________________________________________________________

Aesthetically speaking, it is very influenced by the designs of AB - no need to hide behind my finger, I like the looks - I hope this is not considered a rip-off. Code wise, its all done from fresh start. ;)

Download link in user library: http://liine.net/en/community/user-library/view/364/
Softcore, I just have to say that these keys are hardcore! ;)

This is a seriously awesome contribution, one that I'll probably be using on a daily basis. Thanks so much for one of the most useful templates of all time...I think I love you ;)
lol thanks for the love! ;) I dont think Lemur needs to be "explored" in so strictly traditional ways of interfacing but hey, I just needed a secondary option of good ol' classic keys in my studio template for when the real keys are not around....so I thought why not at least make them as good as I can! ;)

A small fix coming this way - a mistake in my logic probably results in sending duplicate Pitch Wheel and Modulation Wheel messages when in chained mode
Thanks Brian.

Updated version uploaded: 1.5

Please those of you who have downloaded the initial version, download the updated one as it fixes an important issue with the Channel Pressure calculation in chained mode

1.5 version changes:
- You can now test each row's Ranges independently in Testing Window
- Channel Pressure can now be tested independently for each row of Keys. Channel Pressure testing with Sample Key depricated
- slight coding optimisations

1.5 Bug fixes:
- Duplicate PitchBend and ModWheel Midi messages when in chained mode fixed
- Duplicate Channel Pressure messages when in chained mode fixed
- IMPORTANT!!! Inaccurate calculation of Channel Pressure when in chained mode fixed

In the user library ;)

http://liine.net/en/community/user-library/view/364/
Thanks for the awesome template!

I've noticed one thing that might be either a bug or user error. When working in. Split mode, aftertouch on the upper keyboard does not appear to be working? Anyone else having a similar issue, or is my own incompetence coming to the fore?

Thanks again!
Advanced Keys version 2 uploaded in the user library

Version 2 changes:
1.Independent Key-Aftertouch release settings for each row (when in split mode)
2.Option to assign each Key row's Channel Pressure to Pitch Bend Wheel , Modulation Wheel or any CC Controller from 2 to 127.
3.Option to hide-show the shapes inside the Keys
4.Availability of "NoGuide" module and Template for even smaller footprint

Version 2 bug fixes:
1.Finger Traces in Keys visible option not initialising correctly fixed
2. General optimising of code resulting in decrease of size even though more options were added
(from 15% reported in editor to 13% with Guide, 11% without the Guide)

Some pics with the new options:

[img]http://i50.tinypic.com/2gt43ma.png[/img]

[img]http://i46.tinypic.com/20az05x.png[/img]

link to the user library:
http://liine.net/en/community/user-library/view/364/
Version 2.5 uploaded in user library

Changes:
- the template can now be saved either with Split or Chained Mode enabled and will correctly initialise at the saved mode.
- Aftertouch ranges are now not hidden when Aftertouch modes are disabled so that you can adjust the range to assigned CC controller (if enabled)
- small display in Keys page and over the Aftertouch Range of assigned Controller to Aftertouch (if enabled)
- minor other visual enhancements and additions to the built-in user guide (No Guide version still available)
- optimising of code resulting in a decrease of editor reported memory usage down to 10% (8 % at NoGuide version)

Bug Fixes:
- Corrected visual initialisation of some "settings" elements
- minor visual fixes and glitches

link to user library:
http://liine.net/en/community/user-library/view/364/
Version 2.6 uploaded

Version 2.6 changes:
- Template and library files optimised for classic, shaded, and pixel skins, No Guide versions included

The shaded skin provides rather more "natural looking" keys combined with the disabling of the internal shapes in the keys

Bug Fixes:
- the "testing window" channel pressure display was not working in v2.5

minor stuff: all files are now saved-delivered with common init settings

link in user library:
http://liine.net/en/community/user-library/view/364/

NOTE: possibly, unless I discover another bug, this will be the last "standalone" version of Advanced Keys which will be further used as "Keys" page for other, more complex projects.
First, thanks a million for your template. I found it invaluable for dealing with both iPad apps and with my outboard gear. Now for crazy request! Is there chance you might consider adding customizable scales like it seen in ThumbJam? If that happened I could see AdvancedKeys replacing all of my other MIDI control options. I recognize this is kind of a ridiculous request, but I figured I'd give it a shot. Thanks so much for your efforts!
Because I'm a jerk, I came up with another feature suggestion. Would it be possible to have aftertouch calculated based on changes in the Z position rather than the fingers' Y location. If so, one could play notes at any velocity without AT engaged and then slide the desired amount of modulation into play. Sorry for making all these requests, I just really enjoy the template!
I'm been thinking about making a template where the channel the notes are sent on different channels based on a round robin setup. Or, also known as channel rotation. This is useful to play polyphonically several monosynths. In particular, I was interested in using it to control analog four. The parameters to define would be very simple:

MIDI Channel range or set. The amount of channels you select determine the polyphony. I haven't yet figured out how I would go about designing it in lemur language. basically, the algorithm is simple. in pseudo language..

var midiPool = {1,2,3,4};
var channelsInUse = {};

onKeyPress() would then see if there was a free channel available to use (we would then decide about note stealing or not..) or not. If there is, it would use the first available channel out of the pool and update the channelsInUse array. On noteOff, the channel would be released. This seems pretty straightforward but I would welcome your opinion or if this is something you would like to implement.

Cheers !
b