How to display current note or octave in a controller bar button?

One of the instruments I play is an Akai 4000S wind instrument, and it has rollers underneath to change octaves. Usually I have no trouble keeping track of where I’m at, but we just added a song where I have to jump a couple octaves while I’m not playing, with no time to look. I can usually hit it 75% of the time but that’s not good enough. Probably after gigging the song a few times I’ll get it, but right now I don’t want to screw it up at the next gig.
But if I had a visual reference that told me what octave I’m on that would be a perfect solution. But that might be pretty hard to program and I’m certainly not a script or coder guy :confused: I would think it would be easier to just show the current note and I would know the octave from that. So it would have to show whatever note is currently being played. Any ideas are appreciated!
Tom

Hi Tom,

Create a route from your controller to the Onscreen Keyboard

put a filter on the route to convert the notes to CC values. It covers the entire MIDI note range. I chose CC100 for the messages that get sent to the onscreen keyboard.

image

Paste this string function into a field on the controller bar or in your show notes screen where you can make it big.

$(formatMidinote(cc(100)))$(formatMidinote(cc(100)))

image

Cheers,

Dave

Hey Dave, much appreciated! I put the script in the Caption field on a controller bar button. It displayed the current note but a couple issues remain:

  1. It’s not accurately showing all the notes, and the octave change occurs at F#. I tried it on both my Akai 4000s wind instrument, and then the onscreen keyboard itself, and got the same result either way. At first I thought it was just a transpose issue but it’s not consistently off. Also in Key range, mine shows as 36 - C2 and 115 - g8, not 0-C2.and 127- G8, not sure why.

Keyboard Note/Displayed Note
C3/D2
C#3/E2
D3/F2
D#3/G2
E3/A2
F3/A#2
F#3/C3
G3/C#3
G#3/D#3
A3/F3
A#3/F#3
B3/G#3
C4/A3

  1. not a big deal, but it was displaying the note twice. Looks like your script duplicated the code twice, so I used the first half and that worked to display only one note. But I only did that after troubleshooting the issue above.

If it’s any easier for you, diplaying only the Octave number would be better, but whatever is easy is great.
Any thoughts? Much appreciated Dave!
Tom

Hi Tom,

You should be able to increase the range to full by entering the numbers or using the increment/decrement for the 2 key range settings. Are you saying it won’t adjust to that? It is the reason the notes were off. You see the Key Range should equal the Min and Max values so you would need to set min to 36 and max to 115 to have it align correctly.

I will see about the octave question and see what I can come up with.

Cheers,

Dave

Hi Tom,

I made the full range Note to CC filter I used here and exported it so you should be able to plug import it in the filters section where you want to place it. It’s in this zip file.

Note to CC100.zip (351 Bytes)

I also came up with this script that shows the Octave number you are playing in. Just copy and paste it to your button field. You would need a straight route from your controller to the onscreen keyboard with no filters for it to work. You could change the text in the labels to what ever you liked.

image

$(any_notes_held([0,1,2,3,4,5,6,7,8,9,10,11] ,1) == 1 ? "Octave -2":"")$(any_notes_held([12,13,14,15,16,17,18,19,20,21,22,23] ,1) == 1 ? "Octave -1":"")$(any_notes_held([24,25,26,27,28,29,30,31,32,33,34,35] ,1) == 1 ? "Octave 1":"")$(any_notes_held([36,37,38,39,40,41,42,43,44,45,46,47] ,1) == 1 ? "Octave 2":"")$(any_notes_held([48,49,50,51,52,53,54,55,56,57,58,59] ,1) == 1 ? "Octave 3":"")$(any_notes_held([60,61,62,63,64,65,66,67,68,69,70,71] ,1) == 1 ? "Octave 4":"")$(any_notes_held([72,73,74,75,76,77,78,79,80,81,82,83] ,1) == 1 ? "Octave 5":"")$(any_notes_held([84,85,86,87,88,89,90,91,92,93,94,95] ,1) == 1 ? "Octave 6":"")$(any_notes_held([96,97,98,99,100,101,102,103,104,105,106,107] ,1) == 1 ? "Octave 7":"")$(any_notes_held([108,109,110,111,112,113,114,115,116,117,118,119] ,1) == 1 ? "Octave 8":"")$(any_notes_held([120,121,122,123,124,125,126,127] ,1) == 1 ? "Octave 9":"")

Cheers,

Dave

Hey Dave, on the key range I thought I did have it at 36 and 115, but as you see in my screen grab my notes were different than yours at those values. It seems like it wouldn’t give me any other option for notes with those values, but I’ll try it again tomorrow and see if I can get it to set correctly.
On the octave script that’s fantastic, thank you so much! I’ll play with this again tomorrow.
Thanks Dave!
Tom

1 Like

Hi Tom,

Here is what I thought your settings would be like if you range was confined to 36~115

image

Thanks Dave, I’ll check it out!
Tom