Repurposing Bad Controller Knobs

Improvisational Optimization

It’s always been more of my mentality to try to figure out how to make optimal use of what i have on hand — even when flawed — than to try to find immediate replacements… from using a TI-83 calculator to code as a teenager (since that’s what i had access to), to learning how to mic two small guitar amps to sound amazing rather than try to buy bigger amps which i didn’t have space to store. Whether or not this is the optimal way to be, it’s been pretty ingrained in me over a lifetime of dealing with less-than-ideal equipment and environs, figuring out how to increase functionality past apparent limitations, and squeezing every drop of valuable usage i could garner out of existing gear.


Repurposing a Row of Bad Encoders

This BCR-2000 MIDI Controller i have happens to have a top row of encoder knobs which act all wonky, sending out their values all slow and choppy and making them pretty much unusable as MIDI controls. However, each knob does have a set of LED lights, and it is possible to send messages to those lights to make them move.

By using a couple of MaxForLive devices in Ableton, i have it set up so that the 8 knobs each provide a VU-meter type experience in reaction to whatever’s playing in Ableton Live. Now they aren’t useless! Yay!

I decided to use the first 5 knobs as a 5-band spectral analyzer, so to speak. I determined the Mel points for splitting the full audio spectrum into 5 nicely-spaced zones. I set up those frequency zones to each be listened to separately by envelope followers, sending their results to MaxForLive devices which translate them to CC to send along to the controller’s LEDs. Up experimentation i found that using progressively faster timing responses for the higher frequencies resulted in the most palatable and natural visual display. Higher frequencies have quicker wavelengths, after all. Each band has ideal gain-staging determined by “golden-pink noise” analysis (more on that at a later date).

The 6th and 7th knobs show the stereo width (center and sides respectively). Since the BCR has different LED light modes, i selected ones that show the stereo width visually in a cool way. The final knob shows the overall track energy using a slightly different visualization than the frequency LEDs.

So now, simply by glancing at my BCR controller while audio is playing, i can immediately have a grasp of the overall frequency balance, the stereo width, and the overall loudness (despite where my master volume is currently set). For example, if my low-mids are way too boomy compared to everything else, the second LED might be pinned to the max while the others are tickling low.

The main drawback is the CPU usage of about 8%; there’s probably a more elegant way to accomplish it using less CPU, but honestly it’s been fine on my new system, not interfering with playback. I don’t use it all the time, mainly just for mastering or pre-mixing, when technical precision is of a higher priority.


Bug Becomes Feature

Another couple of examples of making use of gear’s quirky flaws rather than replacing or correcting them both have to do with foot pedals.

My GT-8 multi-fx pedal’s expression (aka “wah”) pedal’s spring went out some years ago after heavy jamming and gigging, so it no longer bounced back up when you took your foot off, but rather flopped down. So i tightened the pivot bolt just to the point where it now stays wherever i place it. I can still use it as a wah pedal when desired, but i can also use it to set and leave floating at any specific position. Since i use the GT-8 as an external aux effects send now rather than as an in-line guitar pedal, it’s even better than it would have been as a standard expression pedal which resets its position when you let go. The “bug” has become a quirky feature.

The second example involves a purchased foot pedal for an electric piano which happened to be wired incorrectly, being “on” all the time (once plugged in) and “letting go” when you actually step on it. So instead of getting annoyed upon discovering this, i was like, “cool, now i have a reverse sustain pedal!”

A final bonus example is a preamp that randomly crapped out on my audio interface (“channel 6”). Since the company outrageously charges almost as much to fix the thing as buying an entire new interface would cost, i decided to just keep the preamp as a “lo-fi” input. Sound still comes in, but it’s all shitted out, with low level and jagged, rough transients. I’ll use it as an extra input sometimes, recording in its own dedicated channel a crap version of what another input channel is recording pristine. Then i can add some extra saturation and lo-fi processing and blend it in with the clean pristine layer slightly in parallel for a little dirt presence. Lo-fi analog glory, here we come!


Repurpose Your Own Wonky Stuff

