Midi note number from ableton

hi y’all,

I’m not sure what a good way to get the midi note numbers from each note that’s played from ableton. I’ve got a select-CHOP getting the midi notes from live using the path “midi/t1/TdaMIDI/ch1/note_”, but I can’t seem to actually get the midi note numbers for each note as they are played.

can anyone please help? I’ve searched the forums/internet for similar questions but can’t find anything that matches.

Have you already seen this? TDAbleton - Derivative

1 Like

Yes I have, thank you. I read through the TDAbleton document again. Using the TDAbleton abletonMIDI component I am getting the notes sent from live as they are played, using a select to only get the channels that match " midi/t1/TdaMIDI/ch1/note_".

The ‘channels’ for each note have the note number, and it looks like for every note’s ‘channel’ data I can get the velocity information for each note. But I’m not sure how I can get the actual midi note number for each note as it’s received, basically I want to create a channel with the midi note numbers.

I’m thinking I may be able to get it from the channel name or something but haven’t found it yet.

In the midi component you can switch on ‘last note data’. this should give you what you need in a channel.

1 Like

@nightsquid if last note data is not what you want, describe here what your channels would look like and I’ll try to steer you in the right direction.

1 Like

@vibber Thanks, ‘last note data’ is helpful. But there are cases where multiple notes will be playing, and some end longer than others etc. I’m not sure that it will work

@Ivan the end goal of what I want to do is this: - YouTube
(built this with Max/Jitter but want to build it in touch designer because it’s so much better)

I want to use midi note number to control the position of geometry, and arrange the notes in a grid of 12 notes per row with maybe 10 columns. So for example midi note number 60 would be the 0th index of the 5th row, 61 would be the 1st index of the5th row.

I realize I can get note numbers from the abletonMIDI callback, but I’m not sure how to ‘send’ the values to an operator. I’m also not completely sure what operators I could use. Still very new to touch designer

Ah, this is a wide-ranging question. A couple useful pointers that might help you get started:

  • The Show Default Note Channels on abletonMIDI will show all note states instead of just played ones
  • CHOP To DAT will let you work with that data in a table if that is preferable

Attached is an example for use in the TDAbleton demonoteData.tox (7.9 KB)

1 Like

@Ivan Thank you, I have found a solution thanks to your answer.

After the ‘chopto’, I’m using an Evaluate CHOP with the expression ‘int(me.inputCell.val[-2:])’ to get the last two characters of the channel name!

This is exactly what I wanted.

Obviously this will mess up midi notes above 100, but I’m not going that high up so this should work.

Thanks y’all