Jump to content

Sysex fader: how to convert CC and NoteOff messages


mnf

Recommended Posts

Hi,

 

I've read the thread below and *desperately* need to build one sysex fader:

 

viewtopic.php?f=1&t=59865

 

What does "bang externally" mean? Sorry, I'm a total beginner...

 

What I need to accomplish:

 

1 - Have a CC123 message become 127 NoteOff messages;

2 - Have a NoteOff event become a NoteOn with value=0

 

I'm really lost on this one... (and many others...)

 

Thanks.

Link to comment
Share on other sites

Hi,

 

I've read the thread below and *desperately* need to build one sysex fader:

 

viewtopic.php?f=1&t=59865

 

What does "bang externally" mean? Sorry, I'm a total beginner...

 

What I need to accomplish:

 

1 - Have a CC123 message become 127 NoteOff messages;

2 - Have a NoteOff event become a NoteOn with value=0

 

I'm really lost on this one... (and many others...)

 

Thanks.

 

Looks to me like you're trying to convert an "all notes off" command into a string of discreet note offs of the type: Note On, velocity = 0. But just to confirm, I think it would help to understand what you're trying to do in general terms rather than start off by getting technical. Where is the CC#123 message originating from, and what's the ultimate destination for your note-offs?

 

Next... "bang" is a strange term which simply means this: the output of an environment object receiving a "bang" will output its current values. For example: if you banged an environment fader programmed to output CC#7, and its present value was set to 32, the fader will output CC#7, 32 when it receives the "bang".

 

There are other uses and forms of the bang function, but the above is the basic principle.

Link to comment
Share on other sites

Hi Ski.

 

You've got me "banging" my head against the wall right now... :!:

 

I'm having problems with hanging notes, as many. I've read many topics here dealing with that. I already know that:

 

1 - Logic won't listen to CC123 and found a couple workarounds;

2 - Logic doesn't record note off events -- and you have posted a very good tutorial on that.

 

So, I use a Roland GI-20 controller that turns guitar into midi. It outputs the note on and off messages on channels 1 to 6, and I'm getting stuck notes everywhere, especially when I use the Hold foot pedal. It creates a CC123 message, whereas the GI-20 sends Note off messages for all notes, even if you hit that same string again (it sends a quick note off at the beginning of a new note, before the note on message.)

 

So I need a way to send note off messages inside of Logic. Reading those threads (and the one below) I've found that a sysex fader can to that, but I've no idea how.

 

viewtopic.php?f=1&t=58111

 

My goal is: to have the note off messages (which I can extract using your method from that tutorial) and the CC123 coming from the foot controller trigger note on messages so that the hanging notes stop. Or won't them?

 

Does that explain what I need?

 

Thank you,

 

Mike

Link to comment
Share on other sites

Oops! I can't really tell. I suppose it's real Note Off.

 

Are you asking if it's note off, as opposed to note on with value of 0? I believe it's the former.

 

(Is there a way to make a note off become a Note on with value = 0? I'd really love to learn that.)

 

Thanks.

Link to comment
Share on other sites

Before I reply, one question: does your GI-20 output "true" note off messages ($8n) or note on messages with a velocity of zero ($9n, v=0)?

 

Ok, just checked. Midi Monitor shows me a 0x8n message, so I guess that's a true note off.

 

Thanks!

Link to comment
Share on other sites

OK, I just checked the MIDI Implementation Chart for the GI-20 and according to that, the unit outputs $9n, V=0 for note off. So which MIDI monitor are you seeing this data in?

 

Couple of other things...

 

1. what instrument are you playing where you're experiencing the stuck notes?

2. is the MIDI channel of the instrument channel strip itself set to Channel = ALL or some other value?

Link to comment
Share on other sites

Ugh! You beat me to that one... I saw that on Bidule monitor. Sorry for the mistake.

 

(Is it better to have that in Logic, and not a note off? Can I use a transformer to change a note off into note on =0?)

 

I have 6 instances of EXS24, each responding to one channel, playing a Synth Lead. I get stuck notes randomly, especially in faster runs -- so perhaps a note off message is not being generated?

 

When I use the EV6, at times a note gets stuck and never goes away, unless I press Panic.

 

I really appreciate your help on this topic, I've been struggling with that for 2 weeks now...

Link to comment
Share on other sites

Ugh! You beat me to that one... I saw that on Bidule monitor. Sorry for the mistake.

 

(Is it better to have that in Logic, and not a note off? Can I use a transformer to change a note off into note on =0?)

 

I have 6 instances of EXS24, each responding to one channel, playing a Synth Lead. I get stuck notes randomly, especially in faster runs -- so perhaps a note off message is not being generated?

 

When I use the EV6, at times a note gets stuck and never goes away, unless I press Panic.

 

I really appreciate your help on this topic, I've been struggling with that for 2 weeks now...

 

No problem. It's either I continue fixing the lawn sprinklers outside and getting soaking wet on a 65º degree day or posting about the Environment. If you were me, which would you choose? :mrgreen:

 

If Bidule showed you $8n then I'd be inclined to believe it. But, having said that, it could very well be interpreting $9n's as $8n. So...

 

Suggest downloading this MIDI monitor and post a screenshot of what it shows after you've played a few notes (filter active sensing if necessary to keep its display free of extraneous data).

 

I'm a bit mystified as to why you're getting stuck notes in the first place. Indeed, maybe the guitar isn't generating note offs (of any type) when it should. Still, I have some ideas but I'll need some more information first...

 

How are you getting MIDI to those 6 EXS's? Do you have the outputs of a channel splitter directly cabled to them? Or by some other means? (Might help to post project (without any regions) if it's too difficult to explain).

 

