Creating a "volume pedal" with nonlinear taper

I’ll state my ultimate question first, here:

How are other people achieving volume-swell volume pedal configuration on iOS, for guitar sounds?

I ask this because I’m not fully satisfied with any of the methods I’ve thus far tried, and maybe others have figured out something simple I’ve missed. I have tried a number of ways to create a full-sweep “volume pedal” in AUM on iOS using both MG3 and plugins; for example, I can connect a CC7 or CC11 expression pedal to:

  • The channel volume on an AUM audio channel;
  • An audio bus send amount on an AUM audio channel;
  • The output volume parameter of some plugins (e.g., IK’s MixBox);
  • Cascaded instances of the native Gain plugin in AUM; or
  • The output volume of the MG3 mixer.

While these all, technically, work, none are ideal. The first three options can certainly sweep from minus-infinity (or at least minus-enough) to 0dB in one go, but only with a linear “taper” on the expression pedal’s sweep. Volume swells a la Fripp / Hackett / Lifeson really need a nonlinear taper to sound right and be intuitively “playable”.

MG3 can configure a nonlinear taper quite nicely, which is awesome, but even this isn’t ideal because, using MG3 as a plugin in AUM, that plugin comes before the amp sim (to give me the pedalboard FX I’m after), where a volume pedal affects the amount or distortion/saturation during the sweep. I want foot volume it after the amp sim, where the quantity of dirt is the same throughout the volume sweep. Also, I want my volume pedal to come after any noise gates, not before them; an aggressive gate will ruin the bottom part of the sweep.

I’ve lately been experimenting with using the native Gain plugin in AUM, cascaded over multiple instances, to try and get the effect of a nonlinear taper to the sweep. The native Gain plugin will only go down -24dB, but three of them, all tied to the same expression pedal, will certainly go down below the audible threshold, and if I play a little bit with the exact start points of each one (e.g. they all sweep up to 0dB in the end, but if the first one sweeps only from -10 to 0, the second from -20 to 0, and the third from -24 to 0, it does seem to get me a little better taper than a single sweep using a different method. Theoretically one could add as many cascades as necessary to get the taper desired, but that whole enterprise just seems clunky.

I’m not sure why I haven’t been able to find an obvious “volume pedal plugin” that would have a finely configurable taper, or at least a mapping like you can do with, say, MG3 or with curves in the SWAM plugins, but maybe I’m missing something obvious.

Which brings me back to the question I started with: how are other people solving this problem?

1 Like

Welcome to the iOS volume pedal woe club. There is no such plugin, AFAIK. Like you said, simply using gain plugins or assigning MIDI controllers to the mixer faders does not quite cut the mustard.

This is on my list of plugins to make once I figure out how to make plugins :slight_smile:

Some guitar amp sim/fx siuites have volume pedal models (Amplitube, TH-U and ToneStack Pro) but they also do not have useful automation/MIDI functions when used inside a host like AUM.

You could use a real volume pedal in your signal chain, though hitting the front of your audio interface like that seems like trouble to me.

The plugin situation for modelling a volume pedal on macOS is much better.

I was afraid this might be the case. The absence of an atomic foot volume plugin seems…conspicuous, somehow, doesn’t it? Any idea why nobody has put one out yet?

You could use a real volume pedal in your signal chain, …

Indeed. I have tried, with my limited gear, to do this. It’s not a “real volume pedal”, but I do get noticeably improved tactile response using the foot volume module on my Boss MS-3 with an expression pedal. Using a simple 1x1 iRig USB as my audio interface on one of the MS-3’s effect loops, I can put the MS-3’s volume either before or after the interface. This works, but again is not ideal. If I put volume after the interface, where I’d usually want it, then I have to handle any post-volume effects (e.g. delay, reverb, looping) either onboard the MS-3, or with additional hardware units; or with a second send to an interface. If I put foot volume before the interface, I can use dirt pedals on the MS-3 and mitigate the “volume affects distortion level” problem at least somewhat, but a VP in this position means the only noise gate I can lean on, is the one on the MS-3, which again isn’t bad, but it’s limited.

I’ve also thought about getting an active volume/wah pedal, and placing it in the effect loop of my NUX Amp Academy. This might be a good answer for guitar sound, since you can place both the gate and send/receive blocks before or after amp and dirt pedal, and that will cover both volume and wah applications, but this also has limitations with interweaving the guitar chain with software/plugin effects. (And ironically, it is mostly MG3, with its pitch-shifting and overtone possibilities, that most makes me want to place a plugin before dirt, amp, and volume…otherwise I’d be reasonably content with sending a hardware-driven guitar sound on to plugins to handle rack and looper effects. :nerd_face: )

All this just starts to sound a lot more messy than being able to do it all-in-the-box.

A little experimenting wound up with some revelations that I think warranted a more generalized post, but as an update, I think the way forward for a true "audio volume pedal” is actually to use an atomic instance of MG3 with a simplified preset.

In a nutshell, this preset has MG3 take the expression pedal’s raw input, remap it to a nonlinear curve like MG3 can do with its Patchbay nodes, and then send that nonlinear output to the Gain plugin on an audio Chain. (Gain seemed smoother than connecting to the Mixer.) I had to tweak things a bit (e.g. configure the curve to not go above unity gain, find the right shape for a good volume swell sound, etc.) but it’s by far the best solution I’ve seen so far, and I think worth further experimentation.

And that’s where things got more generalized. I remembered–duh–that I might be able to take that remapped curve, and instead of sending to to Gain internal to the MG3 preset, send downstream as outbound MIDI–and therefore making it available to other elements in AUM. That discussion is elaborated further at the other post, but at least for now I think I have an acceptable “volume pedal” solution to go with! :nerd_face:

1 Like

Well, this effort has been nothing if not illuminating. Since this original post I have now been through multiple iterations of both using MG3 for re-curving incoming pedal control, and using the MIDI Messenger AUv3 plugin to brute-force a curve remapping.

To be clear: both of these methods work, but I came to prefer the MIDI Messenger approach as cleaner (after the trial-and-error phase anyway; the MG3 approach was just easy), and it didn’t give me as much “jitter” as the MG3-produced curve did. (I now believe that at least part of the jitter I get is just my inexpensive expression pedal–Zoom FP02M–not being perfectly smooth in its own internal response; but for whatever reason I seemed to get a bit more when it was MG3 producing the curve, not entirely sure why.) The whole exercise also taught me a whole lot about MIDI filters and mappings that I didn’t know before, and I’m always appreciative to learn useful new things.

But, I have now pinched enough pennies to have just take delivery of a proper MIDI host device (CME Pro H2MIDI Pro), and son of a gun, that thing can do the re-curving right on the device, elegantly and simply, using the free HxMIDI Tools app.

So, for anyone who runs across this thread and is in some way informed by it, I thought it would be courteous to come back here and say that in the end, for me–on this question of “what’s the best path to a non-linear-taper pedal curve for things like volume swells, using a standard, linear-taper MIDI expression pedal”–my findings can be summarized thus:


First choice: let a capable MIDI device do it. My new H2MIDI Pro host can take the incoming MIDI control from a hardware pedal and re-curve it before it ever sends it along to my plugin host (in my case AUM on iOS). Powerful, and architecturally elegant since it treats the re-curving problem right at the source.

Second choice: MIDI Messenger. I hadn’t known about MIDI Messenger before this effort, and dang, that’s a nifty little tool! Anyway, you can use it to program your own curve–you can even export/import it (JSON data) to create/edit the curve in a more efficient editor. Being a free app, it’s probably the best poor-man’s-solution to a custom curve, and it works great.

Third choice: Use the MG3 Patchbay. I created an MG3 patch that never sees audio input or output, all the Chains turned off and the MIDI Out skeletonized to send MIDI 1.0 output to channel 1; it takes incoming MIDI CC from my footpedal, re-curves it with the curve editor in the Patchbay, and cables it to CC7 on the MIDI Out module. (It’s just a MIDI mapping tool, nothing else.) This dedicated MG3 plugin instance lives on its own AUM Channel with no audio inputs or outputs, just incoming MIDI from the footpedal, and outgoing MIDI from the re-curved messages. This approach does seem to have some limits, and it does clutter the AUM Session with an extra Channel, but 1) it works, and 2) it’s really easy to go in and edit the whole curve right there in the Session. I’m hanging on to it in my “proof-of-concept” folder, and some day would like to try it again with a really high-quality expression pedal.


