Monday, 12 December 2011

Re-amping with Guitarix and Ardour

I've been playing about with Guitarix and Rakarrack recently. Both are software effects boxes that can be used to model different amps, cabinets and effects chains. But sometimes you just want to play guitar and worry about fiddling with knobs later, or maybe you've put in a great recording, but wish you hadn't put that echo on. This is where re-amping comes in.
Re-amping amounts to recording the clean guitar sound so you can pass it through the modelling again. For this you will need to be able to record multiple tracks, and make connections between your soundcard, effects software and some kind of recording software; fortunately Jack makes this quite easy.

Installing
You will need to install (in Fedora 16 these are all available from Add/Remove software):
  • QJackCTL (Jack controller and audio patch editor)
  • Ardour (Digitial audio workstation)
  • Guitarix (Amplifier and effects package)
  • pulseaudio-module-jack (Jack support for the PulseAudio sound server)
First set up Jack: start QJackCTL, open the setup menu go to options and add 'pulseaudio -k' to the commands to execute on startup (use a semicolon ';' to separate it from any other commands that are there). You should now be able to start Jack with the 'Start' button. It will cause pulseaudio to restart and connect it up through Jack, so your normal sound wont be affected, but you can now connect everything up through Jack.

Setup and record
What we want to do is record the clean guitar signal (so we can re-process it later) and, as a bonus, the effected signal, which we'll also play back so you can get a feel for what you're playing.
Start by setting up your input (amp or effects box which is feeding into the sound card or USB) to get a clean signal with lots of headroom
  • Start Ardour
We're going to create two recording tracks, one for the dry/clean signal and one for the effected signal.  When you first start Ardour you'll need to give it a project name, say okay to keep all the other default settings for now.
Ardour will start with a master track shown, right click in the grey area beneath it and use the 'Add track/bus' box that pops up to add one mono track in normal mode. Click on the track's name box and change it to 'Dry'. Do this a second time and this time create a stereo track called 'Wet'.
  • Start Guitarix
