Cantabile Song Change via NRPN

My Main Key Arranger is a Korg PA4x with an internal Songbook.
This is very useful for me and my intention is to switch my Songs in Cantabile
with the Midi command from the Pa4x.

The problem ist that the Korg Key sends on a control Channel the following Commands
(This is the signal that the SongbookNr. is following)
Now Controller 6 and 38 as SongbookNr.

6=10 38=2 it means Song 1002
6=00 38=45 it means Song 45
6=2 38=3 it means Song 203

is there any way to work with this commands to call the same song in Cantabile?

Hi Juergen,

There are bindings for this that can call up songs using MIDI Banked program messages. If I understand correctly your keyboard is sending a NRPN Fine resolution message using the cc99(MSB) and cc98(LSB) that has a parameter value of cc6(MSB) and 38(LSB) and the value of the MSB and LSB.This is what Cantabile should see on the MIDI port when you send the 98,99 message. In Cantabile the songs are ordered and numbered in banks of 0 to127 so I don’t know how that relates to the song numbering in Songbook. Could you elaborate on the numbering scheme in Songbook? Is it 0 to 100? For instance your 6=2 and 38=3 equates to a midi value of 259 not 203 so a little more info is required to help but you can do what you want to do you just need to know how to remap your song numbers in Cantabile to match up with your songs in Songbook. You can try experimenting with a binding like this example

It will map your cc 6 and 38 values to banked MIDI program change messages you can use to pick songs in Cantabile. You could then number your songs in your set lists to match these numbers. Let us know more if you can.


Thanks Dave but this is not the point

here some Pictures for better understanding my ‘Projekt’ :grinning:

Why i would do this ? …because I have this 12 Knobs directly in Front of my Fingers and it is the best Workflow (for me) to use the Knobs…

So i can chose a List directly on my Keyboard…

And here is the way the PA-Arrangers work…

Songbook-Nr. in Pa-Series Arranger are available from 1 to 9999
and so Korg is splitting the Number in two Parts

maybe there is a plugin ore something else to handle this problem…
or Brad has an Idea witch way solves this problem.

maybe brad can implement a function that do the same thing than the other Lyric-Software

…maybe i can put the Numbers with a filter to MSB/LSB and sort the Cantabile Songnumbers also? 9999 is then MSB/LSB/Prog = 000.099.099

…but this looks not so nice

Hi Juergen,

Thanks for posting that great explanation, I think I had a clue but now it is very clear, I will think on it some but like you, so far I am thinking of a filter of some sort. Sorry I have no immediate solution.



Thank’s for your help Dave but I think this is a Job for the big Masterchief of Cantabile …the god of Midimapping himself :wink:

…for Mr. Brad the Incredible Robinson :+1:t2::+1:t2:

The Input Routing/Filter to CC6/CC38 works perfekt only the figure looks curious.
9999 = 0.99.99
2505 = 0.25.5 << here with Zero it would look better !

i hope you know what I mean…

For those who think this workaround makes no sense here is the primary reason to work tis way >>> perfektly Timing to the Arrangers Midiclock-Events switch is everytime exactly on beat 1

Maybe Brad can add a new Item for this case to Options/General/Formatting/ProgramBanks

1 Like

I guess Bidule could do this midi dispatching.
I’ll check It later…

kind regards, Alexander

Hi Alexander …thanks but it works good with the cantabile Input Filter
it is only a Problem to display the Numbers in a nice Format…

Hi @Juergen,

Just to clarify… you’re saying the MIDI mapping is working correctly now it’s just that the number format used by Cantabile isn’t to your liking?

I suppose I could add an option for zero padded program numbers, but then it’d look like this:

000.099.099 or 000.025.005

because program/bank numbers can have three digits. Or, do you want “00.25.05”?


Hi @Brad,

This is the system of Korg PA Arranger Songbook…
with a Filter I am routing:
DataEnt MSB to LSB
DataEnt LSB to ProgramChange

in this case the best Solution would be the last 00.00.00
So the digits would be all at the right place.
MSB Numbering is not requiried so the best optical Solution would be
LSB.Prog = 00.00
Because smallest Number is 0000 and highes number 9999
The Ultimate-Perfect-Optical-Format would be to Supress the Point between the Four Numbers (…If this is not to complicated)
LSB(NoPoint)Prog = 1234 << Perfect😄

kind regards, Jürgen

Sounds like the best bet here might be a place where you can type in a format string so you can configure anything you like. Seems very niche though… let me think about it.


1 Like

Thanks @Brad,

that would be great…

But one problem is conceivable…
Example : what happens when the Last Number is 3399 and I will add a new Song to the List? …then Cantabile automaticaly would Go to Programchange 100 and Shows only the Last two digits…
that makes the Problem somewhat more difficult.

Hopefull Jürgen

Yes, that’d be a problem which is why its best to have separators between each component.

But ‘meanwhile in space’ i had thought it is not necessary to complicate it…

Numbers with 2 digits would be enough 00.00.00 because there is only 1 Mastersetlist that must have same Numbers than the Korg Songbook

…so it is necessary to Type the Numbers per Hand ,and not automaticaly

Question about Msb.Lsb.Prog numbering:

Would it be a solution to integrate the option of
formatting the digits with zero’s?

001 instead of 1
066 instead of 66

it would be better for my eyes :grin:

1 Like

Logged it.

1 Like

Finally, a website and people that understand the true power and versatility of the Korg PA4x. My PA4x is one of the four keyboards I use as MIDI Controllers. The PA4x is actually the primary and my NI Komplete Kontrol S88 MK2, Arturia Keylab 61 MK2 and StudioLogin MP-117 Pedalboard are secondary.

I use my PA4x for Real-Time Control of Ableton Live and a vast suite of plugins when I’m not pleased with the internal sounds provided in the PA4x. With Ableton’s external MIDI Clock Sync any latency in minimized to the point it cannot be heard. Only view in an audio diagnostic tool.

I don’t know where you’re located but I’m guessing it’s not in the US as Arranger Keyboards are generally frowned upon in the US purely due to the masses ignorance of the power and MIDI flexibility it has to offer. I’ve literally been looking for years for a website that has PA4x, or any Korg PA Product for that matter, technical PA information as it relates to MIDI. Just seeing the acronym “NRPN” returned from a Google search brought a smile to my face.

I’m a musician of over 50 years, classically trained in my youth, and a retired Automotive Electronics Engineer and Quality manager. I am so pleased I found this site.

Against my instructors wishes in 1975 I transitioned into Rock & Pop. I kept up with the classical side to appease him as he was one of the foremost teachers in the US. Thus the use of my StudioLogic MP117 as I’m very adept at using pedals for either manual bass and also as MIDI Keyswitches when my left hand is to busy to do so.

I’m looking forward to meeting this new, technical group of members.

Welcome to the forum @willf. This is quite a friendly group of knowledgeable musicians from around the world. The forum is setup for Cantabile users, and related subjects. Feel free to search the forum for any subjects that interest you.