EDIT: I see that you mentioned about your instruments being set to one channel. Might help to set them to Channel = ALL, but first I have to know more about your setup.

 

EDIT #2: And yes, there is a way to force Note Off messages to have a value of zero, and I've already made up an environment process that does this. But first let's see if we can't get to the bottom of the stuck notes problem without having to resort to special measures.

Link to comment
Share on other sites

Sysex fader: how to convert CC and NoteOff messages

Hi Mike,

What I see is that you are trying to cross different Logic forums and ask the same question... For example in the LUG forum I tried to give at least three alternatives - here are the links:

http://www.logic-users-group.com/forums/showthread.php?t=5895

(this includes both links "Performance & Recording" tips)

 

http://www.logic-users-group.com/forums/showthread.php?t=5829

This link includes an extra free "Panic" environment tool provided by me "Tangra" (at the bottom) which can be used with any CC# to send All Notes OFF 128 messages to one channel or 2048 messages to the all 16 midi channels, as well as "Smart" mode etc.

 

Regarding this links I'm curious what you are looking for. Can you explain in details your scenario ?

Thanks !

A.G

Link to comment
Share on other sites

No problem. It's either I continue fixing the lawn sprinklers outside and getting soaking wet on a 65º degree day or posting about the Environment. If you were me, which would you choose? :mrgreen:

 

I have a feeling you shouldn't have said that. I may start abusing you! :)

 

I'm following Mr.V's tutorial (though I have no idea how to implement his last step, to eliminate short notes.)

 

viewtopic.php?f=5&t=67959

 

Unlike him, I have a splitter in the Mixer layer, then one cable into each instrument. Then another instance of EXS24 with a Pad for the hold pedal.

 

After reading several threads, I believe that if I can send a midi message to a fader, and have it send 127 note offs (like in that thread of my first post), I can stop those hanging notes. Or not, we'll see...

 

Below is a snap of Midi Monitor--the one you told me to get.

 

MidiMonitor.png.e793fb552d5f30fa7ea13cd0c5e80d90.png

 

Hope this helps. And thanks again.

Link to comment
Share on other sites

Hi Mike,

What I see is that you are trying to cross different Logic forums and ask the same question...

 

Hi A.G. (or Tangra),

 

No, I am not that same person, despite my name. But still, thanks, those posts are really helpful! I see they deal with a All Notes Off message, which is not the case here. If you see the file I just sent, I don't get those messages.

 

As to the Panic Tool, it seems very interesting, but again I have no way of sending a message of that kind, I only have the guitar and the GI-20, and the hold pedal. Could it be adapted to repeat the note off to all 127 notes?

 

Also, if you know of a way to make a note off become a note on with value 0, I'd love to hear that.

 

Thanks,

 

Mike

Link to comment
Share on other sites

Regarding this links I'm curious what you are looking for. Can you explain in details your scenario ?

Hi Scandor,

 

I've described the scenario in my last post to Ski. It's basically that I get hanging notes everywhere... AFter reading several posts, I've found that you can "bang" a message into a fader and have it send 127 note offs. You also participate on that thread (the link is on my first post) and here's what you say:

 

My bug fix advice is to use a sys fader and bang it externally using any CC# so you can send 127 note Off reset messages instead one CC123. In some scenarios if you know the "the note range" or the "note #(s)" you must kill, you can patch a transformer filter (mapper) to filter the banged "OFFs" you do not need.

 

My question is just: how is that done? I have no idea... Your help is greatly appreciated. :)

Link to comment
Share on other sites

BTW, you are indeed outputting $9n, v=0 and not "true" note offs.

 

Great! I had no idea where that was on the output image...

 

So, I'm using the 3 transformers you posted on a similar thread, considering a note off a note on=0. Here's what I get from the 2 monitors, one from the physical input, the other from the output of the transformers (note becomes CC, then cc becomes note, then note vel=0 is separated from the note ons)

 