Do you have a MIDI controller with some bad knobs, but which have lights? Or perhaps that output values incorrectly, randomly, or rest at the wrong position? Or maybe a old cheap guitar pedal that produces extra gnarly noise? Perhaps you can repurpose some of that stuff, as well. The only way to know what potential might be lurking undiscovered is to get your mad scientist hat on and experiment with no preconceptions or expectations. You’re likely to find a nifty way to make use of something that you had previously thought of as “broken”.


Dumb Stupid Tip: Faster Right-Clicking

OK, so you know when you right-click on something to open up a context menu?
And then you move the mouse cursor to the item you want, and then you left-click the option you want?

Well, there is a way to do it a tiny bit faster. Maybe you already do it.

I found myself picking up the habit due to right-clicking to change macro colours so often. By saving a tiny little bit of time multiplied by a whole bunch of iterations, one can end up saving a substantial amount of time. Anything that streamlines workflow is useful, right?

So here’s the tip: Right Click and Release


Instead of doing this:
right-click -> move mouse -> left click

Do this:
right-click (hold it down) -> move mouse -> release right-click

Doing this implements the menu option (in Ableton Live at least — not in all programs) with a single mouse click instead of with two mouse clicks, thereby saving you a precious minuscule quantity of milliseconds. For example, if you had to select a hundred boring context menu options, you’d be performing one hundred clicks, instead of two hundred.  Brilliant!

This trick does not work in all programs, but it does in Ableton Live, at least.

So yeah.

NOTE: if following this methodology, make sure that your index finger gets some extra exercise to compensate for its less active role going forward. I recommend angry pointing.

Dry / Wet Anomalies of a few Ableton Live Effects

Often, plugins will cause an effect they don’t tell you about, and you may not realize is occurring.

Knowing exactly what is happening to audio is valuable, because otherwise if we set up chains of effects we may think that we are resulting in a more transparent sound than we really are. Subtle changes to sound can stack up and add to quite audible differences—which if we don’t know the sources of may be difficult to diagnose and address.

Here’s an overview of some of the things some of Ableton Live’s stock effects do to sound passing through them, which you may not realize at first. Some of these quirks many of you will have gotten to know by ear already just by using the effects, in which case seeing the analysis graphs can provide some “aha” moments.

Dynamic Tube: DC Filter & HQ Mode Oddity

Did You Know? Dynamic Tube provides a built-in DC filter, cutting out a bit of the very lowest frequencies. Its contour is pretty much identical to Utility‘s DC Filter.

Did You Also Know? The anti-aliasing filter of Dynamic Tube‘s Hi-Quality mode has imperfect dry/wet summing, so that if you use a partial setting (anything but zero or 100 percent) it implements a sample-rate dependent upper-frequency dip.
When using Dynamic Tube for hefty distortion, it might be better to enable Hi-Quality mode to avoid aliasing. However, for more clean, subtle, or technical usage of Dynamic Tube, leaving it off might provide better results.

Dynamic Tube, 44.1k 100% Wet (HQ OFF).

Dynamic Tube, HQ Mode, 44.1k 100% Wet.

Dynamic Tube, HQ Mode, 44.1k 50% Wet.
Notice the Dip around 12k.

Dynamic Tube, HQ Mode, 44.1k 25% Wet.

Dynamic Tube, HQ Mode, 88.2k 50% Wet.
Notice the high dip is now higher, around 24k.

And for reference, here’s Utility‘s DC Filter.

Note that the three tube models (A, B, & C) all have this same quirk, although model C also has an overall gain boost of approximately 0.2dB compared to A & B.

Secret Trick: Use the dry/wet knob of an instance of Dynamic Tube at its cleanest possible settings (making sure HQ mode is off), to provide a DC Filter that is controllable in intensity (unlike Utility‘s DC Filter). The free PerforModule Sweetie Pies pack has a rack with this functionality…

Erosion: HF Cut

