I'd like to share my personal experience using KPA's NRPN functions through a pc.
What you need is:
- a MIDI interface
- the Prologue Bidule app/plugin
- a volume pedal/pedalboard capable to send cc messages
In my setup I have a MOTU 828 MKIII, a SoftStep pedalboard and a Boss FV-500-H volume pedal.
The connections are:
- SoftStep -> MOTU MIDI IN
- MOTU MIDI OUT -> KPA
- MOTU -> PC
In this experiment I put the focus on distortion stomps in order to control the gain range, of course only those without the "Pedal Range" facility: Bit/Recti/Soft/Hard/Wave Shaper.
I'm on the last official KPA release 1.1.0.
The main purpose is to send only cc messages from pedal and delegate something else for the "NRPN translation".
Of course this function could be covered by other piece of hardware but in this experiment I use only software.
Well, referring to the "Profiler MIDI Parameter Guide" document, KPA accepts NRPN messages with the structure:
- cc 99 - address page
- cc 98 - address number
- cc 38 - parameter value LSB
- cc 6 - parameter value MSB
where the last cc (6) could be omitted.
For distortion stomps, the flow for gain range is:
- cc 99: value 52
- cc 98: value 16
- cc 38 - the value received from volume pedal
So, the idea is: when I move the pedal up and down, the Bidule app intercepts the cc flow and prepends the 99 and 98 addresses at every cc value.
To do this, I've designed a flow in Bidule that:
- receive the cc 38 pedal message
- replicate the received message (cc 38 value x) 3 times (A, B, C)
- transform the message A in cc 99 value 52
- transform the message B in cc 98 value 16
- leave untouched the message C (cc 38 )
I also need to send to KPA the EXACT ORDER above mentioned:
- FIRST: cc 99-value 52
- SECOND: cc 98-value 16
- THIRD: cc 38-the value received from volume pedal
To respect the order, I put a delay after the message B and C respectively of 1ms and 2ms.
This is the attached scheme designed in Bidule:
[Blocked Image: http://www.mediafire.com/conv/43775e3b65aa59e33b238fcf01630e4471d63055ac2dbacace31eba82383842f6g.jpg]
This is the detailed flow:
[Blocked Image: http://www.mediafire.com/conv/3531f6c08269235001e8ff34cebeb21b9b1243037acb16651c6d44a6cfe5067a6g.jpg]
I'm not a Bidule expert , so probably there is an easiest way to do this (i.e. using the MIDI stack block) but I haven't explored anymore
You could experiment with different page addresses and numbers and combine different interactions, for example using different midi channels.
I hope this example could help someone...