Korg Kronos - Create and use your own custom velocity curves

Discussion relating to the Korg Kronos Workstation.

Moderators: Sharp, X-Trade, Pepperpotty, karmathanever

User avatar
KK
Platinum Member
Posts: 1496
Joined: Thu Oct 13, 2016 3:01 am

Korg Kronos - Create and use your own custom velocity curves

Post by KK »

Just wanted to share my little discovery that you can use the MIDI-OX freeware data mapping and patch mapping features to create custom velocity curves for your Kronos and more. I also made a quick video about this fun little solution.

Equipment required

- Your Korg Kronos (obviously).
- One computer or laptop.
- The MIDI-OX freeware.

Simplified steps

- Connect your Kronos to your computer or laptop.
- Turn off MIDI Local Mode in Global Mode on the Kronos.

Amongst other advantages made possible with this solution, one is the ability to program different velocity curves for each MIDI channel, which can then be used in combis, etc.

Also, using the Patch Mapping function in MIDI-OX, you can program the freeware to automatically select any combination of velocity curves per program change number, in order to have the perfect touch and response at the keys for different instrument types, etc.

Conclusion

I hope this modest solution here can help other Kronos users who might have similar needs.

https://vimeo.com/234768707
Last edited by KK on Sun Sep 24, 2017 9:06 pm, edited 4 times in total.
timbukktwo
Senior Member
Posts: 287
Joined: Sun Dec 09, 2007 7:49 am

Post by timbukktwo »

Wow-cool! Thanks for posting!
Savante
Junior Member
Posts: 59
Joined: Fri Jul 23, 2010 7:09 am
Location: Rural Northern California

Post by Savante »

Brilliant! Thank you.
Korg synths played with ribbon controller pitch bend:

http://www.youtube.com/watch?v=Ak2eL_0r ... re=channel

http://www.youtube.com/watch?v=ZX1fHKsj ... re=channel

http://www.youtube.com/watch?v=9Pmp3sR9 ... re=channel

First-ever synth I owned: Korg DW-8000, Current Korg gear: Korg Kronos 2; Korg Minilogue XD; Korg Krome EX; Korg Nautilus 61
Liviou2004
Platinum Member
Posts: 1150
Joined: Mon Feb 20, 2017 11:28 am
Location: France

Post by Liviou2004 »

Hello KK,

Thank you for your video I just watched a second time.
I have two questions : 1°) the curve you build in MIDIox seems to be the same as the curve Nbr 6 on the Kronos, wich reach 127 before the max velocity. IS it the case ?

2°) Is there a mean to save a custom curve, as you described, inside the Kronos ?

Thanks
User avatar
SeedyLee
Platinum Member
Posts: 1392
Joined: Wed Sep 13, 2006 1:48 pm
Location: Perth, Australia

Post by SeedyLee »

Hmm, I'm seeing this as potentially a good little project to build using a microcontroller...
Current Equipment:
Korg Kronos 2 88, Reface CS, Roland JV-1080, TE OP1, Moog Subsequent 37, Korg ARP Odyssey, Allen & Heath Zed 18, Adam F5, MOTU MIDI Express XT, Lexicon MX200 & MPX1, Yamaha QY700, Yamaha AW16G, Tascam DP008ex, Zoom H6, Organelle, Roland J6 & JU06A

Previous: Triton LE 61/Sampling/64MB/4GB SCSI, MS2000BR, Kronos 1 61, Monotribe, NanoKontrol, NanoKeys, Kaossilator II, Casio HT3000, Roland VP-03, Reface DX, Novation Mininova, MPC One
KorganizR
Posts: 44
Joined: Fri Aug 24, 2012 10:36 am

Post by KorganizR »

Hi all,

First of all kudos to KK for the MidiOx solution for creating custom velocity curves!
A while ago it inspired me to try and come up with another way to do the same trick.

In my spare time I'm currently developing an Android app with various MIDI processing capabilities.
One of its features is a Curve Editor, with which you can easily draw and apply a custom velocity curve.
Whatever value it receives on its input, is mapped to the output value of the curve, changing the MIDI message.

