GR-55 - Some notes on GR-55 glitches...

Started by shawnb, August 27, 2012, 10:44:57 PM

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

shawnb

No matter how hard I try, I still get glitches on my GR-55, especially for certain voices.  The GR-55 saxotar is my nemesis (any sax voice).   I did a little research to see if I could understand what was going on & automate a fix. 

Finding #1:  The GR55 almost always sends soft pedal CCs & pitch bends immediately before the note starts.  These pitch bends and soft pedal CCs between notes are non-zero and appear to be random, so they're not there to 'settle' or zero the note.  These events are simply spurious data.  It's possible some synths will spend time figuring out what to do with these spurious messages inbetween notes.  (See the second figure below, a screen shot of MIDI OX.)   

(EDIT: Long after this post I learned that the soft pedal CCs are registering NUANCE for the performance.  You will get different values based on the attack of the note, e.g., whether you use your fingers or a pick.)

Finding #2:  Most 'glitches' are pitch bends.  The really noticeable ones have values above 1400.   PBs of 1400 (out of 8192), given the GR-55's fixed PBR (pitch bend range) of +-24, translate to about 4 frets.   

Finding #3:  On occasion the note itself is jacked up to a higher value.  These are often harmonics of the note, ~1-2 octaves up. 

How to fix this?   I've been experimenting with programming the Midi Solutions Event Processor Plus (which is, I confess, a very fun toy...).  I wrote a program to:
  - Filter out all soft pedal controllers.  They don't do anything as near as I can tell, and it's work for your synth when it should be firing up a note.
  - Filter out all pitch bends <-1400 & >1400.
  - Filter out all pitch bends inbetween notes.
  - Translate notes above the fretboard down an octave, back into the playing area of the fretboard, where you probably actually played 'em...

The GR55 almost always gets the note right, it's the PBs that mess everything up.  You don't want to lose the PBs, just the wild ones with very high values.   

The result is a dramatic improvement, you can see this in the first figure below.  In this pic, the first track is the guitar input, the 2nd track is the GR55 synth input, the 3rd track is the unfiltered MIDI input and the 4th track is post-filtering.  You'll see that pitch bends are still there, just not the BIG pitch bends.  As an aside, my measurements show that the MIDI Solutions Event Processor adds about 3ms of latency.

Slides still work GREAT as long as you don't go all George Thorogood with 'em.  The problem is that any bends or slides > 4 frets are simply cut off.  Also if you just drag a note up or down the fretboard, the GR55 just sends PBs, not new notes.  Do this more than 4 frets, and you're cut off doing that as well.  Fortunately, I don't do that a lot.   

An easy alternative is to just go chromatic, but...

Odd finding #4:  The only way I've found to remove pitch bends from the MIDI pipe is to turn Chromatic ON under the System settings for Gtr-MIDI.   HOWEVER...  Those pitch bends are now factored into the note calculation.  So instead of having an errant pitch bend and a correct note, now you have an incorrect note...

What this means is that, typically, turning Chromatic ON makes things worse by screwing up your notes.

(EDIT:  Note: The PCM settings dictate how the GR55 is to render its own voices.   The System settings under GTR-MIDI dictate what goes out over the bus.  In fact, you can turn both PCM voices OFF and still have MIDI data xmitted to your soft synth.  I.e., NO voice level settings affect what is sent over the MIDI bus.  ::))

Yes, the truth is you can get rid of almost all of these glitches simply by picking the notes much closer to the bridge.   But even with good technique, mousie-death-squeals seem to pop up at the worst times.  So it's good to know that we can get a little automated help.   

If anyone is interested, I'll provide the source code for the event processor. 
Edit:  Added scripts for the event processor & the event processor plus.  The plus script also cleans up pitch bends between notes; works on channels 1-6. 
Address the process rather than the outcome.  Then, the outcome becomes more likely.   - Fripp

PD FX

