Stuck note nightmare - script fix?

Actually not really….in terms of raw processing power, those MIDI events are happening quite slowly

One simple question @Rockinbryan
Are you using a Mac or a PC where you need to be careful about performance tuning?
Stuck notes are part of my past. Since 3 years with a MacBookPro and NI controller I never had one.
And I play in three cover bands where Hammond is fundamental…

1 Like

Using your organ in standalone mode will allow you to eliminate GP for troubleshooting.
Also, make sure there’s nothing between your controller and your CPU (like a USB hub, or going through a third party MIDI connection).
I’ve never experienced a stuck note from GP, but I occasionally (twice a year) get a ghost note from my SL88.
Also, try to verify the failure on your backup CPU (with your other GP license), using the same software and same controller.
Also, put a midi monitor in your rackspace and look to see if the MIDI note-off is missing when it happens. This should help verify if GP ever received the note-off in question (If not, I’d suspect the controller). Remember, even a flaky MIDI cable can cause problems. Sometimes the problem is where we least suspect it. :wink:
Ha ha, I keep editing my post, but another idea is to run a synth next to your organ, controlled by the same input block in the rackspace, to see if it’s just the organ that hangs, or do both instruments hang together (like buddies, lol). This may give some valuable insight to the problem.

1 Like

Years ago I lost months to detect the real reason. It was Arturia controller (Keylab 61 mkII).
I asked support to Arturia, they supported and made new version of controller firmware and USB driver. Events happened less frequently. But I was tired. I had a chance to sell the controller at reasonable price so I sold it and bought a Native Instruments Kontrol S61 mkII.
Events disappeared completely.

I’m using the Arturia Keylab III (3). Heard it would fix this. [Shrugs]

I had stuck notes with a Roland hp-1700 combined with an esi-midi-to-usb cable. This cable/converter (or its driver) apparently got confused with the midi active-sensing messages of the Roland.

Keylab essential mkIII I guess.
How is keybed? I think all past Arturia are always too soft. Impossible to play some piano things

It’s not that bad (keybed on Arturia). I have a slightly stiffer action on the lower controller, not by much, so it does the Rhodes and piano bits. I play organ, synth and other instruments on the Arturia above. The KeyLab Essential has good controller knobs that help with parameters live and drawbars for the B3 sim. I think it works better than its predecessor from M-Audio.

It’s always been my thought that soft synths aren’t bulletproof for live use, not because VSTs or GP aren’t excellent at what they do, but because it is dependent on modern operating systems that aren’t written for music production. At the very least, Windows keeps finding a way to pop up with notifications even when they are all disabled. Rant over. I should note that a fully loaded Gig Performer rack set loads faster than my Nautilus which was in my last live rig.

Having tried direct usb to PC and recommended power hubs, I still can cause a hung note. The benefits of GP still outweigh this inconvenience but it does make my band suggest I don’t know what I’m doing. I think my playing will make them put up with almost anything, I have them fooled that I’m competent.

Sorry for the long posts, I do go on a bit. Cheers

PS: I wish I could reply to other posts with the quote thingy and edit my posts. Am I not worthy? :grin:

You are now — the forum system takes a while to determine that the user is not a spammer or a troll, etc., and restricts ability.

Try again

I’m back. I am being a bit lazy with this question but does the scripting language have the ability to count the number of notes and calculate the notes per second as a variable? My approach as “air code” or whatever the expression is for loose code description would be to continuously detect keystrokes per (time period) and if it exceeds a certain limit, an “all notes off” command (or series of commands) is sent. I think that would be a workaround for this stuck note issue.

I understand that this is not a universal issue. But I have 5 MIDI controllers now, all of which were meant to fix this. I’ve tried direct connection to the computer, powered hubs, better powered hubs, better cables, shorter cables, and most recently, lab quality power injection USB adapters that are meant to regulate the power supplied to the keyboards. Oh, also I’ve tried controller keyboards with external power supplies and using the MIDI din connectors. I can get the stuck notes to a minimum but whacky organ abuse will eventually trigger a stuck note. Just so you understand my perspective, I’m tired of trying hardware variations and want to have a script solution.

Before I start teaching myself a new “language” I thought I’d see if anyone can give me some example code to get me started. I’ve only used my GigPerformer rig for 2 shows so far and while it has been 90% excellent and allowed me to pull up just the sounds I want and pull some other tricks that would have required a lot more gear in the past, I can’t claim victory until everything is working.

Thanks, hope everyone is doing well!

Bryan

With scripting it is easy to count incoming note on messages and out the into a variable.
But what is not per second?
In scripting you can detect a time and then you count rows and then a simple arithmetic operation gives you the average note per second.

But for what should that help?

When you talk about stuck notes, do they occur with different plugins?
Do they occur in a simple rackspace too?
If there is a standalone version of the plugin, do stuck notes occur also?

What are the missing 10%?

