Jump to content

No Midi Note OFF to External Midi Track


Vugdi Headhey

Recommended Posts

Hello All,

 

I have a single midi track and an external midi track sending midi information out of Logic.

 

I have the environment areas set also, there is a clear midi signal coming from Logic visible in the transport.

 

However, for some files and some midi information there is a clear Note ON / Note OFF signal and for other files, regions and events there is simply a Note ON, without any Note OFF.

 

For the work I'm doing at the moment, I need both the Note ON and Note OFF.

 

Has anyone else run into this issue and is there some general fix for individual midi notes to 'force' a Note OFF?

 

Have I missed something simple?

 

I've ordered and should be receiving 'Snow Leopard' and Logic Pro 9 tomorrow, however today I'm with 10.5.8 and Logic Pro 8, so this thing may already be resolved?

 

I'm running a Mac Pro 2.66 GHz Dual-Core Intel Xeon, 6 GB RAM.

 

Any help would be really appreciated and I'd be happy to post an example or two.

Link to comment
Share on other sites

Hi VH,

 

I think we need to clear some things up...

 

First of all, the Transport only monitors MIDI input to Logic. If you want to be sure that MIDI is getting to the outside world, go into the Environment and create a Monitor object. Then cable the instrument to the Monitor and you can see what's going on there.

 

I've ordered and should be receiving 'Snow Leopard' and Logic Pro 9 tomorrow, however today I'm with 10.5.8 and Logic Pro 8, so this thing may already be resolved?

 

I'm 99.99999% convinced that updating software isn't going to help at all.

 

I'm running a Mac Pro 2.66 GHz Dual-Core Intel Xeon, 6 GB RAM.

 

Please include your system information in your user profile (see the Forum Guidelines at the top of this forum for details).

 

Any help would be really appreciated and I'd be happy to post an example or two.

 

Yes, this would help. If you're going to post a project, make sure you save it without assets. Then compress the file (.zip) and add it as an attachment to your post.

 

Or, you could post screenshots showing the event or piano roll editors of some of the tracks that aren't playing back correctly. Please make sure they're not larger than 800 px wide.

Link to comment
Share on other sites

 

First of all, the Transport only monitors MIDI input to Logic. If you want to be sure that MIDI is getting to the outside world, go into the Environment and create a Monitor object. Then cable the instrument to the Monitor and you can see what's going on there.

 

 

 

Hi

 

 

Sorry Ski, but for External MIDI tracks, the Transport MIDI Activity monitor does display MIDI Output, as well as any MIDI Input.

 

 

HTH

 

 

CCT

1584080345_MIDIOut.jpg.0a0a190878233719544a4722a918138b.jpg

Link to comment
Share on other sites

Hello ski and CCT,

 

Thanks for the help so far, I've updated my profile as suggested.

 

Okay, I've put together two images and attached two Logic project files, with no assets, to give you an idea of what I'm talking about.

 

You'll notice that both files are set up in a very similar way, the only discrepancy being the Note ON / Note OFF coming from Logic.

 

In the images the one surrounded in red isn't sending a Note OFF, the one surrounded in green is.

 

You'll notice the console panels in both images. These are read outs from Processing 1.0. I've put together a small bit of code to verify exactly what is coming from Logic via the IAC driver. Further verification beyond the transport within Logic.

 

Given the similarity of the files, the only difference I can imagine must be with the notes themselves, although I can't seem to find a way to add a Note OFF?

 

Many thanks, let me know what you think!

 

http://www.davidhaughey.com/VH/NoMidiOFF.jpg

http://www.davidhaughey.com/VH/MidiOFF.jpg

MidiNoteOFF.zip

A file showing a Midi Note OFF.

NoMidiNoteOFF.zip

A file showing no Midi Note OFF.

Link to comment
Share on other sites

I know from experience that MIDI handling with Processing/Java is not reliable.

 

So I've checked the output of your problematic track by routing it with IAC to MidiPipe. In fact, it turns out that Logic sends all note offs correctly. You can even load the DLS Synth in MIdiPipe and hear the track playing as expected.

 

In short, your problem is on the receiver side.

Link to comment
Share on other sites

In short, your problem is on the receiver side.