Nice info, Shawnb, thanks!
And Yes, it is true: the GR-55 glitches too much..
Some notes go wrong more often than other notes, and with crossover between strings (while playing chords) it becomes worse..
Your trick is a good one: the glitches are translated into pitchbends because the note is already sounding, and the system thinks its a bend.. If you put the system into chromatic mode it will translate these pithcbends into new notes for the external midi output however..
So setting the system into non-chromatic and filter the output via software in the computer is the only solution.
too bad there's no local off, then the filtered notes could be played on the gr-55 :/

I thought a great deal about the reason for this odd behaviour: there are 2 possible reasons imho.
I own 2 GR-30's, and they dont feature glitchiness, therefor its the speed enhancement of the gr55 that most probably creates the glitches.

1) Maybe the GR55 system uses FFT-scans with extrapolation.
    A FFT scan of a short buffer will hold the harmonics 2,3,4,5,6th harmonic in declining amplitude)
    Then the first harmonic 1 can calculated, and the speed is twice as fast as without extrapolation.
    glithces occur whenever corssover or hum distorts the FFT output.
2) Maybe the GR55 system uses peak to peak mesuarement with added Sin/Cos trick
    The incoming signal is doubled by a signal that is digitally generated as follows:
    -if the signal is rising, the output is high, otherwise the output is low.
    This output follows the cosine of the original, and is a square wave.
    Now this COS signal in conjunction with the original SIN input, gives a frequency to measure that is twice as high!
    Trouble occurs when crossover from other strings distorts the original SIN wave: the SIN can be falsly detected as rising   (COS=1) when the crossover components are too big.

Now, these are the 2 possible speedboosters I could find that would feature these gltichiness. Maybe there are more of them, I'd like to hear!

I would like to ask Roland, if they can add the switch "Classic Detector", that would cancel the speedenhancer. I'd rather have the right notes. On the GR-30 I can play piano rather convincingly with Kontakt on my laptop, where the GR55 glithces way too much

The truth is now that I use the GR-30 for generating midi for software instruments, and the GR55 just as a standalone unit.
As long as you play monophonically, the midi output of the GR55 is good enough, polyphonically it is a nightmare...
Maybe a guitar with next to zero crossover between strings would perform better, since the majority of glitches are triggered by crossover. (Separate single string bridges seem to be good for this)

regards,
Paul

   



   

mbenigni

What really frustrates me is that the GR55 will gladly play notes way outside the range of the fretboard itself, setting aside third fret harmonics and the like.  It's pretty sophisticated to try to filter audio down to the fundamental and perform fast audio-to-MIDI conversion without error, but it's EXTREMELY simple to cap MIDI note on values to within reasonable bounds.  This simple change (a user selectable option, perhaps) would make 90% of my glitches go away.  Worst case would be an unintentional rest, which in a band mix is far preferable to a random note that makes dogs howl.

PD FX

@mbenigni: Your absolutely right! They could at least have add a range filter. Shall we start a riot? ")

By the way for filtering on macosx I normally use "midi patch bay" http://notahat.com/midi_patchbay
Thats a really handy tool thats works wtih every software, because it can create a new midichannel, on wich you can route filtered range filtered input.

Alternatively with reaper you can use Adam Fulara JS-plugin script software: his plugin "Full/X Midi Dumper" has various extra options and can handle 2 guitarsynths (12 midichannels)
http://fulara.com/oprogramowanie

Elantric

Quote@mbenigni: Your absolutely right! They could at least have add a range filter. Shall we start a riot? ")

By the way for filtering on macosx I normally use "midi patch bay" http://notahat.com/midi_patchbay
Thats a really handy tool thats works wtih every software, because it can create a new midichannel, on wich you can route filtered range filtered input.

Alternatively with reaper you can use Adam Fulara JS-plugin script software: his plugin "Full/X Midi Dumper" has various extra options and can handle 2 guitarsynths (12 midichannels)
http://fulara.com/oprogramowanie

Excellent advice and suggestions for work-arounds.

