Have you ever thought of using your computer as a live guitar FX setup? Depending on what you want to do musically, this approach can have tremendous advantages. Not only will it probably be cheaper than a traditional hardware-based setup, it will also be smaller, lighter, and far more customisable. Maybe you want a more compact setup for when you go on tour. Or maybe you want to be able to change the order in which your effects are connected to each other, quickly and without messing around with patch cables. Or you want to store a number of “presets” for different songs, to avoid having to memorise and quickly recall the correct positions for all those hardware knobs. Perhaps you’re even interested in taking your setup beyond guitar-only territory and syncing a virtual drum machine up to your looper, and having a play with some software synthesizers while you’re at it. These more advanced applications will have to await explanation in future blog posts, but following the information in this post, you will easily be able to set your computer up to run a few guitar effects, and set them to be switched on and off with a foot-controller.
The idea of using a computer as a guitar FX processor can certainly be a daunting thought if you haven’t investigated the possibility before, and you’ll likely have some questions like: What software should I use? What hardware do I need? And will it really sound as good?
The question of whether it will sound good is possibly your number one concern. Historically, digital guitar FX have frequently failed to achieve the sound quality of their analog predecessors. Distortions, especially, have often sounded artificial when created digitally. However, the technology has improved significantly in recent years, and while I can’t quite guarantee that you’ll arrive at a computer-based setup which sounds as good as your analog pedals in every way, it is no longer an impracticality to end up with something at least workable, and at best excellent in terms of sound. See the bottom of this post for some specific plugin recommendations.
Many modern guitar FX pedals (particularly loopers, digital delays and pitch shifters) are purely digital anyway – they’re technically a computer, just a very low-spec, stripped-down one, set to perform only one relatively simple function. Your laptop, which you already own, is thousands of times more powerful, so it’s not hard to wonder: “Is there any way that I could just use my laptop in place of all these units that I keep spending $200+ on?” The answer is yes.
Finding a suitable audio interface
Many common audio interfaces are completely unsuitable for processing live guitar sound because their “round-trip latency” (the amount of time it takes for your guitar signal to go into the interface, get processed by your computer, and come back out again) is too high. With the wrong interface, there will be a noticeable delay between you hitting your instrument’s strings and you hearing the resulting sound.
Audio interfaces also vary in terms of the smoothness with which their drivers allow your computer to process audio in low-latency configurations. One audio interface might allow you to run hundreds of plugins simultaneously without problems, while with another you might notice audible crackling while only running a few as your CPU struggles.
Fortunately, the good folks at DAWbench have put a number of modern audio interfaces to the test under a variety of conditions. Their latest tabulated results are viewable here. (It should be noted that these tests were done on Windows, with the interfaces’ Windows drivers. Unfortunately I don’t know of any equivalent collation of data for Mac, but the optimist in me suggests that the results should be similar… hopefully.)
To summarise DAWbench’s findings, assuming that you want a USB-connecting device, and that two channels of input and output are sufficient, the most suitable device is the Avid Mbox 3. It can happily operate at a round-trip latency of 10.476 milliseconds, and will allow you to run more plugins simultaneously than any other USB device in this category, except for the super-pricey RME Babyface.
10.476 milliseconds is certainly the highest you’d want to go in terms of round-trip latency. Any higher, and the delay will begin to become audible. But, 10.476 milliseconds is completely adequate, and is about the best you can do without either spending a fortune on the Babyface, or going for a FireWire (becoming obsolete) or PCI (desktop computer only) interface, or conceding to use less plugins at once than your computer would otherwise be capable of.
Software guitar effects
There are a number of pre-packaged software guitar FX solutions which you can buy, to do everything, all with just one product. The most well-known would be Guitar Rig and Amplitube. Go ahead and give them a try – perhaps they’re sufficient for what you want to achieve. The problem with these packages though is that they lack flexibility. You don’t like the chorus effect in Guitar Rig? Tough.
A far more customisable solution is to hand-pick your individual effects in the form of VST plugins (or AU plugins, but VSTs are far more common). This instantly puts thousands of different effects at your fingertips, as there are vast quantities of VST plugins available online for free or purchase.
VST plugins require a “host” program in order to connect them all together, and to allow your guitar signal to flow into them from your audio interface, and then back out again.
At the original time or writing this article, my program of choice for this purpose was Plogue Bidule, which is very good. I’m adding a mention here that I’ve since switched to Sensomusic Usine, which is far more powerful in terms of programmability, and efficiency on multi-core processors, and has a very usable free version. Anyway, with that noted, let’s get back to the original article on Bidule.
Bidule takes a “modular” approach to audio and MIDI. Whereas more common audio software such as Ableton Live or Reaper has the user organise things primarily within “tracks”, Bidule operates much like a guitarist’s pedal-board – your individual effects are each represented within the program as a small box with inputs and outputs, and you choose how to route the audio between these. This makes Bidule perfect for processing live effects for guitar.
Bidule costs $95 USD. There is a trial version of Bidule available here… sometimes. Curiously, each time Plogue releases a new version of Bidule (a couple of times a year), they make a trial version available which expires three months later. So if you’re reading this within three months of a Bidule release, you can try it out right now. Otherwise, you’ll have to wait until the next release.
There are a few other similar “modular” host programs which you might like to consider too. The well-known ones are Max/MSP, Reaktor, AudioMulch, and Usine. As I noted above, since originally publishing this post, I have now switched to Usine – it’s fantastic. Max/MSP isn’t really suitable because it has very limited support for hosting VST plugins – the very thing we want to do here. I haven’t used Reaktor or AudioMulch.
Playing your guitar through plugin effects in Bidule
So, you’ve got your audio interface plugged in and its drivers installed. You’ve got Bidule installed. You’ve got your guitar plugged into your audio interface’s input, and your audio interface’s output is going to your guitar amp just like the output from your final pedal normally would. Optionally at this stage, you might have a VST effect or two installed on your computer too.
First, let’s check that your audio interface is on the correct latency setting. Every audio interface should have a configuration panel which will allow you to set the latency or “buffer size”. Too high, and you’ll notice an audible delay in your guitar signal. Too low, and your computer will complain, probably by making your audio crackle. “128 samples” is probably the setting you want here, and in my experience is usually the best trade-off between the two extremes.
Next, open Bidule and create a blank project.
We want your Bidule workspace to contain a representation of your audio interface, so that we can receive its input, and then send it back output. Open up the “palette” (button at the top). Go Audio Devices -> Duplex -> ASIO, and then select your audio interface from the resulting list by dragging it onto the grey workspace.
Before we add any effects, let’s check that we’ve got audio correctly passing through the system. Assuming you’ve got your guitar plugged into input 1 on your audio interface, and it is output 1 that’s plugged into your amp, let’s create a virtual “patch cable” within Bidule by dragging from your audio interface’s first input to its first output.
All going to plan, you should now hear your guitar signal coming out of your amp. It’s passing through Bidule without being altered at this stage. Hopefully there’s no audible latency to the signal. If there is, check your audio interface’s latency settings, or consider the possibility that your audio interface might not be suitable for live guitar playing (see the “finding a suitable audio interface” section above).
Next, let’s try adding an effect in Bidule. If you have any VST effects installed and Bidule knows where they are (Edit -> Preferences -> VST -> VST Plugins path), then great – they’ll be available in the palette, under “VST”. If not, you can try one of Bidule’s built-in effects, such as the flanger available under “Effects” in the palette. Modify your patching arrangement now, so that your effect sits between your audio interface’s input and output in Bidule.
Hopefully you can now hear the effect being applied to your guitar signal. Well done – your computer is now a guitar FX processor.
Foot-switching your effects
Having your computer successfully processing guitar FX for you is great, but if you’re used to using pedals, you’ll probably want a way to switch them on and off with your feet. This is normally done using a “MIDI foot-controller” – a foot-switch device which plugs into your computer via USB. Such a device will communicate with your audio software (Bidule) via MIDI messages.
The most popular MIDI foot-controller is probably the Behringer FCB1010. It’s very fully-featured, as you can see above – 10 switches and even two expression pedals (yes, you can make use of them too with VST effects hosted in Bidule). If you want something cheaper, and perhaps don’t require so many switches, try searching on eBay for “usb midi foot controller” – there are a bunch of no-brand models which will work fine. It’s also surprisingly easy to build your own using a Teensy microcontroller. (Update: I’ve written about how I built one.)
Assuming that you now have a MIDI foot-controller, go ahead and plug it into your computer. Restart Bidule, and create an instance of your MIDI controller (an “input” instance) on your workspace, like so:
Bidule will allow you to switch an effect on and off with this controller’s MIDI data. Setting this up is a little tricky though, and requires the use of some of Bidule’s “building block” objects to manually create this behaviour by wrangling logic. So, I’ve done most of the work for you: one of Bidule’s great features is that it allows you to create and save “groups”, whose inner workings can be taken for granted. Download this one, and drag the file onto your Bidule workspace. Then patch your MIDI controller’s output (in the sense that it’s outputting data into Bidule) to my group (the MIDI-controlled bypass switcher)’s input.
Next, double-click on the MIDI-controlled bypass switcher to bring up its parameters. Enter the “note number” of the particular switch that you want to use on your foot-controller. (Check its instructions or experiment; hopefully note “0” will correspond to one of your switches.)
And finally, link the MIDI-controlled bypass switcher to the effect you wish to control – open the “parameters” window (button at top), and link the MIDI-controlled bypass switcher‘s “Mode controller” to your effect’s “Mode” by selecting both parameters (switcher on the left; effect on the right) and clicking “link”.
If you selected the correct “note number” for your foot-switch, pressing it should now toggle your effect between being bypassed and not, just like a conventional hardware guitar pedal. You’re good to go – your computer is now a foot-switchable guitar FX processor.
We’ve only just scratched the surface of what’s possible in Bidule though. If you get the urge, ctrl+doubleclick on my MIDI-controlled bypass switcher group to see the logic going on inside it (it also contains another group which you can also ctrl+doubleclick into). These groups’ behaviour is constructed from a number of low-level “building blocks”, which can be used to create almost any kind of behaviour you could describe in words. Maybe you want to use “forward” and “back” foot-switches to cycle you through a number presets, like on a hardware multi-FX unit. Or you want to make use of other inputs like knobs or an expression pedal. Not to mention the possibilities for manipulating MIDI data if you want to get into using software synthesizers. Bidule can be set up to do it all, and I strongly encourage you to get experimenting.
Since delving into the world of computer-based guitar effects, I’ve trialed a range of plugins, often with the aim of creating similar sounds to the analog, hardware setup that I used previously. Here are some recommendations.
Delay: SoundToys EchoBoy is the best I’ve found. It can do analog-sounding delays beautifully, and has a lot of options.
Distortion / amp simulation: Ohmforce Ohmicide is the only distortion plugin I’ve found which produces a reasonably-believable tube-like distortion, for use if you’re using a traditional guitar amp for your amplification. However, another option is to ditch your guitar amp entirely and delve into the world of guitar amp simulation. The idea here is to use software to mimic the characteristics of a tube amp and speaker cabinet, so you don’t need a real guitar amp (you’d instead run your audio interface’s output through monitor / PA speakers). One product completely blows the others away in this department – Scuffham S-Gear. Other common ones are Guitar Rig, Amplitube, and Vintage Amp Room. None of them come close. S-Gear’s simulated tube amps give better-sounding distortion than Ohmicide, too. Give it a try – S-Gear has a free 14-day trial. And it can be further improved if you opt to replace its basic speaker-simulation section with some “impulse responses” from RedWirez, which you’ll need to use with a convolution plugin like SIR2.
Looping: Mobius, by Circular Labs, is an advanced looping plugin – so advanced that it even has its own programming language if you want to customise it beyond its basic settings. Functions can be assigned to MIDI foot-switches, making it easily functional and powerful enough to replace a traditional loop pedal.
Pitch shifting / whammy effects: Ckpitchshifter (scroll down the page) is the best real-time pitch shifter plugin I’ve found. I wasn’t able to find many other options in this department – recommendations anyone?