:::: MENU ::::
Posts tagged with: ardour

Achieve reverse reverb (echo) effect with GNU/Linux audio plugins

Objective: achieve a reverse reverb effect using only MIDI and Free Software audio plugins. What we’re aiming for is the same piano effect that’s used on “Planisphere” by Justice (one of my favourite tracks).

Approach: I’ll use Qtractor Digital Audio Workstation (DAW), with a piano MIDI instrument, and the Impulse Response (IR) LV2 plugin. You could use any other DAW that supports LV2 plugins, e.g. Ardour.

Method:

  1. Make sure you’re using a GNU/Linux distribution that is configured to run with a real-time kernel, and has the JACK audio server set up and working.
  2. Open Qtractor, and create a new track, and set it up as your favourite MIDI piano instrument. In my case I used Calf Fluidsynth (available in many distribution repositories as part of the calf-plugins pack), loaded with a grand piano soundfont.
  3. Create a new clip and edit it with the “piano roll” (MIDI) editor to add some notes. Play the clip and make sure you can hear the sound. Here’s the clip that I used.
  4. Audio: piano-clip-no-reverb

  5. Make sure you have the IR.LV2 plugin installed. This will handle the work of applying the reverse reverb effect. If it isn’t in your distribution’s software repositories, it can be easily compiled. Just download the source code, extract it, cd into its directory and run make, then make install. You’ll also need to install zita-convolver before compiling.
  6. IR.LV2 Plugin configured for reverse reverb

  7. In Qtractor, add IR as a secondary plugin to your piano instrument. IR should appear listed below the existing instrument plugin in the mixer window with a green light next to it showing that it’s enabled. If the IR plugin gui hasn’t appeared automatically, open it by double clicking on the IR plugin listed under the piano MIDI instrument in the mixer window.
  8. To make IR apply a reverb effect, we need an impulse response file to tell it what reverb pattern to use. I recommend the True M7 Impulse Pack, which contains a variety of high-quality WAV samples. Once downloaded and extracted, load a sample into IR by clicking “Open File” on the GUI. I’m using a room sample called “Blue Room L”. Here’s how my clip sounds with reverb applied.
  9. Audio: piano-clip-reverb

  10. By this stage, a reverb effect should have been applied to your piano, and if you play it you should hear the difference. To get reverse reverb, we have to do some configuration however. Try setting the following:

    Predelay = 0
    Attack, Envelope, Length, Strech = 100%
    Stereo In = 150%
    Reverse = on (toggled)
    Dry = Mute
    Wet = -6dB

    You can save this preset by clicking “Add” under “Bookmarks”. Choose somewhere sensible for the file and give it a name.By this stage you should see that the wave form in the graph preview window has changed, and that it illustrates a build up in volume representing the reverse reverb. Play your clip again – you should hear the desired effect!
  11. See how clips in both tracks are offset by two beats


  12. You’ve now achieved the desired sound effect, but one problem remains – there’s now an audio delay between then the MIDI note should be played according to the tract, and when you hear the sound through speakers. This will obviously cause havok with the timing of your track and the other instruments that don’t have any delay in playback. There may be a more elegant solution to this problem, but here’s a workaround that works for me. Simply shift your piano clip(s) two beats (half a bar) earlier (to the left). With the IR settings above, this should correctly compensate for the delay. Now if you add other tracks, they should sound syncronised with your reverse reverbed track.
  13. That’s it, good luck!

Use sfArk SoundFont instruments on GNU / Linux

SoundFont is a technology for generating sample-based instrument sounds. It’s supported on GNU/Linux by a variety of apps, including Qsynth, which can be used as an external JACK instrument and connected to Digital Audio Workstations like Ardour 3 and Qtractor.

