Midi Note to CC To Control Global tempo in Ableton live

Perradiddle

2015-02-16 21:46:19

Hi, I'm using a Midi fighter Spectre to control Ableton Live as a transport setup for changing songs for a click track.

I'm a drummer sometimes I use tap tempo and it works well, but ideally I'd like to change the global tempo by 1 increment up or down. The info it needs is CC midi mapping wise..The Spectre only sends straight note info or momentary which doesn't work for me.

Is there a way to change the midi note info so that 2 buttons can control the global tempo by 1 BPM up or Down?

DvlsAdvct

2015-02-16 21:54:53

Hi Perradiddle

Bome MIDI Translator can easily handle that task. What you need to do is create a translator which will receive the Note Messages you're sending and then send out the necessary CC message instead. Do you know what the CC messages you need are?

Jared

Perradiddle

2015-02-16 22:03:53

Sadly I'm a complete noob to this.. I've found this chart..http://nickfever.com/music/midi-cc-list

Would I need CC 96 and 97?

It says up and down 1 increment.

In Ableton it gives me 2 options. A min number and a maximum number for the tempo I guess it's designed for a dial or fader..

That's all the info I understand.

If I press the down button I want mapped on the Spectre I get

Channel 3 Note E1


If I press the up button I want I get.

Channel 3 Note F1

DvlsAdvct

2015-02-17 00:43:26

You can create any custom mapping you want for Ableton, so there's no need to deal with that.

You are going to use two translators for this, for simplicity's sake. Each one will take in a note message (92 1C 7F for Channel 3 Note E1 and 92 1D 7F for Channel 3 Note F1), and will spit out a CC message (let's say B2 30 3F and B2 30 41) for a relative bit.

Then when you are in Ableton you are going to enter the MIDI Mapping menu either by clicking the MIDI button in the upper right hand corner, or using Command/Ctrl M on your keyboard. From there, select the Coarse MIDI Section (so the BPM whole numbers), set the MIDI range in the panel and press one of those buttons. When you select the Coarse BPM at the top, while still in MIDI mode, you should see a selection at the bottom for control type set to Absolute. Change that to Relative (BinOffset). Does that make sense?

Your translators should look like this:

Code: Select all

Translator 1: Knob Left
Incoming Message: 92 1C 7F
Outgoing Message: B2 30 3F

Translator 2: Knob Right
Incoming Message: 92 1D 7F
Outgoing Message: B2 30 41

Perradiddle

2015-02-17 01:12:18

Keeping in mind.. I'm a complete ludite..

I've downloaded and installed Bomes midi translator. I've also got the Midi Yoke and Midi Ox installed
I'm trying to figure out how they all work together.

I know that I'm supposed to take the input note on commands of my spectre and turn it into cc commands.
I'm assuming Midi translator does that. But to do that it needs to send out through Yoke virtually?
I think OX is just to see what's going on as far as midi commands in and out.

The info you gave me corresponds to the setting in Bomes midi converter correct?

I haven't gotten to the point where I can change settings of translators yet or for it to receive commands from the Specter inside Midi translator.

Do I need a virtual midi port and or Yoke? Or will my settings in translator be fine.

There's alot of info out there on this stuff but it's very fragmented and specific to a degree by the authors. I'm not getting the big picture of workflow of order of software..


Thanks for your help.

Perradiddle

2015-02-17 01:40:23

Ok, I have the input working...

When I click on the button I want for down I see:

pp 28 7f in the top box
82 28 7f
92 28 7f

for up I see

pp 29 7f in top box
82 29 7f
92 29 7f

How does this relate to what I see.. Where would I put Knob Left or Right?

I see on the output .. options for Midi message, Preset change. None, special and Key stroke emulation,


Will I need to send the outgoing to a virtual midi port? IF so does the port number matter?


Translator 1: Knob Left
Incoming Message: 92 1C 7F
Outgoing Message: B2 30 3F

Translator 2: Knob Right
Incoming Message: 92 1D 7F
Outgoing Message: B2 30 41

Perradiddle

2015-02-17 03:52:01

Awesome..I figured it out. I needed the Pro version to do it without the other software.. That's killer.

