Invert 0>1127 to 127>0 as CC values

Hello Bome !

I'm interesting to use a king of simple CC assignment but I don't know how to create it :

Following the attached chart I need to assign some notes to CC's values.

-The Lowest the RTIM parameter value CC destination is : the Highest the note as to be, separating each CC value from 0 to 68 to notes 24 to 92. (respectively C1 to G#6)

How can I invert the Value destination, saying from 0 > 127 to 127 >0 ?

 

Thanks in advance...

 


Attachments:
![](upload://tkTcsEwYoLWLYhDnvDJuIqYj7NI.png)

for incoming cc value qq

qq=127-qq

 

output: qq

 

Note: This is not an official response from Bome.
I just happen to be online this morning and trying to play Wakey Wakey Brain. :)

Thank you a lot but one more thing because I missed something :

I only want notes from C1 to G#6 active inverted CC from 68 to 0 CC values…

Okay, so pseudocoding this:

Inc: oo pp qq

// Test to make sure it\'s an event we\'re interested in
if pp<C1, then exit/skip
if pp>G#6, then exit/skip
Note: Should also probably test to ensure it\'s a Note On Event and coming from the expected Port & Channel

// So pp ranges 36 to 104

qq=pp-104

// qq now ranges -68 to 0

// so then just make the negatives positive, and zero stays zero, so

qq=qq*-1

// qq is now 68 to 0, I think

Note: Using Note#s 36 & 104 as C1 and G#6 respectively. YMMV

Again: Note an official nor educated response. I\'m not awake and this sounded like fun. :)

Thank you a lot but one more thing because I missed something : I only want notes from C1 to G#6 active inverted CC from 68 to 0 CC values…

Sorry. I thought that’s what I answered:

First bit tests to ensure it’s a Note On Event and includes the notes from C1-G#6

Then it takes the Note #'s, makes the range 36-104 to become 68-0 and then you can output that as a value to a CC out message.

Apologies that I don’t seem to understand what you’re asking, so best bet to wait for Steve to wake up. :slight_smile:
Good Luck!

 

 

As you say it\'s really fun to play this way ... It\'s basically a retrigger becoming a synth...

Pretty nice sounds coming from this and FX\'s following in the octatrack...

 

Thank you for this and really, yeah, that\'s is nice from you ...

Thank you...

 

But I seem not understanding why you said that the \"pp range\" 36 to 104 ...

maybe I do not understand but it seem to be normally 24 to 92 ... If I refer to the bome Note/number entries :/

 

Edit = I just replaced 36 per 24 and 104 per 92 and it seems to be good :3

Enjoy!
I use MTPro with an OT also.
Much fun!

re: pp range - Because some systems start with Note 0 as C-2 and some as C-1.

I'm coming back to you because this is wonderful but maybe you can help me more ...

 

I think the CC is sending back the note corresponding to the CC to the original sequencer. (or the note is sending back herself) even if I choose different channels....

Midi is :

Octa midi > Bome > Octa sample track in

I tried to send note from a different channel but it still re write note, and I don't understand why... Maybe you have an idea...

Maybe not.

 

Anyway thank you fore the help you already gave me :yep:

If I understand correctly you want incoming note message number 36 to 104 and output then as CC numbers 68 to 0 and use the velocity of the original incoming note as the value. Is this correct? Example Note-On MIDI CH 1 Note 36 velocity 127 in turns into CC 68 MIDI CH 1 value 127. Note-Off MIDI CH1 Note 36 velocity 0 becomes CC 68 MIDI CH1 value 0. Note 36 would be CC 67 , Note 35 would be CC 66 etc. Is this what you are looking for?
Steve Caldwell
Bome Forum Moderator

Here is the way I did it.  I like to use less translators so I could do it with one translator using either note-on or note off.  Raw incoming MIDI.

Incoming: Raw oo pp qq

Rules:

// Look for Note - If it is a note any 0x9n or 0x8n will resolve to 0x80 here

rr=oo&0xe0

// Abort if not note-on or note off

if rr!=0x80 then exit rules, skip outgoing action

// Look for MIDI Channel - Mask Status byte and only look at channel byte

rr=oo&0x0f

// 0= MIDI Channel 1 - Change the below to 1 for MIDI Channel 2  etc.

if rr!=0 then exit rules, skip outgoing action

// Check incoming range

if pp<36 then exit rules, skip outgoing action

if pp>104 then exit rules, skip outgoing action

//Convert incoming note number to proper CC number

pp=pp-36

pp=68-pp

 

Outgoing: Control change MIDI channel rr CC pp and value qq

 

Steve Caldwell
Bome Q and A Moderator and
Independent Bome Consultant/Specialist
bome@sniz.biz

 

 

Allright ! Thank you… :prey:
Haha I imagine you are doing nice things with OT+Bome… They are many many possibilities…
I will try to keep in mind the objectif of producing tracks, but everyday I’m thinking to have different process to make music… Not easy ^^

Hey Steve !

If I understand correctly you want incoming note message number 36 to 104 and output then as CC numbers 68 to 0 and use the velocity of the original incoming note as the value. Is this correct? Example Note-On MIDI CH 1 Note 36 velocity 127 in turns into CC 68 MIDI CH 1 value 127.

-Nop : I want incoming note message number 24 to 92 and output then as CC numbers 68 to 0 Simple as that. Example Note-On MIDI CH 1 Note 24 turns into CC 21 MIDI CH 1 value 68. (& note 92 turns into midi CC21 value 0). Also I want the notes to only do that and so to be not sent as normal notes…) Also I dont want other notes of those midi channel to play note or either #CC

