MIDI Control of System Tempo?

Forum for JD, JV, XP and XV synthesizers from 1990's
Post Reply
MixSonJ
Posts: 6
Joined: 01:13, 2 January 2017

MIDI Control of System Tempo?

Post by MixSonJ »

XV-2020
I'm trying to figure out if System Tempo can be adjusted by way of keyboard controller (Alesis VI49) knobs and/or switches.
It was easy to assign Volume Control - CC 7 - to one of the knobs, for example, since the XV-2020 owners manual makes that function clear (pg. 103).

Patches can have one or more clock-based parameters (LFO Cycle, MFX delay time, etc.) whose rate can be set to follow the System Tempo setting. Pages 100-102 actually show examples of this using Matrix Control, but stop short of explaing how the System Tempo itself is controlled.

I know this can be done by means of XV-2020 Editor application's virtual control surface, but whether it can be done from the external keyboard is not addressed. The following are the MIDI messages sent when adjusting System Tempo with the Editor. Each string begins with F0 41 10 00 10 12 02 00 00, followed by:
1F 01 04 5A F7 for 20 BPM,
1F 07 0F 49 F7 for 127 BPM,
1F 08 00 57 F7 for 128 BPM, and
1F 0F 0A 46 F7 for 250 BPM.

Apparently System Tempo is a function of System Exclusive messages (see pg. 147 under 1-2-1 System Common), and from my online research it appears that these might be sent via something called NRPN or maybe RPN.
Again, the manual is of no help to me here, even though it makes a tantalizing reference to something of the sort on page 100 under Source 1-4 (Matrix Control 1-4 Source).

Anyway, it seems to me that full-blown synthesizers woud probably have this capability, and I'd like to know if anyone could help me solve this riddle as it applies to my simple setup.

Thanks very much.
MixSonJ
Posts: 6
Joined: 01:13, 2 January 2017

Re: MIDI Control of System Tempo?

Post by MixSonJ »

Since Tempo would only be set on a per-song basis, I'm thinking I could assign these CCs to switches, except for the BPM value itself which would be a knob (or multiple knobs).
IF these are RPN commands, the one switch could toggle CC 100 = 02 and CC 101 = 00, then CCs 6 & 38 would adjust the value. This might be an NPRN command instead.

I'm not even sure that the XV will receive this via anything other than the Editor. (Which is very difficult to do on-screen as it is.)
I found out the Roland A-series controllers have a Tempo function built-in. But I don't know that even they would do this. Plus, I don't have one.

Taking 20 BPM and including the last three terms common to the examples in my prior post:
02 00 00 1F 01 04 5A F7
is the command message to set System Tempo to 20 BPM.

Referencing Section 3 Parameter Address Map on pg.146 of the XV-2020 Owner's Manual
02 00 00 00 is the start address for System control messages, then

02 00 00 1F specifies the System Tempo parameter. See 1-2-1 System Common pg. 147.
I can only assume that the last two terms of the start address are supercede by the parameter code's offset address.

Then "01 04" means 20 decimal, since 1 x 16 + 4 = 20.
See pg.158 under the hex table where it says Data marked "Use nibbled data"...

The last term "F7" means End of Exclusive. See examples on pages 141-142. But what is the term "5A"?
It changes as follows:
5A at 20 BPM
59 at 21 BPM
58 at 22 BPM
55 at 25 BPM
4F at 31 BPM This is an inverse pattern; the term's value decreases as BPM increases. But then, the pattern breaks
5D at 32 BPM.
What is this? ?
rcraven
Posts: 629
Joined: 14:36, 9 September 2007
Location: Melbourne Australia

Re: MIDI Control of System Tempo?

Post by rcraven »

Hi
first let me point you in the correct direction about RPN and NRPN.
It is not sysex (System Exclusive).
It is a method to increase the number of CC (Continuous Controllers) available.
It uses CC98 and CC99 for the RPN and CC100 and CC101 for NRPN -
See this great web site
http://www.somascape.org/midi/tech/spec.html#rpns