For the Kronos, this means you:
1. Connect your Android phone or tablet to the USB B port of the Kronos (e.g. using an OTG - OnTheGo- cable).
2. Start the app, and go into the Curve Editor tool.
3. Make sure that in the Kronos Global Setting, MIDI Local Control is Off (if you don't want MIDI echo).

Now the MIDI output flows from Kronos to the phone, the MIDI messages are processed inside the phone by the app, and the output is being sent back via USB to the Kronos.
In effect, an 'outside loop' is created, similarly as what you would do with the MidiOx PC application, only it is more portable inside a phone or tablet.

For a screenshot, see: here.

Inside the app:
1. Define the custom curve you want, by:
-- (a) drawing inside the curve graph area by hand (touch interface), or
-- (b) using one of the template wizards (e.g. for fixed levels or perfect ramps or even random curves for special effects).
2. Optionally, define which MIDI channel(s) you want the curve to be applied to.
-- You can apply the same curve to multiple channels, but also use different curves for different channels
3. Optionally, define which MIDI message the curve should be applied to, i.e.:
-- (a) NoteOn Velocity,
-- (b) NoteOff Velocity
-- (c) Channel AfterTouch,
-- (d) Poly Aftertouch or
-- (e) ControlChange messages (you can specify the CC#).
4. Play on the Kronos, and the messages will be modified inside the phone before the sound is being produced in the Kronos. I didn't notice any audible latency using this process.
5. As you play, the app gives you visual feedback of where you are on the curve (i.e. the level of the most recent Key velocity, Aftertouch, etc.).
6. The curve you define is instantly saved in the phone. So it will still be available if you restart the app.
7. It's really draw-and-play, so you can swiftly optimize the curve until you're satisfied with it. There's also an undo and redo.

The Curve Editor is only one of the MIDI processing features of this app. It's a part that I have finished already.
The app also has Chord Analysis, a Piano Roll Viewer (not an editor), Logging, Monitoring, Filtering functions and more.
Whenever I have spare time, I have new ideas and I feel like programming, I add more features to the app.

The app is not available, it is still under development. Sorry for that.
I'm considering publishing a free limited version and perhaps a fully featured version for a small fee at some point in the future.
Not really sure of it though, because:
1. It is merely a hobby project for me, and at the moment I don't feel like officially doing support or after-care on it, which I guess is expected if I'm going to publish on Google Play, especially for a paid version.
2. I have only tested it with my own phone and with the Kronos; not with other Android devices and other hardware synths. Some more thorough testing is required before publishing.

I guess with this post I want to find out if there would be interest in such an app to begin with.

Limitations:
1. It is on Android only. I don't support iOS because I don't have the development environment for that.
2. The USB B port of the Kronos will be used for this app, and it cannot be used anymore at the same time for connecting it to other devices or a computer DAW. At least the way I see it.
3. AfterTouch curve is freely editable in this app as with other curves, however the Kronos has a notoriously heavy hardware threshold with AfterTouch, which cannot be modified by the app's software. You'd need a hardware modification for that (e.g. see forum member KK's AfterTouch hardware solution).
4. Unlike KK's original MidiOx solution, there is no patch mapping (yet), so there's no curve <i>per program</i>, only <i>per MIDI channel</i> with the app.

But as a portable solution for live playing with a custom velocity curve being applied, then this app can do the trick.
Kronos 61, Korg M1
User avatar
KK
Platinum Member
Posts: 1496
Joined: Thu Oct 13, 2016 3:01 am

Post by KK »

Liviou2004 wrote:Hello KK,

Thank you for your video I just watched a second time.
I have two questions : 1°) the curve you build in MIDIox seems to be the same as the curve Nbr 6 on the Kronos, wich reach 127 before the max velocity. IS it the case ?

2°) Is there a mean to save a custom curve, as you described, inside the Kronos ?

Thanks
Hi Liviou and thank you for your interest in this modest solution.

The curve I did in the video could indeed be considered close to the Kronos #6. It is actually somewhere between that and a linear curve and it indeed enables one to reach 127 at the output for lower input MIDI velocities generated at the keys.

Unfortunately, as you know the Kronos current software does not offer saving a custom velocity curve. I have often contacted them about it and since I don't think they plan to add this feature, I decided to find my own solution, which involves the MIDI-OX freeware. But if you like the freeware you can save all the velocity curves you need. Also, as mentioned near the end of the video, you can also call different velocity curves based on program number, etc.

Finally, I have created a custom Excel sheet which automatically creates the code MIDI-OX needs in its .TXM files for velocity maps (you can see it very briefly somewhere in the video). Note though that my little utility doesn't work in MS Excel clones which don't support VB macros/programming. If ever some people would be interested (which I doubt) and I can find some free time, I could improve it to also generate the needed code for other MIDI-OX functions, etc.
User avatar
KK
Platinum Member
Posts: 1496
Joined: Thu Oct 13, 2016 3:01 am

Post by KK »

KorganizR wrote:3. AfterTouch curve is freely editable in this app as with other curves, however the Kronos has a notoriously heavy hardware threshold with AfterTouch, which cannot be modified by the app's software. You'd need a hardware modification for that (e.g. see forum member KK's AfterTouch hardware solution).
4. Unlike KK's original MidiOx solution, there is no patch mapping (yet), so there's no curve <i>per program</i>, only <i>per MIDI channel</i> with the app.

But as a portable solution for live playing with a custom velocity curve being applied, then this app can do the trick.
Hello KorganizR,

Thank you so much to write about your custom app. From what I can read, for sure your app sounds very interesting, even though I do not use Android nor a smart phone. But I am sure many could become interested using your app in the future, if ever you find the time to complete it.

It reminds me of a little freeware I found years ago and that I lost since then, and with which you could also draw a curve like yours can do. It also enabled one to edit all the MIDI notes individually. It didn't offer much more than that though - and I think yours has much more interesting and useful functions.

About your comments, I totally agree with you about the frustrating Kronos aftertouch software "calibration", which I had to bypass the best I could for my hardware mod to be efficient.

Finally, as you probably discovered too, trying to customize velocity curves on the Kronos using the MIDI connections available at its back are unfortunately biased by the Kronos currently selected Pre-MIDI velocity map in Global. Even though it is fun to create custom velocity maps as one needs using the MIDI-OX or your app, it is too bad that Korg didn't think to offer a true linear map as well.

I hope you will keep everyone posted here about your little app in the future if you continue to work on it. :wink: This is a great community and a great Web site. 8)
User avatar
KK
Platinum Member
Posts: 1496
Joined: Thu Oct 13, 2016 3:01 am

Post by KK »

SeedyLee wrote:Hmm, I'm seeing this as potentially a good little project to build using a microcontroller...
Hi SeedyLee,

Certainly and I am sure people on this forum would be interested to know how you could make it work. Keep us posted if you work on this. 8)
dfahrner
Platinum Member
Posts: 573
Joined: Sat Jun 21, 2008 11:17 pm
Location: Bend, OR