You could try this scriptlet code.
The idea is that Note On message with velicity = 0 a treated as Note On Messages.
So (just an idea) in this Code Note On Messages with velocity lower than 5 ( range goes from 0 to 127)
are treated as Note Off Messages.
Maybe your controllers accidentally do not send Messages with velocity = 0 but with very low value.

var v_vel : integer

//Called when a NoteOn message is received
On NoteOnEvent(m : NoteMessage) 
 v_vel = GetVelocity(m)
 if v_vel < 5 then
    v_vel = 0
    SendNow(WithVelocity(m, v_vel))
 else
    SendNow(m) 
 end 
End

Hi Paul,

I’m going to respond to each of your posts individually (if that works, it might just end up at the bottom of the thread). My thought process is that the issue is somehow caused when too many notes (note on commands) are being received and somehow the note off isn’t received or “honored” by the plugin. It has been mentioned that the data stream for midi is relatively lightweight and there should be plenty of throughput for musical purposes; however, the implicit behavior tends to contradict this, explicit cause unknown. [Scratches head].

If I was writing code (in my other life) for a generic system that seemed to fail because a message wasn’t received I would first try to fix it the right way (make sure the message is sent) and if that didn’t work, to keep the code in production, I would try to predict when the error happens programmatically and force the message to be sent. That’s all I’m getting at: it happens when I mash too many keys (apparently) so if I can detect that, I can just make sure that an all off message gets sent. I think you gave me a solution in your last post that I’ll play with first.

I’m not always sure I understand what you’re getting at but I appreciate your help!

Bryan

I think one datum point is that you’re probably not the only musician doing heavy Hammond work and we would have expected large numbers of reports from other players if plugins were failing like that. It would be a serious general failure.

I just looked through the entire thread again. I don’t see much information about what kind computer you’re using, what audio interface and drivers you’re using, whether the computer is properly optimized and there aren’t other processes interrupting the audio thread.

Decent audio interfaces and drivers can (sorry, do) make a huge difference as well.

So my points of failure are quirky behavior from some plugins, stuck keys issue, and volume control. Some of these are configuration, others learning curve and one just a limitation of keyboard/ software (I’m talking about my stuck notes).

For example, I needed a couple of sounds I found on the Roland Cloud. Everything sounded perfect at home and in sound check. But I went for the big solo during the show and that sound was just broken. Reloading the plugin fixed it after the show was over, a bit late. I’m ditching Roland Cloud, on top of some quirky behavior, it likes to pop-up notices while I’m playing. Most of my other plugins are consistent and reliable within GigPerformer so I’ll find something other than Roland.

I have made some nice control panels for my racks with volume controls and those are mapped to my midi controller knobs for convenience. That said, I’m fighting with the setup to get my volumes right sometimes. Also I’m getting distortion from the internal gain structure I don’t have right. My personal solution is to use separate outputs from my audio interface and combine that with a small mixer to regain physical control of my different sounds (as opposed to software control). I know I could fine tune the soft volume knobs and gain levels but in the end, I like a physical volume control for each keyboard’s assigned sound.

I’m not sure I’ve been 90% satisfied with any software so GP is really working for me and I’m not interested in trying a different platform. Live shows are demanding, especially when you need to cover a lot of sonic ground as the keyboardist, so I’m going to nibble away at the last 10%. I’ve already restructured my racks for the hardware mixer and found replacement sounds for Roland so I’d say I’m at 95% now. Not bad!

Oh, you’ve asked which plugins have note off issues: it’s mostly the Hammond B-3X (IK multimedia I think, it’s not in front of me). I tried a few VSTs and I liked this one the best for organ sounds. There have also been stuck notes on an electric guitar sound and a string/pad patch, those were in Kontakt I believe. I think your velocity script could really help, I’ll report back.

Thank you!

Sorry, that’s true: I’m using a latest gen i7 processor (ASUS mobo) with liquid cooling, very fast, lots of cores and threads. 64 gigs of fast DDR5 ram. M.2 SSDs, 1 for Windows and 1 for storage - built it myself (I put a lot of these high end machines together for work). I’ve tried both the MOTU M4 and a Behringer something, both sound pretty good, same issue.

I’m at 44.1k/256 samples and I rarely can detect the latency. This is a monster setup, in theory.

I believe I have the latest drivers across the board. I’ve turned off certain windows services to keep them from interrupting during a performance. There could be more things to fine tune but I don’t know what they could be.

I am not sure I saw whether you checked if you also have the stuck note problem using the IK B-3X (or other plug-ins) in stand-alone mode.

(I wonder whether you are somehow sending huge amounts of midi data that are you not aware of? Maybe check the Global Midi Monitor. If so, maybe filter out the extraneous midi data?)

1 Like

I’m reluctant to ask this, because you’ve already tried al sorts of hubs, cables, keyboards, etc., but did you ever try a different computer system, just to diagnose the problem? Maybe with only the 100% needed plugins?

Did you look into this one:

https://gigperformer.com/how-to-optimize-your-pc-for-the-stage-download-free-ebook/

There are lots of useful recommendations there

1 Like