papabuss

Shawnb, thx for your excellent detailled information. :)
FENDER STRATOCASTER (1974); BRIAN MAY RED SPECIAL; VG 99; GR 55; Yamaha DX 7

Music was my first love and it will be my last (JOHN MILES)

shawnb

#6
Quote from: Guitarpolson on August 28, 2012, 02:05:21 AMIf you put the system into chromatic mode it will translate these pithcbends into new notes for the external midi output however..
So setting the system into non-chromatic and filter the output via software in the computer is the only solution.

OMG you're right...   Just did a few A/B tests.   Never noticed that before...   Chromatic mode fixes nothing - in fact, makes it worse!

I just uploaded my event processor scripts to the main post above, for those who have one & want to give it a try.   Much easier than lugging around a laptop to do your event filtering!
Address the process rather than the outcome.  Then, the outcome becomes more likely.   - Fripp

PD FX

Quote from: shawnb on August 28, 2012, 09:00:57 PM
OMG you're right...   Just did a few A/B tests.   Never noticed that before...   Chromatic mode fixes nothing - in fact, makes it worse!

I just uploaded my event processor scripts to the main post above, for those who have one & want to give it a try.   Much easier than lugging around a laptop to do your event filtering!
Yes, so the overall procedure looks like:
1) GR55 midi output incl. pitchbends. (=>legato!!) (GR-system - midi/usb - gtr-midi - chromatic:off, mode mono)
2) filter output on probability (like shawnb mentions above) via event processor or software on computer. (midipatchbay,full x midi dumper)
3) use filtered output in software or hardware instrument.
   Small Problem: the initial output is legato, tied notes are pitch bended, so for piano and organ, these notes have to be restored! In fact, each intstrument that doesnt react to pitchbends needs this preparation
   With Kontakt 5 you can use GTAK5 to create these "triggers", works great. (The whole of GTAK is based upon the principle of steady legato output, it creates triggers when needed!)
   If anyone knows a general VST plugin for non-kontakt use: please let us know!!

So once the GR-55 and filtersystem is set up, you only need to check your instrument.
How good this system works? I will do some  testing, I'll compare it with GR30, whitch is my securest converter so far.
If it looks good, we should try to make to a shawnb filter VST plugin (this is faster as eventprocessor, who is locked on 31250 bits per second!) Most people use their laptop as external sound source, and then the eventprocessor would be an extra obstacle.

Elantric

Guitarpoison - great rundown of the requirements for a new vst plug in that will help many MIDI guitarists.

Hopefully among our ranks, a software guru may step forward to help create such a VST plug in.

PD FX

@elantric: thanks..
I think it is not that difficult to program, it is just that I have no experience with plugin programming, then I would do it myself..
So yes, we need a VST plugin developer..

shawnb

#10
FYI - In lieu of a VST plugin...

SONAR...  I use SONAR, and I just tested its MIDI Event Filter FX.  I was pleased to find that it will do the pitch wheel range filter on the fly.  Note that although the filter is applied, the events are recorded, as it's a non-destructive filter.   The filtered events are not passed to the synth.  You MUST setup your synth with separate audio & MIDI tracks (uncheck the 'simple instrument track' box), otherwise you won't have a 'MIDI' track to apply your MIDI FX to.  You can delete the filtered events from your track later using the Process|Apply Effect menu entry.

The UI on that filter looks simple, but it doesn't work the way you think...   You want it to look something like the picture below when done.

REAPER...  I've read that Reaper has a JS scripting language, that ought to be able to do the pitch wheel filtering as well.  There are forums of Reaper users that share JS scripts.  I couldn't find an existing pitch wheel filter.  However, it's an active community, and scanning the forums, I've seen plenty of folks jump in & help those with specific requests.  (What a great community over there!)
http://forum.cockos.com/archive/index.php/t-106801.html
http://forum.cockos.com/showthread.php?t=33795