I agree with Fred B. The problem seems to be some external device setting ( some midi devices have special options for receiving "Note ON/Off" etc... You can make a test hooking up a hardware midi controller directly to that device an play the problematic notes.

Link to comment
Share on other sites

Hello Fred B,

 

Thanks for the help, I think I may be getting somewhere.

 

So, I downloaded MidiPipe and set the two example files running.

See the images below.

It does seem to be the case that there is a Note OFF signal, however this does not seem to be reflected in the velocity.

 

And as you might presume the code that I'm using within Processing is checking for a velocity value of "0" to indicate a Note OFF.

 

You'll notice in the images below from MidiPipe the velocities associated with the Note OFF signal in both cases are quite different.

 

The file that I presumed was working, has an associated value of "0."

The file that I thought wasn't working, has an associated Note OFF velocity value of "255."

 

So, to keep the discussion firmly connected with Logic, is there a way to globally set Note OFF velocities to "0?"

 

What I've noticed is that in a range of various Midi notes and regions across various files, some provide a clear Note OFF in the transport and with a "0" velocity value, and some simply don't ?

 

I've also noticed that although the Note OFF shows within MidiPipe, it doesn't show in the transport in Logic, in various cases.

 

I thought this would be worth posting, in the slight chance anyone else ran into the same trouble.

 

Many thanks!

 

http://www.davidhaughey.com/VH/MidiPipeData01.jpg

http://www.davidhaughey.com/VH/MidiPipeData02.jpg

Link to comment
Share on other sites

You'll notice in the images below from MidiPipe the velocities associated with the Note OFF signal in both cases are quite different.

Not only the velocities, but also the messages are different!

 

In fact, the MIDI standard allows two kinds of Note Offs:

 

1. Note On message with velocity 0 (green -> 144)

2. Note Off message with any velocity (red -> 128)

 

Although legal, it's strange that Logic seems to generate different messages.

Could it be that you have imported the red region from somewhere else?

 

But in any case, the receiver should understand both kinds of Note Offs.

If not, you could try using MidiPipe for transforming the messages on the fly.

Link to comment
Share on other sites

See, Logic uses two types of Note OFF behavior but both types are translated to a normal Note OFF outside Logic.

1/ The "Monitoring" behavior is shown like standard message say "G 4 OFF" in the transport. What I mean "Monitoring" - Logic is not running. For example you use that mode during editing in Piano Roll and when click a certain note it is shown in this way ( if the instrument is routed out of Logic ).

2/ The "Play" behavior is when Logic runs - then the note off messages are shown in the Transport as a small note symbol with a cross line over it say G 4 ( / ) 127. This is equivalent of note OFF. There is a special environment transformer operation "Status" where you can set "Fix= ------" , ( the second ------ ). This way you can transform any other message directly to note OFF.

During "Play", Logic hides the note OFF messages if try to patch an Environment Monitor for some internal Environment routings.

Something more, there is a special behavior so if try to transform the hidden Note OFFs into other message say CC, or Fader - is is O.K the new message is shown, but if try to redirect this to some path and transform back to Note OFF, Logic generates new hidden Note OFF before your "tricky splitter" .. Duh ! etc....

Link to comment
Share on other sites

Not only the velocities, but also the messages are different!

In fact, those are MIDI System Reset messages. So they're not even channel messages, they're System Realtime messages. It would stop a note if the receiving device supported that message type. I've never seen this in a sequence like this, but perhaps this was recorded from some oddball drum machine or arpeggiator? You couldn't create this in Logic, I don't think.

Link to comment
Share on other sites

Interestingly, MidiPipe recognizes them (128) as Note Off but MidiMonitor as Reset.

So you're saying MidiPipe is wrong?

I'm not so sure. I think it's a non-standard message type meant for a specific device and that MIDI Pipe and MIDI Monitor are both kind of guessing at what it is!

Link to comment
Share on other sites

Hello Fred B, Scandor and fader8,

 

Thanks for your help on this, it seems at once like a very simple and very complex question.

 

Fader8, just to reply to your comment regarding exotic drum machines, the notes depicted above and in the attached files were penned within Logic. No external drum machines or keyboards. That is except for the file above which actually does produce a Midi Note OFF with a "0" velocity value. This was an arbitrary midi file downloaded from the internet to demonstrate this point. Strange, I know!

 

So, in attempt to narrow the field a bit further, I've produced this again with a new file from Logic, with four C notes penned directly to the piano roll.

 

The image below shows the monitor within the Logic Environment, MidiPipe and the reading from my code in Processing.

 

You'll notice that the only application showing a Note OFF or a "0" velocity value terminating the note, is MidiPipe.

 

I've also attached the exact file this was produced from.

 

So, I suppose it's worth reiterating the initial question: Is it possible for the user to 'force' or indicate a Note OFF from within Logic or have a "0" velocity value associated when a note is no longer playing?

 

Surely there must be some way of producing consistent values for these notes?

 

http://www.davidhaughey.com/VH/NoNoteOFFAllApps.jpg

Midi Note OFF II.zip

Link to comment
Share on other sites

In MIDI Pipe, view as hex. You'll see that in both cases the message type is 0x80, or Note Off on channel 1. But in your previous example, the release velocity is 0xFF. I'm not sure how you did that but I can't create that message in Logic. It's an invalid release velocity.
Link to comment
Share on other sites

Interestingly, MidiPipe recognizes them (128) as Note Off but MidiMonitor as Reset.

So you're saying MidiPipe is wrong?

I'm not so sure. I think it's a non-standard message type meant for a specific device and that MIDI Pipe and MIDI Monitor are both kind of guessing at what it is!

Right, so MIDI Pipe is reading the note off message type (80) and displaying it as a note off. MIDI Monitor is discarding it as a Note Off because the velocity is 255, which shouldn't exist, and instead displaying a System Reset (FF) or 255.

Link to comment
Share on other sites

Hello fader8,

 

Thanks for your suggestions on this, it's a strange one for sure.

 

Regarding the Note OFF velocity showing as "255" or "0xFF," I believe this may be for the reason that the "Rel Vel" value in the event list has been set to "Off."

 

Ordinarily this is set to "0," or whatever you choose.

 

In both cases, whether the "Rel Vel" is set to "Off" or "0" there seems to be an inconsistency in what constitutes a solid Note OFF, at least this is the point I'm missing.

 

Maybe it's worth considering like this.

 

If I key the notes in directly, copy them from another file or produce them with an external instrument, should it not be possible to set a terminating velocity, or Note OFF directly within Logic?

 

For example 'when the note is being played, the velocity is 80, when it's off, the velocity is 0.'

 

In regard to reproducing the results.

 

Open a new Logic Project.

 

Create a new midi track and create a new midi region.

 

Manually add a few notes of your choosing in the Piano Roll.

 

Open the Environment, cable a monitor to the midi track, then cable a Multi Instrument connected to the IAC Driver, to that.

 

Press play.

 

In my experience no Note OFF is signalled in the Monitor object or in the transport.

 

But I really, really want to be proved wrong and shown why.

 

Many thanks!

Link to comment
Share on other sites

Regarding the Note OFF velocity showing as "255" or "0xFF," I believe this may be for the reason that the "Rel Vel" value in the event list has been set to "Off."

Ah, indeed if I pencil in notes, Logic creates note off events with velocity 0. If I change the velocity in the event list to "Off", then Logic outputs a note off with a velocity of 255. I've no idea why the "Off" option exists. However, no note entry method in Logic that I can find will result in an "Off" state for velocity in the event list. Did you manually change this in your original sequence?

 

The Monitor object doesn't see the note off v=255 as a valid message either, so it doesn't display it.

 

Anyway, it makes sense that your external synth wouldn't recognize this message and turn the note off.

Link to comment
Share on other sites

The Monitor object doesn't see the note off v=255 as a valid message either, so it doesn't display it.

It's strange however that the monitor doesn't display note offs even if generated correctly as in the last example of the OP.

I'm getting it here:

noteoff.jpg.9d5325eb8f8858dbecde313375feec82.jpg

Link to comment
Share on other sites

Hello fader8 and Fred B,

 

Many thanks for taking the time to look at this, I feel a bit more assured that it's not me being silly.

 

Fader8, regarding the question, "Did you manually change this in your original sequence?" Yes, I read that this may be a way to directly send a Note OFF from Logic, although as we've seen, that's not the case. In the most recent example I haven't altered the "Rel Vel" at all. Ultimately, I don't think this gets to the root of the problem.

 

Fred B, regarding your most recent comment, yes, exactly, that is it!

If the notes are played directly, in real time, in the environment keyboard, or indeed on the piano roll, the Note OFF is displayed in the environment monitor and in the transport. However if the notes are entered manually, as is the case with the majority of the work I do, no definite Note OFF is produced.

 

I just recieved Logic 9 and Snow Leopard a few hours ago, I'll install them tomorrow, although as mentioned, I doubt very much if it will address this issue.

Link to comment
Share on other sites

Fred B, regarding your most recent comment, yes, exactly, that is it!

If the notes are played directly, in real time, in the environment keyboard, or indeed on the piano roll, the Note OFF is displayed in the environment monitor and in the transport. However if the notes are entered manually, as is the case with the majority of the work I do, no definite Note OFF is produced.

Well, for some strange reason Logic's monitor doesn't display the note offs, but nevertheless Logic sends correct note offs to the outside world, as can be seen with MidiPipe. As mentioned earlier, your problem is that Processing doesn't seem to understand the note offs from Logic, which are "real" note off messages (as opposed to note on with velocity 0).

 

So you would probably need that Logic sends note off as note on with velocity 0, but I doubt it can be achieved.

I'd suggest to clarify and discuss your issue on the Processing forum.

Link to comment
Share on other sites

Fader8, regarding the question, "Did you manually change this in your original sequence?" Yes, I read that this may be a way to directly send a Note OFF from Logic, although as we've seen, that's not the case. In the most recent example I haven't altered the "Rel Vel" at all. Ultimately, I don't think this gets to the root of the problem.

 

Why not? If you don't change the release velocity field to "Off" Logic sends a bona fide, genuine Note Off message to external MIDI instruments. I'm not sure what else you need?

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...