Many SoundFont instruments are freely available, but some of them are compressed and instead of of the .sf2 file extension, are .sfArk files. sfArk is a custom compression system, but fortunately these too can be used on GNU / Linux. Here’s how.

  1. Install the dependencies (this command is for Debian / Ubuntu based systems):
    sudo apt-get install git zlibc
  2. Clone the sfArkLib repository:
    cd ~
    git clone https://github.com/raboof/sfArkLib.github
    cd sfArklib
  3. Compile and install sfArkLib by following the github instructions
  4. Clone the repository of the sfArkXTm command line utility:
    git clone https://github.com/raboof/sfArkXTm
  5. Compile sfArkXTm:
    cd sfArkXTm
    make

    Note: the sfArk command line utility for extracting sfArk files is only installed in directory that you compiled it in. Unless you move the binary to a system directory, or create a synlink to it, you will always have to specify the path to the binary when you use the utility.
  6. Convert your .sfArk file to a standard .sf2 file:
    cd /path/to/your/.sfArk-file
    ~/sfArkXTm/sfArkXTm yourSfarkFilename.sfArk yourSfarkFilename.sf2

That’s it. Good luck!


Install Ardour 3.1 on Fedora

Ardour 3 is the most powerful Free Software music software currently available. Although Fedora isn’t a GNU/Linux distribution that’s designed for audio professionals, with a little work it can be configured to process sound with low-latency (without 20+ millisecond delays or artefacts like pops and crackles), and get easy access to repositories with many recent pro-audio apps.

We’ll compile Ardour from its source code in this tutorial, because this will get us the very latest version (with features and bug fixes missing from older copies), and because Ardour recently switched to a payment-oriented package distribution model which promotes source compilation as the installation method for people who aren’t Ardour donors.

We’ll also set up the CCRMA package repositories, which contain many audio apps not found in the default Fedora repos, and most importantly will supply us with a real time kernel (which Ardour, and low-latency operation in general, requires). The CCRMA repos are provided by the Stanford Center for Computer Research in Music and Acoustics.

These instructions are designed to work with Fedora 18 and Ardour 3.1.1, though I expect they will work as well with later versions of both. If not, let me know and I’ll try and tweak the guide.

  1. Install package dependencies required by Ardour:
    yum install git jack-audio-connection-kit-devel libsndfile-devel liblo-devel aubio-devel cppunit-devel cwiid-devel liblrdf-devel libsamplerate-devel lv2-devel serd-devel sord-devel sratom-devel lilv-devel flac-devel gtkmm-2.4-devel gtkmm24-devel libgnomecanvas-devel libgnomecanvasmm26-devel suil-devel libcurl libcurl-devel uuid uuid-devel libuuid libuuid-devel lib fftw3 fftw3-devel liboggz liboggz-devel
  2. Setup the CCRMA repositories (more detailed info in the Fedora manual):
    su -c 'rpm -Uvh http://ccrma.stanford.edu/planetccrma/mirror/fedora/linux/
    planetccrma/13/i386/planetccrma-repo-1.1-2.fc13.ccrma.noarch.rpm
  3. Update existing packages and refresh what’s available:
    yum update
  4. Install real-time (low-latency) kernel and drivers from CCRMA:
    yum install planetccrma-core
  5. Reboot your machine to use your new real-time kernel.
  6. Download Ardour via  Git and compile it by following the simple official instructions (see “Building Ardour 3.x”). I recommend not installing Ardour unless you really need to (installing is the final step in the official instructions that simply creates links within Fedora’s menus etc. and isn’t required for compiling / running / using Ardour).
  7. Start the jack sound server by running qjackctl (either from system menu or CLI), and click on “start”.
  8. Run your newly compiled Ardour (execute this from within the directory you compiled Ardour in):
    cd gtk2_ardour
    ./ardev

Those are all the necessary steps and you should now have a fully functional copy of Ardour! I recommend installing some additional LV2 plugins however to extend the built-in MIDI instruments that are available within Ardour.

  1. (Optional) Install additional synthesisers for Ardour:

sudo yum install lv2-triceratops lv2-synthv1 lv2-calf-plugins lv2-calf-plugins lv2-mdaEPiano

Those synths should appear automatically as available MIDI instruments when you restart Ardour.

I hope that running Ardour in the way I’ve described will whet your appetite to dive more deeply into audio production on GNU/Linux. If so, I recommend using a dedicated GNU/Linux distribution for audio work, because it’ll provide you with many more tools and features, and save you having to manually configure them all yourself. For now KXStudio is my clear favourite.

Good luck, and let me know how you get on in the comments 🙂