Jump to content

Environment Note Off Handling Tutorials


ski

Recommended Posts

Hey Danny,

 

Attached is the latest version! (v2.1). The design is much simpler than before, and is built around the properties of an environment object called a Voice Limiter.

 

• You can play any note from C2 up to B4 (almost 3 octaves). Polyphony is limited to "1", so you can play any one note, and then, playing a new note will cut off the old note.

 

• C5 (two octaves above middle C) will turn off any note you've previously played within that C2 to B4 range.

 

If you want to be able to play more than one note, go into the Environment, click on the Voice Limiter, and look in the Inspector. Then set its value to the maximum number of notes you want to be able to play.

Note Toggler V2.1.logic.zip

973505165_Picture1.jpg.56227019a2b9b0ff8d1a81388e704e05.jpg

Link to comment
Share on other sites

  • 1 month later...

THANK YOU SKI and others, you helped me to:

 

GET LOGIC TO PLAYBACK NOTE-OFFS

 

(Apologies for the long-winded description that follows, but someone somewhere might find this as crucial and as useful as I did).

 

The info I found in this thread has been exTREMEly helpful to me in solving a horrible problem in Logic that I've suffered from for years: how to actively use note-offs in the Event List, which as the smart guys in this thread are aware, works with DURATIONS rather than "active" note-offs.

 

My problem was this: I built a very elaborate note-for-note Harpsichord using real-life samples. INCLUDED in my virtual harpsichord are the "sautereau" release noises for each note, which add enormously to the realism.

 

My sampler (VSAM) can be configured to recognise note-offs and use them to trigger the sautereau release noises. This worked fine when playing "live". The sad part was when one replayed the recorded MIDI sequence: Logic does not play the note-offs in an active way that can be used by the sampler. Result: no sauterau release noises when playing back a MIDI recorded sequence.

 

Then help arrived... from the clever people in this forum: I took PART of an idea from Ski,

(Note Off Handling in Logic's Environment

= PART 2c = )

 

It was surprisingly simple: 2 transformers; the first converts Notes>controls, the second converts controls>notes (select "Apply operation and filter non-matching Events") Place the 2 transformers immediately after the Strip Instrument, before sending to the Sampler. Logic now plays back those missing note-offs (they even show up in a monitor, something they never did before...).

 

Logic 5.5 PC

Link to comment
Share on other sites

Bon Soir Justalso,

 

Thanks so much for your post. I'm very glad (and gratified) that you found the information in this thread useful to you.

 

I'd love to hear your harpsichord. Do you have any clips up on the web?

 

Regards,

 

Ski

Link to comment
Share on other sites

Hi Ski,

 

I recorded 2 short things for you to hear by way of demonstrating my virtual harpsichord (I recorded the MIDI sequence first and then bounced to .wav, something I would not have been able to do before discovering your post on the question of note-offs :-)

 

The pieces can be heard at:

http://dl.dropbox.com/u/18181422/frag%20shows%20releases.mp3

http://dl.dropbox.com/u/18181422/Bach%20Allegro%20Mod.mp3

Best wishes

Justalso

Link to comment
Share on other sites

  • 1 year later...
  • 9 years later...

Sorry to resurrect this, but I'm back here after a long time away and wasn't sure it it was best to start a new thread.

I remember referencing this thread to troubleshoot an environment build to address 3 oscillators of a mono synth to achieve pariphony.

Coming back to it recently using 10.5.1 and for some reason my environment doesn't work anymore. It was always fairly complex, but I'm puzzled as it's acting erratically and I think the only variable is Logic.

So before I untangle the entire thing (or start over) can anyone tell me if there were any environment changes under the hood with respect to note-off handling (or anything else that could have broken a working environment) since +/- 2015?

Thanks, Nathan

  • Like 1
Link to comment
Share on other sites

11 hours ago, doghousenyc said:

can anyone tell me if there were any environment changes under the hood with respect to note-off handling (or anything else that could have broken a working environment) since +/- 2015?

I can't tell you the date exactly but there have been changes in the environment with respect to note-off handling, yes. I remember it used to be easier, you could just select Status="-----" to select Note Offs, but the last time I checked, this was no longer working. 

Link to comment
Share on other sites

6 hours ago, David Nahmani said:

I can't tell you the date exactly but there have been changes in the environment with respect to note-off handling, yes. I remember it used to be easier, you could just select Status="-----" to select Note Offs, but the last time I checked, this was no longer working. 

Ugh... I guess the whole environment platform is overdue for an overhaul. My guess is it will be replaced by JS, but it's a shame that this is a compatibility issue that probably broke more than a few things that I (among others) must have spent a great deal of time on. I hate to see it scrapped. Oh well. 

I guess I could try and trace the problem or try an old version of Logic, but oh, brother...

Anyhow, thanks, David.

Nathan

  • Like 1
Link to comment
Share on other sites

I have found Peter's (@ski)  observation about NoteOff to be correct...and there may or may not be more to it than that, but some useful info in this thread about it.  In particular what I have noticed with NoteOff's in the environment is that some things in the transformer won't consistently handle NoteOff's the same way depending on whether the original midi event is a "live" midi event or one that is stored in a region and being played back.

