MIDI Guitar/Bass/Cello 3.0.63 Beta, release notes

MIDI Guitar 3.0.63 Beta (Window, Mac and iOS):

First a disclaimer: Many great ideas and fixes were proposed here in the forum and on emails, which I wasn’t able to make into this round. Please bear with me. I haven’t forgotten and will get to that now.

This update is mainly about CPU optimisations in the tracking modules. It’s something that was calling for attention and that will benefit most users. It’s also an investigation into unifying audio and midi behaviours, so that modules will work the same way, regardless of whether they process audio or midi data.

It’s also the first release that I have been able to build simultaneously across Mac, PC and iOS.

Tracking modules, CPU optimisations:

  • Many small CPU optimisations, for different CPUs and trackers used. Most optimisations are for Apple Silicon and non-hex trackers. A few data points (standalone app, clear patch, expressive polyphonic tracking, 128 buffer size):

      	Mac Mini M4 base model: 50% CPU reduction. (22% => 10% in Activity Monitor)
      	Macbook Pro M1 Pro: 60% CPU reduction. (50% => 15% in Activity monitor).
      	Windows, AMD 7845HS: ~35% CPU reduction.
      	iPad Pro 2020: ~40% CPU reduction.
    
  • Tracking output should be 100% identical to previous versions.

  • MG3’s own CPU meter is more useful now. Since its not possible to measure the actual usage, the meter is showing a kind of upper bound how how much it could be using, if it was limited to a single core (it isn’t). No need to worry unless it goes red.

  • The multi-threading option, has been removed, as it’s now automatically managed.

iOS MIDI Bass/Cello/Violin! (pending Apple reviews)

  • Now has all trackers onboard, including MIDI Bass, MIDI Cello and HEX and it should all run more efficiently (as pr above).
  • I haven’t found out whether it’s even possible to run a hexaphonic device or 6 channel mixer on iOS in its current form.

Pitch modules (Transpose, Whammy, Vibrato, String Retuning, Chord Shifter):

  • All pitch modules (except Retuning) now works also in the audio domain! The pitch shifting audio quality and latency (tradeoff) should be close to the best commercial pitch shifters.
  • So, if you put a whammy in a guitar chain, you have a whammy guitar pedal. If you put a synth in the chain, you have a whammy synth. This makes it easy to mix and match synth and guitar behaviours.
  • Furthermore, all pitch modules are all unified. This means you can freely cascade any number of different pitch modules and behind the scenes it will always process a single accumulated pitch shift pr string. This is good for audio quality, latency and CPU performance.
  • If a jack input is used a general polyphonic pitch shifter is used behind the scenes. For hex signals, six very low latency mono pitch shifters are used.
  • Pitch range limitation: total cascaded pitch range of -24…+24 for hex, -12…+12 for jack.

New Chord Shifter module

  • Smooth 3-way morphing among 3 user-defined chords.
  • Can mute (fade out/fade in) individual notes of those chords.
  • Works in both audio and midi domains, but only with HEX.

VST/AU synth modules

  • Synths have a 5th MPE dimention knob “Release”. This will determine the note release/lift-off behaviour in synths.
  • When set to multichannel MIDI, CC controls will be sent to each note channel, rather than channel 1.
  • Fixed bug causing mono processing instead of stereo.

MIDI Output module:

  • Will keep a single global virtual midi device open during the lifetime of the MG plugin. This makes it easier to switch MG patches inside DAWs.
  • Allow sending out midi directly to track from the AU plugin, even though most DAWs don’t support it.

Patch Bay module:

  • New option “MIDI control from DAW” will take CC input from the DAW.
  • Conversely, “No MIDI controller” and “Any MIDI controller” will not take CC inputs from the DAW.
  • Separate saved controller settings from plugin and standalone versions.

Mute Open Strings module:

  • Also works in audio domain.

High samplerates (96Hkz and 88.2Khz) now supported.

  • In case your DAW work rely on high sampling rates.
  • This has no quality benefits as for MG concerned.

Dedicated audio input device:

  • This is an odd feature. It’s now possible to use a dedicated audio interface for guitar inputs (and another for outputs), even in the MG3 VST plugin, running inside a DAW. This shortcut the DAW audio routing and may reduce latency a tiny bit, but it also allows painless hex pickup setups and avoids complex 6 channel routing in the DAW.
  • Its highly unusual for a plugin open an audio device directly, and not supported in all DAWs (Logic, MainStage, Garageband, doesnt allow it right now, but we may have a workaround in the future).
  • On MacOS, previously it was a latency hit by using two different interfaces. Now it’s a tiny latency gain.
  • On Windows it might now be possible to combine two ASIO drivers without installing any 3rd party aggregate drivers (that sometimes will mess up the system).
  • The audio devices “more options” window has been removed.

UI:

  • Right click on selectors will nudge it the other way around.
  • Fixed bug that could sometimes cause graphics garbage or a black window.

Download:

7 Likes

nice, do you have any info on when previous versions of the iPads can run the iOS version?

I have a 2018 iPad Pro

I think the new version will run (depending on how much synths you add). Lots of headroom on a 2020 iPad Pro. But otherwise you can alwatys select the MG2 option inside the MG3 tracker and you will be good :slight_smile:

1 Like

Yes it is. I connected my X32 which isn’t really USB class compliant, and it works fine. Tracking is superb, same as on the Mac or Win. I’ll check the Hex related modules and pitch shift tools tomorrow.

2 Likes

This is amazing stuff and was worth the wait.
Ole is an overperformer!
Cannot wait until tonight: I have got a dinner appointment with MG3! :slight_smile:

1 Like

I hate to be the first one reporting an issue, but. . . Just installed the new version, and it says “your audio interface or CPU can’t keep up, causing bad tracking.” I’ve got a 3d generation Scarlett interface and a 13th generation i-7 Intel CPU.

I get the same error message at buffer sizes of either 128 or 256.

Never had a problem with earlier version of MG 3. Is there something I should be doing to avoid this, or is it likely a bug?

[Edited to add that I did some playing with it, and the error message seems now to have disappeared. Gremlins.]

Thanks!

Thank you very much for the CPU optimizations!

MG3/Gig Performer configs that would not previously run glitch-free for playing on my (admittedly not-cutting-edge) Windows laptop now seem to be running glitch-free. It’s the difference between usable and not. Kudos and congratulations!

1 Like

The message (which we need to tone down a bit) says that MG lost an audio buffer. This would in fact never be noticeable. But if it keeps showing this message, it’s probably loosing a lot of audio buffers, which signals something cant keep up. Previous versions wouldn’t warn you about this but still lost the buffers. But I thought in this beta testing phase its good to find out how common this actually is.

Sometimes (on Windows), it’s some other software thats grabbing all resources for a millisecond. It can also be DPC latency, from a (completely unrelated) driver on the system.

2 Likes

Have spent a week or so with MG3. I am an electric bass player and have been using MG3 exclusively within Loopy Pro on an iPad.

Am very impressed at the tracking speed and accuracy. Is there a way to change the lowest note so MG3 will track down to my low b string?

Also is there a way to remove the multiple notes that are generated often from a single input note. I have been doing some testing with a clean series of 1/4 notes and often MG3 will create multiple very short notes at the attack of the note. ?

Lastly, I am seeing that the monophonic / duophonic setting is not being saved in presets. Each time the app opens and I recall a preset, I have to change the setting back to Duophonic.