As guitarpoison points out, however, a pitch wheel filter alone won't solve the legato problem.  The challenge there, however, is what is valid legato & what's a spurious pitch wheel?   Hmmm...

Although the pitch wheel filter is not perfect, it's a significant improvement for the more glaring jumps on the high B & E strings.   

Again, the best solution is to keep your picking close to the bridge, with a clean new pick.  The filter will catch some of the "escapes"...   
Address the process rather than the outcome.  Then, the outcome becomes more likely.   - Fripp

shawnb


Added this note to the original post:

(9/2 EDIT:  No, it's not odd...  The PCM settings dictate how the GR55 is to render its own voices.   The System settings under GTR-MIDI dictate what goes out over the bus.  In fact, you can turn both PCM voices OFF and still have MIDI data xmitted to your soft synth.  I.e., NO voice level settings affect what is sent over the MIDI bus.  )

Bit of a revelation during the morning shower...  Feeling a little dumb in hindsight... 
Address the process rather than the outcome.  Then, the outcome becomes more likely.   - Fripp

shawnb


I have confirmed that the CC67 'soft pedal' controllers reflect the GR-55's Nuance settings on the MIDI bus. 

The GR-55's 'Nuance' setting reflects soft playing style, e.g., finger picking vs. using a pick.   Higher values reflect 'nuanced' (slow) attack and lower values reflect a picked (fast) attack. 

In the MIDI spec for the soft pedal controller, 0-63 is off & 64-127 is on.   I.e., the higher values should reflect a softer tone, just as 'higher' nuance values reflect a softer playing style.  So the CC67s actually make sense as they operate. 

Note that these are on the MIDI bus whether or not the Nuance setting is on for your PCM tone (again, PCM settings don't have a bearing on what is on the MIDI bus - you could have one off & one on, what would it do?). 
Address the process rather than the outcome.  Then, the outcome becomes more likely.   - Fripp

Elantric

To update this thread -

ShawnB created a useful doc every GR-55 Owner should read

https://www.vguitarforums.com/smf/index.php?action=downloads;sa=view;down=31


ShawnB wrote>

I've been compiling notes on GR-55 setups, my own hopefully practical spin on how to set things up. 

The information in the GR-55 manual regarding setting up the unit is pretty minimal.   This doc is meant to supplement the manual with real-world experience.  I wanted to pull together all of the best info I could find in one place, instead of scattered over a bunch of posts in a bunch of forums. 

And, very specifically, I wanted a "cook book", i.e., a specific set of steps to follow to make a setting properly and consistently.

I hope you find this helpful.   Feedback welcome. 


Setup-Nuance - will help you confirm your Nuance is configured well.  If your Nuance is configured correctly, finger plucking will generate bell sounds, and pick usage will generate a steel string guitar sound.
Setup-Velocity - will help you confirm your Velocity is configured well.  It is built from a basic electric piano tone, which varies its timbre with your picking velocity.  Low velocity (picking softly) yields that sweet e-piano tone, almost like a bell.  High velocity (harder picking) yields the growling e-piano tone normally associated with banging hard on the keys.  If you cannot get BOTH tones from your GR-55 depending on how hard you pick, you have probably squished your "Velocity Dynamics" setting too low, and as a result, are not getting all the intended subtleties from the GR-55's tones.

Read Full thread and get the GR-55 test patches here:
https://www.vguitarforums.com/smf/index.php?topic=6972.0



And read
The GR-55 FloorBoard Editor Help -
This doc covers all operations of the Roland GR-55

https://www.vguitarforums.com/smf/index.php?action=downloads;sa=view;down=86

bryanz

Hello,

Forgive my caveman intellect, but do I understand that if I get this box, put it between my GK-3 and the Gr-55, and somehow get your script into it, then I will have a lot fewer bad notes?

Thank you from Gr-55 kindergarten :)
Bryan

Elantric

#15
Suggest read this  -


ShawnB created a useful doc every GR-55 Owner should read
https://www.vguitarforums.com/smf/index.php?action=downloads;sa=downfile&id=31

and
The GR-55 FloorBoard Editor Help -
This doc covers all operations of the Roland GR-55
https://www.vguitarforums.com/smf/index.php?action=downloads;sa=downfile&id=86


shawnb

Quote from: bryanz on September 02, 2015, 01:51:59 PM
Hello,

Forgive my caveman intellect, but do I understand that if I get this box, put it between my GK-3 and the Gr-55, and somehow get your script into it, then I will have a lot fewer bad notes?

Thank you from Gr-55 kindergarten :)
Bryan

