Scraunch 1.0 - Midi controller for JD-Xi

Forum for the JD-Xi Keyboard.
Post Reply
lonfield
Posts: 5
Joined: 12:01, 26 August 2017

Scraunch 1.0 - Midi controller for JD-Xi

Post by lonfield »

Dear All,

My first post here and I thought it would be suitable to anounce the release of Scraunch ver 1.0 (https://scraunch.sourceforge.io/index.html).

Scraunch allows you to use the Novation Launch Control XL board as a midi control surface for the JD-Xi. The program basically receives CC-messages from the midi controller, translates them to SysEx-messages and sends them to the JD-Xi.

Why?
Well, as many others have realized, the JD-Xi is a really nice synth with a very limited control surface. So, either you have to dive into the menus on the LCD screen or you can use one of the 3rd party editors (e.g. JDXi Manager). Scraunch provides a 3rd option for anyone who wants to have a more hands-on approach to control the JD-Xi.

What about other midi controllers?
Well, I wanted alot of knobs so there is the Beringer BCR2000. It does supposedly support SysEx-messages (which the Launch Control XL doesn't). However, to me the build quality isn't really there. Building a midi controller myself, having at least 32 knobs, would cost more than I would like to spend. So, in the end, I got myself a Launch Control XL for about $130 and started to write some translation software resulting in Scraunch 1.0.

Currently, Scraunch only supports the analog synth (all 46 parameters available via SysEx). I thought it would be better to release at least something that works and get feedback than wait until everything is finished. I have added some documentation on the site. I don't have a video editor so sadly no instruction video. The source code (GPL 3.0) is also available at the site.

So, any suggestion, bug report, problem, what not is wellcome.

/Nils
rocco1
Posts: 11
Joined: 05:08, 19 October 2015

Re: Scraunch 1.0 - Midi controller for JD-Xi

Post by rocco1 »

This looks like a great project for Launchcontrol owners!

I created an iPad editor for the JD-Xi using TB Midi stuff. And thought of creating a translator using Arduino so that I could control the JD-Xi from my System 1m, or other controller.

I'm wondering how hard it would be for you to transform this progam into one that's not locked into the Launchcontrol.

In other words, rather than having a dedicated gui and cc#s, have a list of JD-Xi parameters that you can then assign any cc# to? That way, it would be a universal translator for JD-Xi owners to use any controller they have available!

Thanks for listening!
lonfield
Posts: 5
Joined: 12:01, 26 August 2017

Re: Scraunch 1.0 - Midi controller for JD-Xi

Post by lonfield »

Hi there rocco1,

Thanks alot.

It's actually quite straight forward to do and the idea has been floating around in my head as well. Pushing it a bit further, Scraunch could be turned into a generic CC-msg -> SysEx-msg translator, meaning that it could also work for e.g. JD-XA. The work isn't complex. It's just work.

However, limiting the discussion to JD-Xi for now, there are a few things that need to be addressed.

First of all, the information model I'm using is a bit overly complex and breaks some of the rules of Relational theory. Not a big thing - just takes some work to fix the model and then some to change the C++ class structure accordingly.

Second, all the SysEx definitions are hardcoded structures in the application. However, the structures could equaly well be stored in an XML-file together with a suitable XML-schema. It's a straight forward 1-to-1 mapping. This also goes for the mappings CC->SysEx. Not a complex thing - just work.

The reason for these two issues is that my main focus was just to get Scraunch up and running. The JD-Xi is my first real synth (usually play arrangers) and I was eager to try to make some noise ;-).

Talking about the CC->SysEx mapping. One thing will be lost. Scraunch can configure up to eight different SysEx parameter for each single control. This is done using Launch control's templates. CC-messages alone don't know anything about templates so that feature will be lost. Comes to the resque - Midi-channels. I.e. by using different midi-channels for the same CC-number, the multiple-parameters-per-CC feature can be reimplemented.

Third, the thing that would need some thinking is the GUI and also if it should be possible to hook up Scraunch (or parts of it) with your eminent editor or the JDXi Manager. This could then provide a solution for a combined editor and control surface. I think I saw someone else talking about that a couple of months ago.

Forth, Scraunch uses the LEDs on the Launch Control XL to show that the knob or slider are in synch with the specific JD-Xi-parameter value. This information could actually be moved into the GUI of the Scraunch application forming a generic solution for this kind of feedback. Not as cool as flashing LEDs but still usefull ;-)

Right now I'm just happy I got the whole thing out of the door. But, I have almost decided that the next thing to do is to move the SysEx parameter definitions out of the code and into an XML-file. That would allow anyone to setup new SysEx-defintions (by editing an XML-file) without having to recompile the application. That is a step in the direction of your proposal.

Best
/Nils
baz55
Posts: 139
Joined: 19:13, 26 July 2015

Re: Scraunch 1.0 - Midi controller for JD-Xi

Post by baz55 »

That looks like a very useful tool. I don't have a Launch Control myself (I own a BCR2000 instead) so it's not for me, but I'm sure it will be helpful for others.

I see you are using rtmidi, so it could work on Linux too, providing the GUI is also written with a platform independent toolkit. Does it use Qt or am I seeing it wrong? (I'm not a C++ Programmer so I could be mistaken)
lonfield
Posts: 5
Joined: 12:01, 26 August 2017

Re: Scraunch 1.0 - Midi controller for JD-Xi

Post by lonfield »

baz55 wrote:That looks like a very useful tool. I don't have a Launch Control myself (I own a BCR2000 instead) so it's not for me, but I'm sure it will be helpful for others.

I see you are using rtmidi, so it could work on Linux too, providing the GUI is also written with a platform independent toolkit. Does it use Qt or am I seeing it wrong? (I'm not a C++ Programmer so I could be mistaken)
Hello baz55,

Yes, it should work on Linux as well. You're spot on that I'm using QT and one of the two reasons is for plattform independence (the other reason being that I happen to have worked with QT before ;-). Right know I have only built and tested Scraunch on 64-bit Windows 7 so there may be some minor issues with Linux, but that could be said for Windows 8 and 10 as well...

/Nils
mmelon
Posts: 1
Joined: 10:10, 22 July 2018

Re: Scraunch 1.0 - Midi controller for JD-Xi

Post by mmelon »

hey that's awesome. IIUC you don't need a launch control to benefit. Anything that can generate the expected midi cc's can drive the software. if you need inspiration, bome's mouse keyboard can store 8 snapshots of 20 controllers and send them using the keys f5-f12. That's some pretty powerful automation.

How can I help add the parameters for the digital synths? Does the app expect the mappings in a txt file or something?
NaughtyNord4P
Posts: 2
Joined: 12:38, 14 September 2023

Re: Scraunch 1.0 - Midi controller for JD-Xi

Post by NaughtyNord4P »

This is an old post. Did you manage to get this to work not only with the analog portion of the JD XI but did you also manage to get digital synth 1 and 2 and drums to be controlled buy the novation launch control xl?

I want to buy it and set it all up, but not if its ONLY for the analog portion.

If you havent managed to do this, What are the best midi controllers that can be used to control the JD XI sysex messages etc?...
Post Reply