Anyway, I’ll move forward with the new MIDI host device, since that’s kinda what it does and it does nicely abstract my “floor control” away from whatever actual hardware that is supplying it. (I mostly use an XSonic AIRSTEP for “all in the box” work, but I also have an old Boss MS-3 which can do quite well just as a MIDI controller, plus also supply audio processing.) This whole effort may never get quite as exquisite as a good dedicated volume pedal can be, but it’s certainly good enough for what I’m capable of doing, and I’ll go with that. :nerd_face:

1 Like

One other thought, because my brain works like that: it occurred to me as I went to cross-link this with another post, that one advantage the MG3 and MIDI Messenger approaches both have, over doing the re-curving on the MIDI host device, is that they are fully portable within the AUM Session that defines them. The MIDI host device of course relieves the plugin host of having to define the curve at all, which results in simpler Sessions, but the portability can be its own advantage in some cases! :nerd_face:

I have had this on my mind for a VERY long time, and as of today, I have a prototype for the AUv2 and VST3 plug-ins, shown here loaded in Logic Pro 12:

The GUI certainly needs polish! Interestingly, I’ve run into the same problems with the AUv3’s GUI not reloading properly on macOS as we’ve seen in MIDI Guitar 3 Hex AUv3 and the dropdown menus in the AUv3 only become unresponsive so I’ll have to figure that out before releasing it.

Anyway, I’m pretty happy with the result so far.

EDIT: I released it!

1 Like

Whoa, this is cool news. Forgive me if you’ve already addressed these questions, but…I get excited. :nerd_face:

  • What will be the cost of a license?
  • If you’re planning an AUv3 version, when do you think that might appear?

I’m very happy that you are excited!

The full license price of the macOS version is $29.99 AUD (roughly $20 USD). There’s a 14-day free trial so interested parties can test it out.

I’m planning the AUv3 version for iPadOS/iOS only, not for macOS. “Volume Pedal AUv3” will be a separate product and aligned with App Store prices for AUv3 plug-ins, at around half of the macOS price. I’m hoping to release it in 2-4 weeks, but if all things go well, it could be even sooner.

Oh hot diggity. An iOS AUv3 that soon, at that price point, sounds fabulous. (I’m almost entirely on iOS at the moment, mostly on the strength of AUM as a plugin host, and the affordability of things like SWAM instruments.)

Thank you for bringing this to the landscape; I look forward to wringing it out!

1 Like

Undoubtedly preliminary, but it is definitely on its way.

The macOS version is now stable at 1.0.2 with some decent improvements that have laid the groundwork for iPadOS.