Consider that for a moment, a live midi note event is actually two events...there will be a NoteOn when you press down the key...and later when you release it there will be a NoteOff, both originating from a midi controller somewhere.

However in a region we don't store note on and note Off events, we store NoteOn plus a duration.  When it plays, LogicPro generates some kind of NoteOff event to be sent when the duration has passed.

So..anyway, I found certain kinds of transforms detected and handled those two kinds of NoteOff events differently...which made certain kinds of environment things a bit challenging to work around.  Peter had some great suggestions...one example of how I worked around it can be found here:

https://www.logicprohelp.com/forum/topic/119846-environment-transformer-question/#comment-672516

Edited by Dewdman42
Link to comment
Share on other sites

Thanks so much. I think that thread may actually be familiar lol. I'm just puzzled that my environment was working properly the last time I used it (years ago) and now it isn't. I recently opened a music production school and have spent a lot more time with spreadsheets than in Logic in the last couple of years. I was pretty surprised to jump back in the pool and find this wasn't working. I'll definitely go through that thread again and see if anything jumps out. I don't think anything else changed, but troubleshooting being what it is, who knows...

I suspect it may be easier to just make the thing again from scratch than try and fix it. It was fairly complicated!

image.gif.39703f2fa4ed94fa79004c73a0fff655.gif

Link to comment
Share on other sites

a lot of bugs have crept into LogicPro in recent years.  I hate to say it but its true.  I hope they will fix them, but the environment problems I am not hopeful that they will be able to fix unless they get rid of it entirely; and its not clear to me that they can do that easily either without rewriting huge swathes of code throughout the product.  Just guessing.  

Even as it is, Apple has tried hide or block access to the environment...which is their way of saying "just stay out of there, use at own risk".

make sure to submit bug reports.  maybe they will fix your problems.  In some cases in the environment you can work around some of the issues, such as the above example.  But it requires getting your hands dirty in there and figuring it out...  And if you build a lot of environment stuff, its entirely possible that eventually Apple will pull it entirely...

 

Link to comment
Share on other sites

On 5/21/2022 at 12:24 AM, doghousenyc said:

Sorry to resurrect this, but I'm back here after a long time away and wasn't sure it it was best to start a new thread.

I remember referencing this thread to troubleshoot an environment build to address 3 oscillators of a mono synth to achieve pariphony.

Coming back to it recently using 10.5.1 and for some reason my environment doesn't work anymore. It was always fairly complex, but I'm puzzled as it's acting erratically and I think the only variable is Logic.

So before I untangle the entire thing (or start over) can anyone tell me if there were any environment changes under the hood with respect to note-off handling (or anything else that could have broken a working environment) since +/- 2015?

Thanks, Nathan

Can you post your project and a description of what exactly doesn’t work anymore?

Link to comment
Share on other sites

I'd be happy to, but it is pretty specific. The Korg Volca Bass is a 1-voice analog synth with 3 oscillators. I made this (mostly as an academic demo) to send specific CC data that tunes each of the three oscillators to allow it to play chords. The CC is specific to that unit.

In order for it to work, faders and transformer maps are used to store the 'pitches' so that when keys are released, the oscillator returns to the pitch of the remaining voice allocation. So note-off is only part of the issue. But the entire thing is behaving erratically and the notes aren't stopping anymore. Note-off is just a guess (as it's always been a little wonky).

I'll post a bigger screenshot in the meantime.

Nathan

Link to comment
Share on other sites

Probably still too small. I'll upload the environment later. I just don't think it will make much sense without the Volca in play

Briefly, there is a voice counter, a switcher for the oscillators, and a 'memory' to store the oscillator values.

pariphonyFromMonoSynth4.gif

Edited by doghousenyc
explanation
Link to comment
Share on other sites

I can already tell that is pretty cool man!  If you upload the actual project file, then people will be able to open up the environment objects to see their various settings, which may help figure it out.

But I would say, almost for sure, you are running into NoteOff problems...probably related to  what I posted above so I would follow that link to that other read and read it all very carefully and try to understand it.  You may be able to figure out a work around as I did.  

Another thing you might consider is using Scripter for this

Edited by Dewdman42
Link to comment
Share on other sites

I think I need to do a little soul-searching on this as well. I made this as an academic illustration of what the environment was capable of (as well as a discussion around oscillators and polyphony). I’m inclined to think that the environment is becoming abandonware. At some point, the illustration outlives its usefulness.

Logic has always been good about backward compatibility in my opinion. So if they are letting things like this go, it may be time for me to just move on. Scripter probably is the better solution now. But my JS skills are… bad.

Link to comment
Share on other sites

Sorry to double post, but the other problem is that there is, and always has been, a bug in *this/my* environment. If memory serves, the polyphony only works in one or two octaves. I set it aside while I was working on a way to ‘clamp’ it. It was a nice demo, but it’s not ready for prime time

Edited by doghousenyc
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...