It adjusts up and down great. The only thing is it toggles 1.09 BPM up and down.
Is there any way to make that an even 1 BPM?

I have no idea what the numbers you gave me do. If I change one of them will it change the amount up and down?

Perradiddle

2015-02-17 04:36:01

Yay.. I have everything working well.

I had to do some assignments in Bome to get my old commands to run through.

Just wondering how did you come up with those Hex values to enter. Is there a master list somewhere?

If I wanted to adjust Cue volume the same way. Or be able to scroll up and down my setlist by more than one song at a time how would I learn to know what Hex values to enter?

Thanks again this is awesome!!!

DvlsAdvct

2015-02-17 17:46:27

The Hex values can be found doing a simple google search for MIDI Note to Hex. The first link should be a spreadsheet of the midi note to hex value. When I'm home I can add a link here.

Cue volume should just be a passthrough, you shouldn't need a translator for it as long as you have a knob to use. If you go to the MIDI Router in MT and connect your controller's In port to the virtual port you're using to connect to Ableton everything should send through without needing an individual translator.

Does that make sense?
Jared

Perradiddle

2015-02-17 22:12:22

Yup makes sense , Sadly the Midi fighter Spectre has no knobs.

That's why I have to change to cc for things that require faders or knobs.

Thanks for your help.. Oh also I assume that every tie I require the translation Midid Bome needs to be running correct?

DvlsAdvct

2015-02-18 15:46:21

Oh, I mistook the Spectra for the one with all the knobs. Brain fart on my part :)

For the outgoing messages, there are no real requirements, other than CC message (in Hex they start with a B). I'll give you a quick breakdown of the Hex messages for MIDI.

The first two digits are the message type and channel it's on. The first digit is the type of message. There are a bunch, but you're probably only going to run into a few. Those are:

9: Note On
8: Note Off
B: Control Change
E: Pitch Bend

The second digit is the channel it sends on. Since we're in Hex, these go from 0-F. 0 is 1, 1 is 2, 2 is 3, 3 is 4, etc. 9 is 10, A is 11, B is 12, through F which is 16. So the message 90 is Note On, Channel 1, B5 is CC on Channel 6.

The second byte of data is the message itself. So a 90 00 is Note On, Channel 1, C-1. B4 0A is CC10 on Channel 5. The last byte is the position/velocity of the message. That should be self explanatory. Since we're dealing in regular MIDI, these messages go from 0-127, or 00-7F. Big one to keep in mind is 40 is 64 (the middle) which is why endless encoders will often send 3F (63) and 41 (65).

While mapping your controller to change Note messages to CC messages, there are no requirements anymore. Those key sheets, like what you found, are pretty antiquated now, and you can make any message do whatever you want wherever you want. Ableton has more restrictions than, say Traktor, but that's not necessarily a bad thing. It also responds very differently to different types of commands, as you'll see as you dig. The important thing to keep in mind, though, is that if you are controlling a knob use CC messages. If you are controller a button use Notes. :)

That help?
J

Perradiddle

2015-02-18 23:09:04

Thanks I could follow till the second group of digits..

The second set of digits being the message itself?.. Do you mean the midi note number like C-1
I think you mean the midi note and the velocity of said note are in the second group. I'm not sure though as I'm new.

I guess I don't follow the midi code for 00 to 7F


Then the last 2 digits are the velocity?




This is what I interpreted for the first group of digits.

First Digit Type of message.

9 Note on
8 note off
B control change
E pitch bend



Second digit

Channel it sends on offset by 1

0 = 1
1 = 2
2 = 3
3 = 4
4 = 5
5 = 6
6 = 7
7 = 8
8 = 9
9 = 10

Then it switches to Alphabet up to 16

A = 11
B = 12
C = 13
D = 14
E = 15
F = 16


So first and second digit or first group of 2 is:

90 9 is Note off message, 0 is sending on channel 1

B5 B is Control Change , 5 is sending on channel 6

DvlsAdvct

2015-02-19 19:37:19

A Note On message is formatted as:

90 40 7F

This is a Note One message, on channel one, Note C3, at 127 velocity.

A CC message is

B5 05 40