Did You Know? Working at 44.1k, Erosion causes a steep loss of high-frequency, even with its Amount set to zero. However, this is sample-rate dependent, and simply doesn’t exist at higher sample rates. Even going up to 48k, it disappears and you get a flat curve. Strange!

Erosion at 44.1k, Amount: 0.

Erosion at 48k (or higher), Amount: 0.

Erosion at 22.05k, Amount: 0.
Does anybody even use 22.05k?

Saturator: HQ Mode Filter Thing Again

Saturator appears to implement the exact same “Hi-Quality” anti-aliasing filter that Dynamic Tube does, as it causes the exact same high-frequency softening when using partial dry/wet amounts in HQ mode. So the same advice applies: be aware of the possibility of this, and if you want to make sure that your high frequencies don’t get dampened by automating Saturator‘s Dry/Wet Control, try setting Hi-Quality mode to off.


The Moral of This Story

There are two obvious takeaways here:

• If using either Dynamic Tube or Saturator‘s Dry/Wet control, switch off “high-quality” mode for a more neutral and expected frequency response.

• If using Erosion in 44.1kHz projects, keep in mind that it will roll off the highs, but in projects at higher sample rates, it won’t.


These quirks are not necessarily “runkillers”, but it’s always good to be aware when the frequency spectrum is getting fudged with. Above all else, use your ears.

That’s all.
But not all! There are some more quirky anomalies of other types in some of Live’s other effects (not to mention various VST plugins) which might get covered in a future post.


“Go-To” Macro Arrangements for 16-Knob Racks in Live 11

Macro Placement Consistency.

~`~ Consistency in parameters assigned to racks is useful, for always being able to grab a certain knob for a certain result. For example, on the 8-knob racks of Live 10 and earlier, for dynamics devices like compressors or gates, i tend to place Attack and Release on Macros 5 and 6.

16 Knobs! Yay! …but also, Uh Oh!

~`~ Live 11 now has the ability to allow up to sixteen macros on a rack, which expands our abilities — but also makes things easier to become sporadic and messy by just mapping whatever, wherever. More knobs means more searching text with eyeballs. So therefore it seems helpful if certain controls are always (or almost always) in the same places.

~`~ Until now, my Elemental Mixing Templates have been left unmapped to macros since they contain too many controls. However, now it seems feasible to do so. Thus i’ve planned out a “16-Knob Template Template” for updating them according to (as well as VST Template Racks), which i will outline below. The sequence of knobs are meant to sorta align with the intended signal flow, from beginning to end. The point of the templates is “quick ‘n’ easy, quality results” but it’s always possible to unmap individual parameters i need to fine-tune individually in a project (for example perhaps to decouple a particular EQ frequency band from a “tone” knob).

~`~ Scroll to the bottom to download the blank template for yourself, if desired.
Read on for a breakdown of the rationale behind each macro knob’s existence and positioning.

Continue reading

How to Warp Songs (in 3 Simple Steps)

So what exactly is Warping?
In Ableton Live, you can warp clips, so that they will always play in-tempo along with the grid. For most general composition and mixing tasks, you don’t want to do this, as it degrades audio quality, but for live performance it’s super amazing, since you can basically combine together any audio clips you want like legos. It’s also useful for transitioning between songs in more typical “dual deck” DJ-style setups, wherein the outro of one song can seamlessly blend with the intro of the next one, with a tempo ramp between them happening along the process.

Continue reading

Organizing Your Ableton Browser Like a Boss PART 2: Custom Categories!

You might have already checked out the post about organizing your User & Plugin Presets like a boss using Ableton’s built-in folder architecture.

Well, now we’re ratcheting it up a level to give you ultimate control of your own personalized device organization structure, with the ability to decide exactly what those categories will be.

Modified Audio Effect Categories

If you’re like me, you’re obsessed with systematizing your production tools and resources into a cohesive configuration, making it easy to access what you want when you want it, for maximally optimized workflow when diving into creativity.

While working along with the default categories for years, i was never quite fully satisfied by Ableton’s built-in selection of available choices, so i did some research and testing and determined that it’s not only possible, but actually fairly easy to set up your own custom categories. The trick is to plan things out logistically.

