Invert 0>1127 to 127>0 as CC values
Irma77
2020-02-01 15:18:56
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:
CreepyPants
2020-02-01 16:34:50
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. :)
Irma77
2020-02-01 16:54:40
comment
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...
CreepyPants
2020-02-01 17:18:10
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. :)
Irma77
2020-02-01 17:40:50
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...
CreepyPants
2020-02-01 17:48:33
comment
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. :)
Good Luck!
Irma77
2020-02-01 18:29:59
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
CreepyPants
2020-02-01 19:00:40
comment
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.
Irma77
2020-02-01 19:49:50
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:
Steve-Bome Forum Moderator
2020-02-01 21:15:48
comment
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
Steve-Bome Forum Moderator
2020-02-01 21:39:55
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
Irma77
2020-02-01 21:41:53
comment
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 ^^
Irma77
2020-02-01 22:05:15
comment
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...
Steve-Bome Forum Moderator
2020-02-01 22:19:33
comment
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.
Irma77
2020-02-03 13:26:30
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
Steve-Bome Forum Moderator
2020-02-03 13:33:45
comment
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
Irma77
2020-02-03 15:20:37
Irma77
2020-02-03 15:30:12
Re Steve,
I don't know where my head is but here is the file (...)
Attachments:
Steve-Bome Forum Moderator
2020-02-03 16:35:09
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:
Irma77
2020-02-03 18:09:37
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:
Steve-Bome Forum Moderator
2020-02-03 18:14:38
comment
OK, as long as you have it solved.
Steve
Irma77
2020-02-03 23:56:37
comment
Can you give it a look/mod to filter other notes ? :/
Steve-Bome Forum Moderator
2020-02-04 00:57:23
Sure you just need to add the following to the beginning of the rules:
if pp < 24 then exit rules, skip outgoing action
if pp> 92 then exit rules, skip outgoing action
Attachments:
Irma77
2020-02-04 01:54:13
comment
Thank you !
Is the placement of those two line important ? If I write it in the top or in the bottom of the rules ?
Irma77
2020-02-04 22:40:58
Hello Steve,
I'm coming back to you because I want to try something new...
Using the same idea that note are transformed to an inverted CC value : note 24 >92 = 0>68,
I would like to:
- Channel 5 note still send 21#CC but no notes ON
- duplicate one note each 8 note to a -12 note value (so +12 value of 21#CC because inversion) (It is to play a bass)
- the duplicated note must be sent to an midi channel 6.
- this duplicated note have to send note ON but only to channel 6.
-the not duplicated note dont send note ON at all.
Is it possible for you to do this ?...
Is it possible to make me a file easily to change the frequency of duplication + CC transposition (I asked you 1/8 but maybe I would like to try other combinations).
Thank you a lot (...) ... (...)
Matthias
Attachments:
Steve-Bome Forum Moderator
2020-02-04 23:21:50
Hi Matthias,
Regarding duplicate note function, what you are asking is beyond what is offered for free support but I will summarize a strategy for you and if you want me to implement it, you can reach out to me via email to create a solution for you. It is possible but would take a bit of time. Also, I would need clarification on the requirements (I think I captured them below).
If I understand correctly, when you hit a note on MIDI Channel 5, you want a duplicate note sent one octave lower on MIDI Channel 6. However you only want to do this on every 8 notes. I assume when you have a note off on MIDI Channel 5 you also want a note off one octave lower on MIDI Channel 6. If any notes come in between the initial count up to 7 notes later, only the original note sounds)
In order to do this you will need to track all notes played across a count of 8. This would be done with global variables. If a note is played a second time within the count of 8 on MIDI channel 1, it would still play (both note-on and note-off) but would not send the lower octave note on (or off) MIDI channel 6.
The logic for every note played would be to lookup the last 8 notes played (tracked in global variables) with rules, and the suppressing the lower note if the given note has already been played. the notes played would be maintained in 8 global variables in a rotating basis.
In rules (for the lower note translator), the incoming note would look for each note played and if there is a match, would abort the output of the lower note.
The rules for the original note translator would just load the original note variable in the order received.
Make sense?
Again, this would take a bit of time to implement so you you want me to write a script for you, send me email and I can give you and estimate.
Steve Caldwell
Bome Q and A Moderator and
Independent Bome Consultant/Specialist
bome@sniz.biz
Irma77
2020-02-05 01:15:31
comment
Yeah it make sense ^^’
But it’s a bit too much complicated for me ^^’
I know I asked you something abused…
Maybe I’ve an other idea, more easy (…):
-Is it possible you code me just a rotation of four notes
-first note > Channel 6,
– the three other >channel 5
Using the same idea that note are transformed to an inverted CC#21 value : note 24 >92 = 0>68,
No note on, no note off…
I think I became a bit addict :/
🙂
Steve-Bome Forum Moderator
2020-02-05 01:26:25
comment
The complexity is similar whether every 4 notes, every 8 notes.
Steve-Bome Forum Moderator
2020-02-05 04:31:46
Here you go.
The project stores the last 8 outgoing calculated CC's in variables h1-h8.
We use a counter to determine where to store it and cycle through all variables in translator 13.2
We compare the translated outgoing CC value to all of the last 8 values translator 13.1
If it does not compare with the last 8 outgoing value, it sends a low CC value
The other translator just tracks the notes coming in and stores the translated values as well as does the original calculations .
So as long as the note you press is different than the last 8 notes, the low CC is suppressed. As long as it doesn't match the last 8, it sends the low cc.
Steve Caldwell
Bome Q and A Moderator and
Independent Bome Consultant/Specialist
bome@sniz.biz
Attachments:
Irma77
2020-02-05 15:09:08
comment
https://image.noelshack.com/fichiers/2017/13/1490998281-coeur.png
Thank you a lot ! I will try it the soonest I can !
Can I easily change the number of rotation note ?
If I want to change 8 for 4 notes for example.
An other thing, is it easy to integrate respective Note On Note Off to the two midi channels ?
Thank you
Steve-Bome Forum Moderator
2020-02-05 16:16:32
comment
Hi to change the number of notes, modify the counter in the rules of the first translator. In the second translator, remove or comment out the conditions on the higher notes.
If you want to do something with note-off, you would have to write similar translators as note-on, however with less rules. The original example I posted showed a case where you could use the same translator for both note-on and note off.
Steve Caldwell
Bome Q and A Moderator and
Independent Bome Consultant/Specialist
bome@sniz.biz
Irma77
2020-02-05 22:42:20
comment
Amazing ! Amazing ! Amazing !
You are the best Steve Thank you so much for your help. What a beautiful preset ^^
Irma77
2020-02-05 23:43:05
comment
This is powerful, Super convenient, easy to work with, thank you for all your explications...
Here the electronic music-computer rytm taking place...
It was a long time I was thinking to this kind of use... Arpeggiator sending note to different channels... Thank you a lot for having helping me to realize a part of my dream...
Steve-Bome Forum Moderator
2020-02-06 01:49:23
comment
Probably better at the top as the rules below it should not apply or be executed. No need executing anything you don't have to.
Steve-Bome Forum Moderator
2020-02-06 01:51:41
comment
Glad to help, Matthias!
Steve Caldwell
Bome Q and A Moderator and
Independent Bome Consultant/Specialist
bome@sniz.biz
Irma77
2020-02-06 03:29:49
comment
You Really do Steve :)
Irma77
2020-02-10 19:39:46
Steve-Bome Forum Moderator
2020-02-10 21:10:44
Hi, in translator 13.2 of what I sent you look at rules:
Say you want only 4 notes
On the note counter area
Where it says:
if h0==9 then h0=1
Change it to say
if h0==5 then h0=1
Then it will only look at the first 4 notes h1-h4
Steve Caldwell
Bome Q and A Moderator and
Independent Bome Consultant/Specialist
bome@sniz.biz
Irma77
2020-02-10 22:30:48
comment
Good Evening Steve ! Need to ask : What is the 13.3 ? Is it the counter ? Can I here add or delete lines of rules to modify the rotation ?
Steve-Bome Forum Moderator
2020-02-10 22:32:43
comment
Preset 13, translator 3. Look in the rules section.
Irma77
2020-02-11 01:03:46
Really Sorry but I do not understand how to change the rotation
If I only play the same note it wont send no notes to the other track :/
I modified a bit the file...
Even if this preset is already really really good I dont know
Attachments:
Irma77
2020-02-11 02:44:27
comment
Re Steve… Yes I tried this but it doesn’t do this :/ … I just want to copy one note to the other channel each X notes/trig … It seem to don’t be the same :/
Steve-Bome Forum Moderator
2020-02-11 03:00:27
comment
This is different than what you originally asked. Before you wanted to send 1 note to other channel only if not the same note within the last 8 notes. Now it will send 1 note to other channel if it is a different note then the last 4 notes. It won't send a note every 4 notes. If you want that, you have a simple note counter that you increment on each incoming note and when it hits 4, you send it out and reset the counter to 0.
I can show you but please open another thread as this is a different request.
Irma77
2020-02-11 03:08:26
comment
Yes this is a different request I'm sorry :/ I will open a new thread... Thank you...