JD-Xi Program Change

Took me ages to find this out, so i figured i’ll post it here.

Send Program Change messages to Roland JD-Xi:

Warning: Program Change messages are only sent by OT on PART change. So each program you want to use has to be on a different PART.

Find the MIDI-Channel on which JD-Xi receives Program Change messages: Press “Menu/Write” and select “System”, use the Cursor buttons to navigate to “MIDI: ProgRx/Tx Ch”.

Pick a MIDI-Track and go to it’s NOTE SETUP (double-press the first TRACK PARAMETER)
Use the DATA ENTRY Knob A to select the MIDI Channel on which JD-Xi receives Program Change messages. Press the Knob to accept the value!!

Go to MIDI CTRL 1 SETUP (double press the 4th TRACK PARAMETER button)
Use some DATA ENTRY Knob (e.g. CC1) and select “0 (BANK SEL)”
Press the Knob to accept the value!!
Use some other DATA ENTRY Knob (e.g. CC2) and select “32 (BSEL LSB)”
Exit setup (press Exit)

If you don’t already have it, get the MIDI Implementation sheet from roland:
https://www.roland.com/us/support/by_product/jd-xi/owners_manuals/6a57fff5-ab9f-4608-8b49-bffde0cb0a25/
In the Section “Bank Select (Controller number 0, 32)” on page 1 you’ll find the values needed to pick a program.
CC1 (0, BANK SEL) will always be “85”
CC2 (32, BSEL LSB) according to the desired bank
A or B: “64”
C or D: “65”
E or F: “0”
G or H: “1”
Extra bank S…Z: “96” … “103”

Now you can use OTs Program Change mechanism to select a bank.

Go to MIDI NOTE SETUP (double press first TRACK PARAMETER) and select the desired program (PROG) with DATA ENTRY Knob C. Press the Knob to accept the value!!

Value 0 will select A01, 1 selects A02 etc.

For example to select User Bank Program E04:
CC1 (0, BANK SEL) = 85
CC2 (32, BSEL LSB) = 0
PROG = 3

4 Likes

Thanks man, you’re a lifesaver!!

1 Like

Something else you may find useful when using the OT with the JD-Xi. The OT has "switch off" memory (i.e. when you switch it back on, it will be on the same pattern as at switch off), also it transmits program changes at switch on and when changing patterns.

The JD-Xi does not have “switch off” memory, previously always switching on at pattern A01, though an update now allows you to select a specific switch on pattern.

Fortunately the JD-Xi user editable patterns naturally line up with the OTs patterns. If I remember correctly, OT pattern A01 lines up with JD-Xi pattern E01 and selecting say pattern A03 on the OT would cause the JD-Xi to jump to pattern E03.

An advantage of working this way is, when returning to a project, if you switch the JD-Xi on first and then the OT, the JD-Xi pattern will be changed to the correct pattern.

2 Likes

Nice!
I generally find the firmware updates useful and i’m positively surprised that they keep on releasing them.

Also the additional sound banks they give out for free are better than 90% of the preinstalled ones!






1 Like

I presume you are aware that some kind person has written a free software editor for the JD-Xi.

If not head over to Rolandclan to find it in the JD-Xi section of the forum.

1 Like

In fact i was not at all aware my good sir…
Didn’t even know “rolandclan” :smiley:

Pity that the dude decided to go with a closed source approach. But very interestring work!

Links are these:
Rolandclan Forum Topic
http://forums.rolandclan.com/viewtopic.php?f=58&t=52354

JDXi Manager Official Homepage
http://jdxi-manager.linuxtech.net/

1 Like

I don’t have a JD-Xi, but its manual suggests that a Program consists of the combination of the four parts (D1, D2, Drums, and Analog Synth), so a single Program Change message is all that is required.

Does that answer your question or were you asking something else?

Understood, although I believe the channel numbers are actually 1, 2, 10, and 3 respectively.

Forgive me, I really don’t understand what you are asking in these two sentences. Can you give a very specific example of what you want to do?

Hi,

so for example if I set up a project in my external Controller(Akai Force) with 4 midi tracks that are linked to the 4 parts of the JD-XI, I can send midi note on/off to them, works just fine. What I miss is the ability to change the sounds(instruments) on these parts from an external controller. It can be done only for one channel by setting the parameter ‘Prog Rx/Tx Ch’ to the desired midi channel (i.e. 10 for drums) but not for the other parts as I dont see any option in the JD XI menu to receive program change messages on more then the one specified by ‘Prog Rx/Tx Ch’. Hope it is clearer now :slight_smile:

As I wrote before:

so a Program Change sent to the JD-Xi will necessarily load a Program (which contains all the parameters for all the sound sources and the effects).

If I understand correctly, you want to modify the individual parameters within a Program like the oscillator pitch of the filter cutoff on one of the synth parts. If so, these parameters can be adjusted by sending MIDI Control Change, NRPN, or SysEx messages. The addressable parameters are given in Roland’s MIDI implementation document for the JD-Xi, which you can download from their website.

… or do you mean that you want to change the Tone or Drum Kit that’s used in one of the parts? If so, page 1 of the MIDI Implementation chart gives Bank Select and Program Change values for the Tones that can be used on each part. I presume (it’s not stated anywhere) that you would send them on the MIDI channel that is assigned to the part.

I was simply reading the JD-Xi manual which says that “A program consists of four parts: Digital Synth 1, Digital Synth 2, Drums, and Analog Synth. … You can select one tone for each part.”

Whatever the terminology, the Roland Parameter Guide (as well as the MIDI Implementation document) for the JD-Xi, available from Roland’s website, gives Bank Select and Program Change values for each Tone in the various categories (Digital, Drum Kit, Analog).

For example,

  • the “JP8 Strings1” Tone on a digital synth part uses the values “95, 64, 1”;
  • the “EDM Kit 2” drum kit uses the values “86, 64, 23”.

You should try sending those messages from your controller to the JD-Xi on the dedicated MIDI channels for the part that you want to change. It’s not clear whether you also need to change the value of the “Prog Rx/Tx Ch” setting in the System > MIDI settings, but a few minutes’ trial should give you the answer.

1 Like

Just posting Program Change on Digitakt to JD-XI because this was freaking me out and I finally got this.

It’s pretty much as the OT (many thanks @borism), but the problem is that DT don’t have CC0 parameter on the CC Select page. The deal is the CC0 is set as deafault route to Bank Select (BANK) at MIDI Source Page and is not customized. So Here’s a step-by-step procedure:

  1. Find / set the MIDI-Channel on which JD-Xi receives Program Change messages (as told by @borism) ;
  2. Select a MIDI track;
  3. Go to the MIDI Source page (SRC) and set this MIDI-Channel as CHAN;
  4. Set BANK as 85;
  5. Go to the CC Select page (AMP) and set any SEL as 32.
  6. Set these values to this knob at the CC Value page (FLTR) to select a JD-XI Program Bank:
  • 00 and 01 for User Banks (E-H);
  • 64 and 65 for Preset Banks (A-D);
  • 96 to 103 for Extra Banks (S-Z).
  1. Go Back to the MIDI Source page (SRC) and finally select the desired Program as PROG value.

That’s it.

1 Like