If at this point you have no idea what i’m talking about, please check out the above-linked blog post for background on how Ableton’s category structure works. Then come back here and continue on. The gist is that by including devices in folders of particular names, you can get them to automatically show up in Live’s Core Browser. Normally, we’re relegated to using the default built-in categories that Live comes supplied with. All PerforModule Premium Packs are set up with devices like this, so they install and devices show up in the Core Library for anyone who purchases them. But now, should you want to, you can modify those actual categories. Sweetness.

Virtual Folder Config

The trick to setting up your own categories lies with the VirtualFolders.cfg file.

VirtualFolders.cfg Locations (for Ableton Live 10, similar for Live 9)…

C:\ProgramData\Ableton\Live 10 Suite\Resources\Core Library\Ableton Folder Info

Ableton Live Application (show package contents) > Contents/App-Resources/Core Library\Ableton Folder Info

Always Back Up!

When starting out on this mission, firstly save a copy of the original VirtualFolders.cfg file in a safe place in case you make a mess out of things and need to restore the default state. You can always reinstall Live to do so as well, but that’s not necessary if you back up the file.

In addition, you definitely, absolutely will want to save a backup copy of your own custom-crafted VirtualFolders.cfg in a safe place, because every time Ableton updates Live, it will get overwritten and you’ll need to replace it (just like with Themes aka Skins). Maintaining a backup of your custom configuration is essential in order to continue using it in the future, so do not forget to save a copy of it after you complete it.

Your Custom Configuration

If you open up the VirtualFolders.cfg file in a text editor (such as the recommended Sublime Text 3) and gaze around at it for a while you’ll get an idea for how things work.

Virtual Folders are arranged in Groups. Each Group can include an arbitrary number of Virtual Folders, which will be the names of the folders that show up in Live’s browser. Each Virtual Folder allows two parameters: the Name (a single string of text that will show up as the category title), and the Patterns, a list of text strings which will trigger search results for devices in that category. Neat!

To set up your own system, simply alter the existing entries, and/or add your own new ones. I would recommend starting slowly, perhaps by adding in one new category to one group and testing it out, before planning a major overhaul to the entire scheme. Be extra cautious about deleting existing options, since while doing so won’t affect any devices directly, it may reduce your ability to easily access certain existing patches.

In the image below, see how on the right i’ve added the “Chiptune” Virtual Folder to the Drum categories. Now i can find chiptune-style drum hits easier. Radical.

After you backup both the original and your new configuration, replace the original with the new one, restart Live and check out what happened. Chaos? Euphoria? Now ponder whether you made a wise decision.

PerforModule’s Configuration Strategy

I’ve found Ableton’s default categories for the Sounds group to be mostly adequate, and so i haven’t altered much there. Notably, i’ve removed the “Booms” entry (new with Live 10), which i find useless and annoying to exist as its own folder, since anything i’ve found that could be classified as such could instead fit into a more appropriate category.

Because i was already invested in having sorted thousands of patches into the existing categories, it made sense for me to keep them, but perhaps in your case it might be a good idea to reassess the default categories and use ones instead that make more sense to you. Perhaps you would prefer to have multiple categories of basses available, for example—coordinating your clean, distorted, and wobbly bass patches separately. I might change “Synth Misc” into “Chiptune”, since that’s basically what i use the category for anyways…

Note that the Drums group is for drum hits, not drum racks. (Unfortunately, i’m still not sure of a way to suavely organize drum racks by type, so for those i still use User Library folders.)

The AudioFx group is where i’ve shifted stuff around a bit more.