This is a CC message, on Channel 6, at position 64.

There are three sets of digits:

xx yy zz

xx is the message type and channel

yy is the note or CC value, so note C-1, or D#3, etc. for notes, and just regular numbers for CC messages.

zz is the velocity (for notes) or position (for CCs). 7F is 127, or the hardest you can hit a pad/key.

Perradiddle

2015-02-20 05:44:01

Ok.. So I follow..

B5 B is CC 5 is sending on channel 6

05 I don't know what this is. Is this the midi note? If I look at the chart below 05 is F-1?

40 From the chart below means the hex value of 40 equals midi note value 64. Like a volume setting of 64 or pan of 64 ect? If it was 7f it would max volume 127.


This is what I think it might be.. I guess the 05 in the middle isn't exactly the same as the chart.. so that has me wondering..

As far as trying to figure out how to assign 2 buttons to turn up and down my cue volume in Ableton live I am at a loss... I tried copying the same stuff from the values you gave me for the tempo adjustments and used different button inputs... I selected the cue in the midid map and assigned to the buttons ...They wound up adjusting the tempo as well haha..

How do you determine the CC command specific to the object you are trying to control? I basically want to do the same thing as the adjust tempo thing substituting the knob with up and down buttons maybe not by 1 tick at a time. But adjust the volume cue instead.

I'm not seeing any info as to what type of cc command is needed from ableton only the midi note number I press from the spectra.


Is there a chart that defines CC commands like. Knob based volume or pan?

The thing that amazes me about the values you gave me before is that the tempo only moves 1 bpm each time.

Is that a different CC command than a volume control?

I haven't been able to find a master cc command chart. just a conversion from hex to midi note value/midi keyboard number.

Here's the chart I'm going off of..

http://www.nem0nic.com/MIDI_Data_Conversion_Chart.pdf

DvlsAdvct

2015-02-20 18:59:38

First, when responding, please quote the pieces you're responding to for me. You can use the Quote option at the top of the reply box, just so I know exactly what you're saying and what I'm saying :)

You are confusing CC messages and Note messages. Here's how they work:

Note messages have actual note values. Like C1 or B#5, etc. So 05 is F-1, correct.
CC messages do NOT have corresponding note values. A CC value of 05 (in hex) is 05, 100% of the time. a CC value of 0A (in hex) is 10. A CC value of 40 (in hex) is 64. So you won't be able to compare notes with CCs like that.

If you see a message like 90 05 7F it means:
Note On message
Channel 1
Note F-1
Velocity 127

If you see a message like B0 05 7F it means:
CC Message
Channel 1
CC05
Position 127

They are two different kinds of messages, and have different meanings, even though they are formatted similarly. That first character (9 or B) is very important.

There are resources that will talk about what CC messages do and, in fact, when you enter certain CC messages into MIDI Translator it might give you a meaning beyond the actual CC number. That's not important anyone, not for what we're talking about. There is no universal "Master Tempo" CC message that will work in Ableton no matter what. There are no requirements anymore. Note commands aren't reserved for actual keys on a keyboard anymore. CC messages aren't restricted only to knobs. They can be interchangeable and do whatever you want, as long as the software allows.

Ableton has some restrictions, and understandably so. You are better off using CC messages for most knob controls, and Note messages for most button controls. So we are going to focus almost exclusively on CC messages in Ableton.

I can't tell you what CC message will control the Cue Volume, because you get to decide what those are and map them yourselves. You copied the previous translator we used to map the master tempo, and changed the input command. That's halfway there. If you don't change the outgoing message in the new translator, then it's going to send the same CC to both the Cue Volume and the Master Tempo. Hence it will move both of them. In fact, I'd bet the Master Tempo buttons on your Spectra will also move the Cue Volume the way you have it set up.

So you need to assign a different CC message to the output of the Cue Volume translator. It should be different from the CC message for the Master Tempo Translator.

And to be 100% clear:

The Note messages have a reference sheet because they are clearly defined as musical notes. CC messages are only defined as their numerical value, as far as we are concerned. There are some VSTs where this might be different, but for what you're doing it's not important and will only confuse us all. Does this make sense?
Jared