We aren't going to do anything with it just yet, if you want to learn how to get the sounds you want out of guitarix see their website or the Guitarix wiki, "How to get a tone that rocks" is a good place to start.
  • Start QJackCTL (if you haven't already)
Overview of the tools
We're going to create a patch (two patches eventually) to connect everything up the way we want, this isn't complex, but it is tedious, so we're going to save them so we can recall it later.

Recording patch
In QJackCTL click on the connect button. This will bring up the current connections. It's likely things have automatically joined themselves up, so use the 'disconnect all' button to start from a blank slate. You might want to drag the 'pulseaudio out' onto the 'system in' socket so normal applications can still play sound.
Open the Patchbay with the Patchbay button. Unlike the 'connect' window, which updates connections in realtime, the patchbay doesn't take effect until you activate a patch. Set up your recording patch like this:
  1. Click the 'Add' button beside Output Sockets/Plugs. Give the first plug the name 'system', choose the 'system' client, 'capture_1' plug and click okay. (We only want to capture mono signal for the input).
  2. Repeat this for the gx_head_amp client 'out_0' plug (call this one 'amp').
  3. Add a third socket for the gx_head_fx client, call this one 'fx'. This time you want to add both 'out_0' and 'out_1' plugs.
  4. Now switch to the add button beside 'Input Sockets/Plugs' add the following:
  5. Client 'system' plugs 'playback_1' and 'playback_2' as 'system'.
  6. Client gx_head_amp, plug 'in_0' as 'amp'.
  7. Client gx_head_fx, plug 'in_0' as 'fx'.
  8. Client ardour, plug 'Dry/in 1' as ardour-dry.
  9. Client ardour, plug 'Wet/in 1' and 'Wet/in 2' as ardour-wet, note the 'wet' socket is going to be stereo and the 'dry' one mono.
  10. Join the sockets/plugs up, you can do this by dragging the plug names from output sockets/plugs to their targets in input sockets/plugs:
  11. System (capture) goes to amp (in)
  12. System (capture) to ardour-dry (in)
  13. Amp (out) goes to fx (in)
  14. Fx (out) goes to system (playback)
  15. Fx (out) goes to ardour-wet (in)
  16. Save click save and give this patch a name like patch-guitarixrecord, because we don't want to do all that twice.
  17. Activate click 'Activate' and the patch will go live.
Completed patchbay
Now that's done you don't have to go through it again. As long as you use the 'Dry' and 'Wet' names in ardour this patch can just be loaded up next time.
At this point if your amp and guitar are plugged in and connected to the computer you should be able to play and hear it through guitarix. If you want to hear the clean sound go to guitarix and press B to bypass the engine (because you don't want to fiddle around with this patch again). Press B again to turn bypass off.

Recording
Now you're ready to record in Ardour.
  1. Click the recording icon (red circle) next to the 'Wet' and the 'Dry' track titles to enable recording for both tracks.
  2. Click the record button next to the play controls at the top to get ready to record.
  3. Hit the play button to actually start recording.
  4. Play your guitar (I can't help with this bit as will be apparent later) you should see the ardour level meters responding.
  5. Hit the stop button when you're done.

Play back
This is where the fun begins. Start by unchecking the record box for your dry track (it's perfect, right?). You can listen to the dry or wet tracks, to connect them up you could use the QJackCTL connect dialogue, but it's easier to use the Ardour mixer (Window menu, 'show mixer'). This will show the wet and dry tracks as vertical panels, at the very bottom of both there is a 'comments' button, and above it there is a button which probably shows '-' or '1/2'. Click on the one you want to listen to and select 'out 1+2'. Use the play controls in Ardour to listen to it, when you want to stop listening click on that button and and select 'disconnect'.

Re-amping
Finally, you've decided your playing is great, but adding a maxed out phaser wasn't such a great idea, or maybe you forgot to turn off bypass in guitarix. What do you do?
  1. Tear down all the connections (you've saved the patch bay, right?). Deactivate the patch in the patchbay by clicking on the 'activate' button so it's not depressed anymore, then open 'connect' in QJackCTL and click on 'disconnect all'.
  2. Make sure recording is disabled on the dry track in Ardour. Also the original wet track, you might have second thoughts after all. It might be a good idea to export the dry track, in Ardour you can select the whole dry track then use Session|Export|Export selected regions to audio file.
  3. Create a new stereo track. Call it Remix, or Wet2, or even give it a useful name.
  4. Join up the amplifier again. Since this is much simpler than before just do it through Connect rather than Patchbay (also, we might change track names):
  5. Drag Ardour dry (out) to gx_head_amp (in)
  6. gx_head_amp (out) to gx_head_fx (in)
  7. gx_head_fx (out) to Ardour Remix (in)
  8. gx_head_fx (out) to system (in) - if you want to hear what's going on.
  9. Adjust Guitarix to your new settings. E.g. you think the track might sound better with a British 12ax7 tube amp and AC-30 cabinet model than an American 6v6 through a 4x12. Better put on some reverb too...
  10. In Ardour tick the record button for 'Remix', make sure it's unticked for Dry and Wet.
  11. Press play. You'll see Ardour progress through the track and lay down the new signal. You're done!
Ardour re-recording our track

Connections for re-amping
Of course you could leave out recording the 'Remix' track while you play back and tweak the Guitarix settings.
Here's an example, first the dry recording then an attempt at two different gain tones.

Useful links:
Linux Journal on Guitarix - Guitarix has moved on quite a bit in the two years since, but this is a nice overview.
Rakarrack is another Linux effects box and can do exactly the same thing.
Guitarix wiki for hints on getting your sound, see "How to get a tone that rocks" for a quick intro.
Ardour because I haven't been using it long and I'm sure there are improvements you could make to this workflow.

3 comments:

  1. Thank you for this post! I figured out a lot of this through trial and error, but some of your methods different approaches than what in would have taken or thought of. That's good though! Great work!

    ReplyDelete
  2. Thanks. There are different things you can do of course, but thought I'd do a simple write up one that works without complicating it too much.

    ReplyDelete
  3. Thanks a lot for this! It's just exactly what I was looking for :), I had no idea how to record in Ardour after stablishing my guitar tone in Guitarix, this saved the day for me, thanks a lot!

    ReplyDelete