Sysex starts with hex F0 then any number of numbers less than 128 (hex 80) then finishes with F7
CC starts with a number from B0 to BF (0 to F is Midi channel 1 to 16) then two numbers - CC type and CC value.
As you can see sysex has nothing to do with CC messages.

This is the sysex you need to change the System Tempo.
F0 41 id 00 10 12 02 00 00 1F val1 val 2 checksum F7
The id = 00 to 1F or 7F meaning this message is for all devices
val1 and val2 are needed as the tempo can vary from 20 to 250 (meaning more than 128 values)
The checksum is based on the red and blue parts.

As your controller can only send CC (according to my brief read of the manual) you can't do what you want to do without placing a 'man inn the middle' computer to convert the VI49's CC to this sysex message .

The Behringer BCR2000 can definitely do it and perhaps others can too, but they would have to be able to send sysex and be able to calculate the checksum.

Sorry about that
Royce
MixSonJ
Posts: 6
Joined: 01:13, 2 January 2017

Re: MIDI Control of System Tempo?

Post by MixSonJ »

A little further reading in the manual explains that my mystery term is the Checksum. Also, RPN is 100 & 101, NRPN is 98 & 99.

Royce,
I've looked at the BCR2000 manual and its Editor, but couldn't figure out how Control Change messages could be converted to System Exclusives. It might be done through a DAW, but I'd like to use the XV without neccessarily having to use a DAW or spend much more time studying MIDI interactions.

Seems that the external contoller has to have its own internal clock and provide a method to communicate it to the XV. The XV System Tempo would be set to MIDI sync. I've come to the conclusion that I need a different keyboard conroller, such as the Roland A-Pro series.

The Alesis VI49 does not have an internal clock (nor the BCR2000).
The only other complaint I have with the VI49 is that when button-switching XV presets, the VI's display reverts to the VI's Preset (group) number instead of staying on the preset message sent. It's a real nice controller; The keys feel great, and programming is easy.

Thank you very much for the help.
rcraven
Posts: 629
Joined: 14:36, 9 September 2007
Location: Melbourne Australia

Re: MIDI Control of System Tempo?

Post by rcraven »

Unfortunately Behringer took a very capable machine and hid about 75% of its features.
If you just read the information they have released it looks pretty ordinary, BUT the BCR2000 and BCF2000 have a very capable hidden programming language.

A few of us got together and managed to get it all.

Mark has written an Editor that will let you get to every part of the controller with out having to write a line of code if you don't like programming.
http://mountainutilities.eu/bc2000
I still use my editor, but Mark's is better.
Mark has written a very detailed explanation of the controller's programming language if you are feeling brave.

You are correct, you can only program simple messages (CC and PC and NRPN and RPN etc) from the front panel. You can also use the learn function for sysex as well as ordinary Midi messages.
Using the LEARN method, it is very easy to get the Roland editor (or the XV2020) to output sysex messages while the BC learns what you want it to do.

But by using the editor you can send ANY Midi message (or messages) less than 124 numbers long - even incorrect ones.

You can get the BC2k to calculate the checksum for you in real time allowing for the new value.
You can have different messages output if you turn the encoder to the left instead of the right.
You can have the value jump quickly if you turn the knob quickly or act as a fine control if you turn it slowly. (you can set 4 different rates for each knob)

It will most certainly do what you want it to do (if I understand you correctly).

You can use this controller with or without a computer in the middle.
The only reason I have a computer in the middle for a lot of my hardware synths is so when I change a patch on the synth I get the computer to download the bulk patch and then send the separate values to the BC to keep it in sync.

If you can afford a new controller you should really look at the BC2k particularly the BCR2000.
I haven't found anything that even comes close to the capabilities of the BC (the hidden ones that is).

There is a very friendly and active Yahoo group https://groups.yahoo.com/neo/groups/bc2000/info
As well as the forum on Mark's website. http://mountainutilities.eu/forum
All willing to help you program the thing.

All the best
Royce
MixSonJ
Posts: 6
Joined: 01:13, 2 January 2017

Re: MIDI Control of System Tempo?

Post by MixSonJ »

Thank you, Royce, for your most kind reply and the information.
John
Post Reply