Post by dfahrner »

...then there's the MIDI Solutions Velocity Converter, a small module between a MIDI input and output (and powered by the MIDI input too) that can adjust incoming velocities however you want...these were cheap a few years ago (I think I paid about $30 for one) but now go for a lot more, even on eBay...

df
Liviou2004
Platinum Member
Posts: 1150
Joined: Mon Feb 20, 2017 11:28 am
Location: France

Post by Liviou2004 »

KorganizR wrote:Hi all,

First of all kudos to KK for the MidiOx solution for creating custom velocity curves!
A while ago it inspired me to try and come up with another way to do the same trick.

In my spare time I'm currently developing an Android app with various MIDI processing capabilities.
One of its features is a Curve Editor, with which you can easily draw and apply a custom velocity curve.
Whatever value it receives on its input, is mapped to the output value of the curve, changing the MIDI message.
Hello,

Did you end developping your app ?
KorganizR
Posts: 44
Joined: Fri Aug 24, 2012 10:36 am

Post by KorganizR »

Hi Liviou2004,

Short answer: No, I still do development on my Android MIDI app from time to time, if I have spare time.

The app is basically a freely connectable and configurable graph of MIDI processor modules.
And there are many modules in the toolbox which you can use to create, input, monitor, analyze, insert, modify, split, merge and output MIDI streams.
The Curve Modifer is one of these modules.

Since my post above, almost a year has passed now, and I've added various functionalities.
Most notably:
- Curve Editor module was updated (added pitch bend curve, pitch curve and more template curves);
- Bluetooth MIDI support (BLE) integrated;
- Support for Standard Midi Files added (e.g. change position, tempo, pitch and volume);
- MIDI mapping and filtering modules (on tracks, channels and messages, also SMF meta messages);
- Background mode (app still running when screen off, or when switching to other apps);
- Making the UI more user friendly.
- Context sensitive help.

I'm currently working on a Lane Viewer module, which shows the various MIDI controller values as a series of lanes (similar to a DAW).
And I have quite a few ideas for adding more functionality to this app.

If there is interest in this app, probably a next step could be to prepare some kind of limited Beta version.
The Curve Modifer module would then be part of this.

Kind regards,
KorganizR
Kronos 61, Korg M1
Liviou2004
Platinum Member
Posts: 1150
Joined: Mon Feb 20, 2017 11:28 am
Location: France

Post by Liviou2004 »

Thank you for your answer.
You app seems to be very interesting. Hope it will get out soon !
Could you please tell us as soon as available ? Thanks a lot.
KorganizR
Posts: 44
Joined: Fri Aug 24, 2012 10:36 am

Post by KorganizR »

Liviou2004 wrote:Could you please tell us as soon as available ? Thanks a lot.
Yes, if/when I decide to bring out a Beta version of the app, I will put a notification here in Korgforums.
Kronos 61, Korg M1
Liviou2004
Platinum Member
Posts: 1150
Joined: Mon Feb 20, 2017 11:28 am
Location: France

Post by Liviou2004 »

KorganizR wrote:
Liviou2004 wrote:Could you please tell us as soon as available ? Thanks a lot.
Yes, if/when I decide to bring out a Beta version of the app, I will put a notification here in Korgforums.
Thank you very much
Post Reply

Return to “Korg Kronos”