The “Analysis” category is added, and it is much welcomed.
“Distortion” has keywords added so that degradation effects show up there.
Various effects previously crammed within “Mixing & Mastering” have been granted their own categories…
I’ve added a “Compression & Transients” category to align with the Elemental Mixing Template.
“Gating & NR” category for dynamics-increasing and noise reduction effects.
“Console & Saturation” has been added as a category, since i tend to use those for different purposes than more overt distortions.
“Delay” (previously placed inside “Modulation & Rhythmic”) now has a dedicated category.
“Enhancement” category added for exciters and other special-purpose, hard-to-categorize processors.
“EQ” now has its own category apart from “Filter”.
“Generative” category added for audio effects that generate sound.
“Channel Strip” category added for multi-effect chain plugins.
“Loudenating” category (shoutout to chris from airwindows for that term) added for limiters, maximizers… things whose purpose and result is to make stuff louder.
“Multiband Dynamics” category added, because those beasts are unique and special-purpose enough to have their own demesnes.
“Parameter Control” category because all those MaxForLive gadgets are so damn nifty to have on-hand in an accessible fashion.
“Routing and Playback” for all the odd toys that do strange things with channel routing, signal sending, and et cetera.
“Verb” because why the heck is there not a reverb category to begin with? They used to live in “Space”, which now i can designate only for things to do with stereo panning, perceived positionality, phase, and depth of field.
“Drums” and “Instrument” still exist as effect categories, and are used for instrument-specific plugins (examples: eddie kramer DR, bass professor).

Should you use the same custom categories as me? Probably not. But you can use these examples as thought-food to inspire your own devious system planning that suits your particular preferences.

But Why?

“I can just custom organize stuff however i want in my User Library, and ignore the Core Library. What’s the practical point of this?”

I dunno… i guess if you’re an anal-retentive nerd. It just streamlines stuff and feels like a cleaner, more unified experience. If you can’t see the appeal, then this is not for you. Have fun with your disorganized midden heap of chaotically-organized junk. Just kidding. It’s all love. Well, mostly.


As swagtastic as implementing a custom system in this way feels, it’s still far from perfect. There are various improvements that could certainly be had.

Being able to classify individual Samples, Loops, and Clips might be kinda neat. As mentioned above, drum racks don’t count as a group like the other device types, and that’s kinda dorky.

Being able to access things with a sort of tag-style metadata system might be more elegant than folder trees. I know some DAWs can do this.

What would you add or change?

Nifty Ableton Option: Auto Adjust Macro Mapping Range

-AutoAdjustMacroMappingRange will make it so that when you map a parameter to a macro control, the current value becomes the minimum value of the newly-created mapping (rather than 0).
I prefer enabling this option because it streamlines workflow by helping to map macros faster, saving the step of typing in the minimum value when it is already in place.

With -AutoAdjustMacroMappingRange off, when mapping a parameter to a macro control, it will always result in a range of “min” to “max”, ragardless of the current position.

Say i want to map a parameter to a macro, and i want it to range specifically from 37 to 127.

With -AutoAdjustMacroMappingRange set to off, i would first have to map the parameter, click “map”, and then edit the minimum value to be 37.

However, with -AutoAdjustMacroMappingRange set to on instead, by mapping it, the minimum value will automatically be set to the current value (in this case 37), while the maximum will default to 127.

For cases where the maximum is meant to be 127, this reduces the mapping process to a single quick step, without even needing to open map mode. Other types of mappings might still require turning on map mode to adjust the values, but will still save a step of action if you map it while the current value matches one of the target values.

The unprocessed screengrab below demonstrates various mapping strategies, depending on what you want the minimums and maximums to be.

. . .

NOTE: i believe that a recent update of Live 10 enables AutoAdjustMacroMappingRange by default, whereas in previous versions it was off unless you enabled it manually. Either way, it’s handy to know that you can change it around when desired. Just remember that if you do change it, you’ll have to restart live for the change to take effect (i think).

“How the heck do i implement this?” you might ask. To answer that and for more swag info about Ableton Live’s mysterious Options.txt, Madeleine Bloom’s series on the topic is highly recommended.

Visualizing Bus Compression As… a Bus.

You may have heard many varying descriptions of the difference between track compression and bus compression, usually including vaguely-defined, mysterious terms like “punch” and “glue” which don’t really help us understand anything.

Well, i have a kinda dorky yet effective way to think of the difference between track and bus (aka buss) compression for you.
Continue reading