The input shows note symbols crossed (that's why I thought I had a true note off)

 

mon1.png.77d8a3211818c62f3cf44ea4d915f5e1.png

 

After using your scheme, I get notes that are not crossed but with a value OFF:

 

Mon2.png.bf8123e6f3552267e4deb4b389e69ef0.png

 

Did I misinterpret the images?

Link to comment
Share on other sites

My question is just: how is that done?

 

You just create a fader (button) between the Physical Input and the Sequencer. You set the Output fader Definition to "Sysex" status. A Sys dialog will open and you must use the "Create" button to create 128 Note messages using note numbers 0 - 127 or C-2 / G8 as far as I remember. Select the all Note messages inside the Sys fader (Comand + A) and close the fader. Set the fader range to 0-0 instead of 0-127. You can set the Input definition of the Sys fader to any CC# value 0 to be able to remote the Sys fader.

Note: In this scenario I have mentioned about 128 Note Off messages (set to a given midi channel - say ch1). In case you need to send Note OFF to all midi channels you need to program the Sys fader with 2048 Note messages set to channels 1-16.

This is just info - have posted to Ski the same trick some time ago here:

https://logicprohelp.com/forum/viewtopic.php?p=307884&sid=ebd3935fa177a59a4f3c78f155dae28a#p307884

 

 

Regarding your main problem you can use my "Panic Tool" see the link in my previous post which is equivalent of the Sys fader providing some more extras like CC# remote, KS remote, Smart mode etc - I hope it can sole your issue...

Also, if you know of a way to make a note off become a note on with value 0, I'd love to hear that.

If I understand correctly you need that to produce any Note ON triggering message or CC etc ?

If so, patch a transformer before my Panic Tool and set the transformer to Conditions - "Status"=Note, "Vel"=0 (any note OFF number will trigger the condition).

In the Transformer operations set "Status" = Control, Pitch=123.

This way you will produce CC123 after any note OFF message. In the Panic tool set the CC# to 123.

Link to comment
Share on other sites

BTW, you are indeed outputting $9n, v=0 and not "true" note offs.

 

Great! I had no idea where that was on the output image...

 

In that MIDI monitor program (which you posted a screenshot of a few posts up) $9n, v=0 Note Off commands (specifically, Note On with velocity of zero) are displayed as "Note Off" with a velocity of zero. But the value of zero after each of them is the giveaway that they are indeed $9n, v=0 and not "true" Note Off commands. Here's why:

 

If they were "true" Note Off commands ($8n, v = release velocity value), the value for v would be either:

 

64 (the default value for devices which generate "true" Note Off commands but don't sense release velocity

= or =

• they'd be a variable number from 0 - 127, indicating that the device senses release velocity

 

So here you've got a situation where, per the MIDI Implementation chart, and per the snoize MIDI Monitor, you're generating perfectly valid (and quite commonly encountered) Note Off commands of the $9n type instead of what I keep referring to as the "true" Note Off type ($8n).

 

So, I'm using the 3 transformers you posted on a similar thread, considering a note off a note on=0. Here's what I get from the 2 monitors, one from the physical input, the other from the output of the transformers (note becomes CC, then cc becomes note, then note vel=0 is separated from the note ons)

 

Not sure if you're referring to something that myself or Scandor posted.

 

The input shows note symbols crossed (that's why I thought I had a true note off)

 

Indeed, when you see the slash through the note and the regular appearance of release velocity values of 64, those are "true" Note Off commands. So now it's all a bit confusing because the snoize monitor program showed a different story.

Link to comment
Share on other sites

BTW... when you generate "false trigger notes", are they usually of a very low velocity, way lower than you'd normally generate in the course of normal playing? If that's the case, it's extremely easy to build the MIDI equivalent of a Noise Gate to mask out all notes below a certain velocity threshold. Might be worth doing some investigating to see if that's the case. Just record yourself playing, even if you get lots of stuck notes. Then examine the event list to see if the hanging notes are also of very low velocity. If there's some consistency there then a (quasi) noise gate might be the solution. In fact, I posted one recently. Anyway, let us know...
Link to comment
Share on other sites

 

I'm following Mr.V's tutorial (though I have no idea how to implement his last step, to eliminate short notes.)

 

viewtopic.php?f=5&t=67959

 

Unlike him, I have a splitter in the Mixer layer, then one cable into each instrument. Then another instance of EXS24 with a Pad for the hold pedal.

 

Hello,

 

I did mention in the MIDI Guitar and Logic thread that I don't use the input filtering setup with the GI-20 due to hung notes. But I do use a Transform preset with the same settings to remove short notes after recording MIDI.

 

Just a few thoughts:

1. Start fresh with the Empty template. insert one software instrument and "play" it with the GI-20 but without any pedals or virtual "gadgetry" in the Environment. Any hung notes?

 

2. Now hook up the Hold foot pedal to the GI-20 but don't add anything to the Environment. Can you play this single instrument without hung notes?

 

The point here is to problem-solve where and when hung notes enter the picture.

Link to comment
Share on other sites

Not sure if you're referring to something that myself or Scandor posted.

 

It's from a big tutorial on notes off you posted a while back, can't find it right now. It had parts 1, 2a, b, and c. Quite comprehensive. You mention specifically that note off is a note on=0. And it worked for that purpose like a charm.

Link to comment
Share on other sites

Hi guys,

 

I think we have to find the source reason which causes the issue etc. I'll give some thoughts showing one thing that Logic can not handle well with - the "Rel.Vel. = OFF"

 

If the "Rel.Vel = OFF" the Logic Physical Input bypasses that message directly to the Logic Output (it can be seen only in the Transport Monitor I/O! I.e this Note OFF message can not come into the Environment >Sequencer etc and the result is note hanging Software instruments.

 

The only Event list in Logic which can show the "Rel. Vel" is the Sysex Fader dialog list (have a look at Fig.1 below) !

Just for the demonstration I have created a special Logic song (you can get it from the attachment below).

1. I drew three notes in the Sys Fader list - Pay an attention - the D3 "Rel.Vel" is set to OFF ONLY !

2. I copied the all three notes in the Sys fader, and pasted in the new green region in the Arrange.

3. The Arrange tracks are set to:

- the top track is assigned to the Instrument object labeled as Iac Bus 1 (the instrument port is set to Iac Bus 1)

- the bottom track is set to ES1 instrument so I can experiment with some IAC routings - note the track is selected so I can have thru from the Sequencer !

 

The Experiment & Monitoring

 

Note, after playing the region the D3 note OFF is filtered by the Physical Input - look at the top "Input View" monitor.

If you re-play the region and look at the Logic Transport midi I/O monitor boxes you will find that the only message which is show in the "Out" box is D3 note OFF with 127 velocity ! This proves that the message is bypassed. So there is no chance to transform it in the Environment cause the Physical Input bypasses it.

 

Solving the Issue

 

In my scenario I use third party free midi application Midipipe. You can download it from that link.

In (Fig.2) I show the setup I use (the right half "Pipes"):

- Midi In is set to IAC Bus 1 so it can get the midi I send from the Logic IAC Instrument (Track 1).

- Alist ( I use it just as input monitor) you can find that the D3 note OFF last byte is different from the other note OFFs.

- Message Converter ( here I set Note OFF to Note OFF as shown in Fig.2

- Midi Out - it is set to IAC Bus 2

 

As you see in Fig.1 I route the midi via IAC 1 & 2 like this:

Logic >IAC 1>Midipipe>IAC2>Logic sequencer

 

When re-play the region you see that the D3 note OFF is missing in the upper Environment monitor, but passing thru the Midi Pipe the bottom Environment monitor shows incoming D3 note OFF and fixes the (Physical Input bypassing issue) with note OFFs messages which Rel.Vel is set to "Off".

 

You can try using my template from the attachment below ( select the "Iac Bus 1" instrument object and make sure that it is set to IAC bus ). In real conditions the Physical port of your external instrument must be set in the Midipipe as "Midi In" while the Midi Out pipe can be set to IAC Bus 1 for example.

 

http://audiogrocery.com/support/images/logic_rel.vel_demo.png

(Fig.1)

 

http://audiogrocery.com/support/images/mp_noff_fix.png

(Fig.2)

rel.vel.demo1.zip

Link to comment
Share on other sites

Hi Scandor, Mike, and Peter,

 

This is an interesting thread, since I also deal with Midi guitar -- see signature below.

 

A few days ago I set a transformer for another guitar player in a way that it would create true NoteOff events out of NoteOn=0 events, will try to find it when I get to my computer. He needed it also to stop hanging notes in one plugin. He didn't get back to me so I don't know if it worked. It did create true NoteOffs, though.

 

I assume Mike was mentioning this thread by Ski?

 

viewtopic.php?f=1&t=60540

 

I also used Ski's 3 transformer scheme, before the 4th transformer I mentioned above. Ski's solution was really elegant and simple, worked perfectly for me.

 

Scandor, your solution sounds very promising and I'll try it here as well. Thanks a lot.

Link to comment
Share on other sites

  • 3 weeks later...

Hi all,

 

Sorry to bring this thread from the ashes, but I've found the transformer I mentioned in my earlier post. Below is a pic.

 

transformer.png.97499b327adced7281b43850bc165a7a.png

 

It will take NoteOn=0 events and make them NoteOff=64. The result is identical to Mike's monitor picture in his previous post, i.e. crossed notes with a value of 64. I also used Ski's 3 transformer set.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...