-I receive feedback notes, is it possible to stop them ? It is weird because those are not the notes I entered… They are written as +30 semi tones or -20 semitones…
I think I need to filter the other notes and CC message distributed by notes…

Post your project file and I will have a look. You might want to more tightly define the input and output ports you want to process. Also if you have any MIDI thru paths drawn, anything that doesn’t have a translator will go through those paths untouched.

Post your project file and I will have a look. You might want to more tightly define the input and output ports you want to process. Also if you have any MIDI thru paths drawn, anything that doesn\'t have a translator will go through those paths untouched.

 

Re: Hello, good morning Steve :)

Here is the attached project.

I have a lot of lines but I named the concerned \"Steve Bome\" :3

The concerned is the last preset on the left...

Only one Line is currently doing what I want : playing correctly note to CC translation (in reverse mode)

I still have a problem : I don\'t want the original notes to ben sent, only midi CC #21 from note C1 (92) to A#6 (24), all notes must be \"shut\"... I don\"t want also CC 21 be sent over or under note C1 (92) or over A6 (24)

I writted inverted note because the CC value sent is inverted, 0 to 68.

Maybe you cannot filter more than it is ...

Don\'t know, the problem is that the octatrack receive note value as midi start stp messages...

You are very welcome.

 

Matthias

Hmm, I can’t see the project file. You may need to post it as an answer as comments don’t accept attachments. Or you can email it to me.

Steve Caldwell
Bome Q and A Moderator and
Independent Bome Consultant/Specialist
bome@sniz.biz

debug :3

Re Steve, 

I don't know where my head is but here is the file (...)

 


Attachments:
1580740210810_ThankYouGuys.bmtp

Hi,

Your project file only looks at incoming note-on note 60 with velocity 127. If you want to process multiple notes, it should be set to any note and then the rules will filter out anything you don't need. 

 

Please see my attached example. As with your project, I set the rules so that it will filter out any notes out of range and is only looking for note in on MIDI CH 5.

 

 

 

 


Attachments:
1580744108238_Note-to-CC-Reverse-Calculate-2020-02-03.bmtp

Re Steve And thank you for your help but it didn't worked...

I modified the file... 

Here is a good file...

I changed channel and some stuf...


Attachments:
1580749766755_Re-MidiCC.bmtp