Site Under Construction

South African Virtual Pipe Organ Project

Home
Technology
LinuxSampler on Puppy
Miditzer with LinuxSampler
Fantasia with Miditzer
Mapping with MIDI-OX
Specifications
Listen
Videos>
Contact Us
Organ Sample Sets
VPO Links

Jconv - Convolution Reverb for Jack

Installing Jconv

Puppy Linux
  1. Download puppy-jconv.zip from http://www.puppylinux.ca/members/DAW/puppy-jconv.zip.
  2. Decompress the zip file.
  3. Click on puppy-jconv.pet.
  4. Click on Install Package.
  5. Click OK or close the Success screen by clicking on the X on the upper right corner.
  6. Two directories have now been created within the /root folder: ir-conf and ir-wavs. These contain the configuration files and the impulse response recordings.
Ubuntu Studio (and other Debian based systems)
  1. Download ubuntu-jconv.zip from http://www.puppylinux.ca/members/DAW/ubuntu-jconv.zip.
  2. Decompress the zip file.
  3. Double click on libzita-convolver0_0.1.0-0.pm.1_i386.deb to install the convolution library.
  4. If any dependancy issues are reported resolve them by installing the required packages.
  5. Double click on jconv_0.2.0-0.pm.2_i386.deb to install the jconv binaries.
  6. If any dependancy issues are reported resolve them by installing the required packages.
  7. Some standard sample impulse response recordings and configuration files can now be found in /usr/share/jconv.
  8. Save the /ir-conf and /ir-wavs subdirectories to your user area (these contain the sample configuration files and impulse response recordings that I have used so far).
  9. Open the .conf files located in /ir-conf within the text editor and change the path location of the /ir-wavs directory to match your system (i.e. change '/cd /root/ir-wavs' to '/cd /home/user/ir-wavs'). See the next section for more information.

Configuration Files

Jconv uses configuration files to gather all the information needed to perform the convolution reverb magic. A .conf file will contain information about how many audio channels are involved as inputs and outputs, what impulse response recrodings are used, the location of those recordings, and the gain level, delay level, and offset value for each reverb channel created. See https://bb.linuxsampler.org/viewtopic.php?f=7&t=52 for more details.

The configuration file is fairly simple. Let's use an example from the sample configuration files created for this project. Open the file navigator and go to /ir-conf. Click on chapel16b44k.conf to open it in the text editor.

The first line (remembering that '#' at the beginning of a line comments it out - making it invisible to jconv) will look like this...

     /cd /root/ir-wavs

This changes the directory to the  one containing the impulse repsponses so that we don't have to repeat the whole absolute path further down.

The next line looks like this:

/convolver/new   2   2  512     80000

This informs jconv that we're creating a new convolver with two input and two output channels, the partition is 512 samples (the same as the JACK period for zero latency) and the last number is the maximum amount of memory (RAM) an impulse will use (we will use a default value  that is larger than most of the impulse response files).

The next two lines work together...

/impulse/read    1   1  0.5     0    0       0    1  chapel_16b44k.wav
/impulse/read    2   2  0.5     0    0       0    2  chapel_16b44k.wav

These lines tell jconv to load the impulses into each channel. The values are: input, output, gain, delay, offset, length and channel, respectively. So the above simply applies a stereo IR to a pair of channels. Delay and offset can be used to shave of samples to get rid of any direct sound and make the signal completely 'wet'.

I have included sample conf files for three impulse responses - Chapel, Great Hall, and York Minster. These were modified for our purposes from Fons Adriaensen's work (he created jconv). Many thanks Fons! The 16b44k and 24b48k refer to the sample rate of the wave file - 16bit 44.1 kilohertz and 24bit 48kilohertz respectivly. Use the sample rate that best matches your sound configuration.

Other Impulse Response files are freely available on the internet, and some professional quality IR files are also available for purchase.

Get the IR recording of the Lafeyette Theater (donated by E. Hayek) from Kent Allman's site at http://72.29.87.235/filesupload/LafayetteReverb1.zip

Starting Jconv

  1. Open a Terminal/Console window by clicking on console icon.
  2. Type in jconv /root/ir-conf/chapel16b44k.conf at the command line.
  3. Minimize the window in which jconv is running. 

Scripting with Qjackctl to start Jconv

Still to come... automatically starting jconv when starting Qjackctl by using scripting. See https://bb.linuxsampler.org/viewtopic.php?f=2&t=165

Jack Connections

  1. Once jconv is started, click on the connections button in Qjackctl and map the connecitons from LinuxSampler -> jconv -> system

Still to come - Using Persistent connections.