Short answer, yes, it reduces glitches.

As noted above, it does place restrictions on activity that uses wheel events, though, such as whammy, slide & hammer-ons.

As Elantric said, it may help to read thru the other documentation, too.   
Address the process rather than the outcome.  Then, the outcome becomes more likely.   - Fripp

bryanz

Thanks for taking the time to respond, guys--I appreciate it.  I did see that documentation, and a year or two ago I did try and go through what was available on the site to reduce the problems, including the set-up document--though I'm sure I could revisit it.  I often try increasing attack times, which seems to cut down on bad notes.  But this thread was the first I'd seen on the Midi Solutions Event Processor--so before I spent $150 on it I wanted to make sure I understood. 

Shawn your previous posts didn't mention problems with hammer-ons and whammy, just slides over 4 half-steps, I think.  I guess for a lot of voices I wouldn't use many of those techniques--but I'd want to be able to turn the filter off easily if I switched to a voice where I would.

Thanks again :)
Bryan

shawnb

Yeah...   Bends, whammy, slide , hammerons & pulloffs all use wheel events.    If you filter the wheel events, you need to experiment to see what that does to your playing style.
Address the process rather than the outcome.  Then, the outcome becomes more likely.   - Fripp

bryanz

Oh--so I'm guessing to get rid of say the annoying pitch bend on some voices when I take my fingers off the fret, I'd have to give up vibrato?  That would make spending the $150 (and adding 3 ms of latency) sound less attractive.

shawnb

Only if it exceeded 4 frets, prolly not a problem.
Address the process rather than the outcome.  Then, the outcome becomes more likely.   - Fripp

bryanz


Toomanynotes

Get a Digital Caliper from your hardware store. And properly set the distance to the bridge correctly inside the programming in your gr55, after you set the intonation.  Get a tiny allen wrench and adjust your string height correctly. ?   Metric...   I find tons of used guitars with bent necks, worn frets and every simple problem. A. $5,000.00 Guitar in the hands of a fool can sound just as crummy as an 80 ebay craigslist coat rack.

Thanatos

Hi Vguitar engineers,
as many other here I am struggeling with tracking issues of gr55. I have properly installed gk3 and have followed all recomendation documents from this forum.  The top three strings:e-g are ok and even with fast licks they respond well (btw as the tracking issue sample I use factory preset "grand piano"). But the lowest E and A are realy bad. If I strike the E string once it is ok but even a very slow tremolo results in missing notes and a sort of chaotic rhythm - probably due to some latency...
I have tryed to rise up strigs up to reduce fretbuzz but no effect.
How this can come that higher strigs are perfect and lower two strigs are so bad

Thank you to all

Thomas

bryanz

Hi Thomas,

My understanding is that it's because lower pitches have longer wavelengths and therefore take longer for the software to recognize.  It's just not a perfect system, and I feel like I have to accept its limitations, and that there are things that it's just not going to do well--such as most synthesized voices with tremolo picking.

One workaround is to lower the octave of the voices so that playing a high string produces a lower tone.  Still, many of the voices you can't play like a guitar.  Slower attack voices tend to work better--that immediate attack is too much for it to process sometimes.  Throwing in a modeled tone or actual guitar sound can sometimes cover it up.  I also will often lengthen the attack a tiny bit on voices, to lessen the glitches.  But that won't help with fast picking.