Fantom-S and Fantom-X

Changing individual Performance Part Levels via MIDI? Is it

Changing individual Performance Part Levels via MIDI? Is it

20 May 2009, 10:39
While in a performance, I want to be able to adjust each individual part level using the faders on my Edirol PCR-M80 MIDI controller.

I was able to to use the actual FANTOM XR controls to do this, but it's slow and not very useful in real time while playing. The purpose is to be able to emulate drawbars with the B4Real B3 emulator for the Fantom.

My MIDI controller can only transmit on one MIDI channel at a time, and so I have each performance part assigned to MIDI channel 1. But even with that, I can still adjust the LEVELS of each part (assigned to channel 1) within the Fantom XR itself.

What I'm trying to see, is if it's possible to make the same value changes (adjusting the part level volumes, individually) with my Edirol PCR-M80.

I have editor software for it, and so I can assign pretty much anything to each fader, pan pot, button, etc... I don't believe it's a CC switch I need to assign to it, since a CC#7 (Level) volume just turns the whole volume down for everything (All on MIDI Channel #1).

Is there maybe a Sysex value I can set up for each fader on my controller to change the performance part levels in the Fantom XR? i.e. Fader #1 adjusts level for part #1. I could probably maybe set up each of those faders for different MIDI channels, since I think it's maybe the actual keyboard notes that can only transmit on 1 channel to a time...

I'm sure there has to be a way to do this...

Thanks...

Dave

Re: Changing individual Performance Part Levels via MIDI? Is

23 May 2009, 00:21
The sysex address you are looking for is the
$10 $00 $00 $00 Temporary Performance
-----$00 $20 $00 Performance part 1 ($20 to $2F parts 1 to 16)
----------$00 $07 Volume

The sysex message....

$F0 $41(Roland) $10 (id) $00 $6B(Fantom X) $12 (Tx data) $10 $00 $20 $07 (Address Vol of part 1) $xx (value 0 - 127) $yy (checksum from the start of the address to the value) $F7

$F0 $41 $10 $00 $6B $12 $10 $00 $20 $07 $xx $yy $F7 Part 1
$F0 $41 $10 $00 $6B $12 $10 $00 $21 $07 $xx $yy $F7 Part 2
$F0 $41 $10 $00 $6B $12 $10 $00 $22 $07 $xx $yy $F7 Part 3
$F0 $41 $10 $00 $6B $12 $10 $00 $23 $07 $xx $yy $F7 Part 4
etc

I only have a Fantom X8, but I think the $00 $6B should be the same - check your XR manual.

I have programmed this on my BCR2000 and it works OK.

Royce

Re: Changing individual Performance Part Levels via MIDI? Is

23 May 2009, 08:42
THANK YOU! Exactly what I needed... I'm very new to sysex and so I'll try my best setting this up... That said, if I wanted to set the "min" volume as 127 and "max" at 0 (to emulate drawbars), would let's say part 1 look like this: ?

$F0 $41 $10 $00 $6B $12 $10 $00 $20 $07 $127 $0 $F7 Part 1

And, is the "Part 1" at the end of the line supposed to be there?

Forgive my dumbness when it comes to this, and I appreciate your help...

Dave

Re: Changing individual Performance Part Levels via MIDI? Is

23 May 2009, 08:46
I guess, what I'm confused on is the $xx and $yy values I'd have to enter... i.e. what they'd look like, for an example...

Re: Changing individual Performance Part Levels via MIDI? Is

23 May 2009, 09:25
The xx value is the number that you would use for a CC07 message.
That is 0 is mute, 10 is very soft and 127 is as loud as it gets.

The checksum number can be a bit confusing. It is there to make sure that the message wasn't corrupted somewhere during transmission.
Not all synths use it, but Roland have used it pretty consistently over the years.

Page 329 in the Fantom X shows how to calculate it . It will be some where in the XR manual

To calculate it..... ($ means the number is in hexadecimal)
The message if the value was $0...

$F0 $41 $10 $00 $6B $12 $10 $00 $20 $07 $00 $yy $F7

1) add the address bytes and the data byte
$10 + $00 + $20 + $07 + $00 = $37
16 + 0 + 32 + 7 + 0 = 55

2) 55 / 128 = 0 with remainder 55 .... the remainder is what we are interested in.

3) 128 - 55 = 73 ... this is the checksum
73 is $49

$F0 $41 $10 $00 $6B $12 $10 $00 $20 $07 $00 $49 $F7
Part 1 value 0
$F0 $41 $10 $00 $6B $12 $10 $00 $20 $07 $7F $4A $F7
Part 1 value 127

The 'part 1 value 0' is just text and not part of the message.
If you are going to mess about with Midi and sysex in particular, it is very handy to come to grips with hex (hexadecimal) Try to google 'Hex' as see what you get .

All the best
Royce

Re: Changing individual Performance Part Levels via MIDI? Is

23 May 2009, 21:29
aaahhhhh I see. So I'd have two lines, per part, one with the min value of the fader (i.e. 0) and one with the max value of the fader (i.e. 127). And somehow when I move the fader on the board it will go in between those values... Again, I just wasn't sure if when I put the xx value it's representing the min or max value...

Like I said, I'd be doing it in reverse to simulate drawbars, so have the slider all the way UP would be "0" and all the way down would be "127" or, full volume of the drawbar... I didn't know if for xx I was supposed to literally put 0-127, but now I think I need to do two lines...?

Thanks again for the very detailed help... will definitely give me a jump start on figuring this out...

Re: Changing individual Performance Part Levels via MIDI? Is

24 May 2009, 07:32
Sorry but this is just examples of 2 values that the slider /control should put out.
I don't know what your controller is capable of.

For continuous control (0, 1,2,3 to 127) you would have to program it so it calculates the checksum for each new message.

This is possible on the BCR2000 and BCF 2000 of Behringer, but I have no idea about whatever your controller is.
This is why in the original message I used $xx for the value (0 to 127 depending on the position of the slider) and $yy as the checksum .

For instance on the BCR/BCF the transmit line would read
.tx $F0 $41 $10 $00 $6B $12 $10 $00 $20 $07 val chs-1 6 $F7


You could use the sysex examples on switches to set the volume to mute or 'flat out'

What controller are you using?

Re: Changing individual Performance Part Levels via MIDI? Is

24 May 2009, 08:26
just an Edirol PCR-M80 keyboard controller... it has 8 faders, but they aren't motorized or anything.

Re: Changing individual Performance Part Levels via MIDI? Is

24 May 2009, 19:22
The PCR-M80 will be fine
Check the manual pp72 for sysex assign - use Advanced 3 (or 4 if you want different value range than the normal 0 to 127)
You need to input the numbers in Hex. So where I have written $41 you enter 41
pp74 for the checksum input ($yy value) the start position is the start of the address - the 7th byte, in your case $10, and the checksum type is CS1

pp75 for the data position ($xx)

Looks like you are nearly there

← Back to Fantom-S and Fantom-X