Convolver

Home News Download Usage Command line utilities Feedback Troubleshooting Links

Config examples

 
Web This site

This page sets out some example config files for version 3.0 and above. If you have some further examples, please let me have them for addition here.

Applying mono impulse response files channel by channel

Suppose that you have two 44.1kHz mono impulse response files LeftIR.wav and RightIR.Wav, then

44100 2 2 0
0 0
0 0
C:\Impulses\LeftIR.wav
0
0.0
0.0
C:\Impulses\RightIR.wav
0
1.0
1.0
44.1khz, stereo in and out, no speaker mapping
No delay on any input channel (feature introduced in version 3.1)
No delay on any output channel (feature introduced in version 3.0)

Take the first (and in this case only) channel from Left.wav
Apply Left.wav to the first input channel
... and output the result to first output channel

will apply Left.wav to the first input channel without scaling (0.0) and send the result to the first output channel without scaling (0.0). Similarly for the second (right) channel.

Applying a stereo impulse response file channel by channel

Suppose that you have a single 44.1kHz stereo impulse response file StereoIR.Wav, then

44100 2 2 0
0 0
0 0
C:\Impulses\StereoIR.wav
0
0.0
0.0
C:\Impulses\StereoIR.wav
1
1.0
1.0
44.1khz, stereo in and out, no speaker mapping
No delays


Take the first (left) channel from StereoIR.wav
Apply that channel to the first input channel
... and output the result to first output channel

Take the second (right) channel from StereoIR.wav

will apply StereoIR.wav to the stereo input, channel by channel, and generate the stereo output.  This is equivalent to selecting the Stereo.wav file directly, instead of selecting the config file.

A cross-talk cancellation / head-related transfer function (HRTF) network

Suppose that we have two stereo filters HL.wav and HR.wav with channels HLl and HLr, and  HRl and HRr and we want to generate

Yl = Xl * HLl + Xr * HRl
Yr = Xr * HRr+ Xl * HLr

where X represents the input and Y the output, and * is the convolution operation. This can be accomplished by the following config file:

44100 2 2 0
0 0
0 0
C:\Impulses\HL.wav
0
0.0
0.0
C:\Impulses\HL.wav
1
0.0
1.0
C:\Impulses\HR.wav
0
1.0
0.0
C:\Impulses\HR.wav
1
1.0
1.0
44.1khz, stereo in and out, no speaker mapping



HLl  (0 = 1st/left channel)
Xl
Yl

HLr (1 = 2nd/right channel)

Note that the outputs for each channel are summed, as required.

You may want to try this with David Wareing's stereo dipole files David_Wareing3_Left.wav and David_Wareing3_Right.wav.

This sort of setup can also be used to get "true stereo".  In the first example above, you are using a single stereo with the stereo input meaning that each input channel is processed with a single channel of the impulse response file (which is also what happens when you select a stereo impulse response sound file and apply it to a stereo source). This approach works well with non-panned mono signals. But if you pan the input the output will be also panned, but its reverb structure will remain the same.  This may not sound good, especially when mixing several panned sources. Two stereo reverb impulses routed to two outputs, as in this example, should make things better.  You can also add further filter paths to mix in ambience and overhead microphones, etc.

To make things more complex:

Binaural effect of a 5.1 movie

If you had the stereo impulse response of the "Dolby Headphone - Live" setting of PowerDVD, for example, which you might generate by

  • encoding a frequency sweep to AC3
  • playing back that AC3 via PowerDVD with DolbyHeadphone enabled
  • recording the output
  • deconvolving it

(See DRC for more details.)

You can generate stereo from the 5.1 input with the following config:

48000 6 2 0
0 0 0 0 0 0
0 0
dolby-headphone-ref-48k-LEFT.wav
0
0.5
0.2
dolby-headphone-ref-48k-LEFT.wav
1
0.5
1.2
dolby-headphone-ref-48k-RIGHT.wav
0
1.5
0.2
dolby-headphone-ref-48k-RIGHT.wav
1
1.5
1.2
dolby-headphone-ref-48k-CENTER.wav
0
2.5
0.2
dolby-headphone-ref-48k-CENTER.wav
1
2.5
1.2
dolby-headphone-ref-48k-CENTER.wav
0
3.5
0.2
dolby-headphone-ref-48k-CENTER.wav
1
3.5
1.2
dolby-headphone-ref-48k-SURROUND-LEFT.wav
0
4.5
0.2
dolby-headphone-ref-48k-SURROUND-LEFT.wav
1
4.5
1.2
dolby-headphone-ref-48k-SURROUND-RIGHT.wav
0
5.5
0.2
dolby-headphone-ref-48k-SURROUND-RIGHT.wav
1
5.5
1.2
48kHz, 5.1 in and stereo out, no speaker mapping




scale by .5
scale by .2

In the above the inputs are scaled by 0.5 and the outputs by 0.2.  It would be more efficient not to scale and to apply the attenuation factor, since the scaling is a common factor throughout.

As a further variation, see Peter Fischer's panned binaural demonstration walkthough.

Cross-over

If you had a high-pass filter high.wav and low-pass filter low.wav, then you could send the left channel (0) high frequencies to channel 0 and the low frequencies to channel 2 and the corresponding right channel frequencies to channels 1 and 3 by means of the following config file:

44100 2 4 33
0 0
20 30 0 0
C:\Impulses\high.wav
0
0.0
0.0
C:\Impulses\high.wav
0
1.0
2.0
C:\Impulses\low.wav
0
0.0
1.0
C:\Impulses\low.wav
0
1.0
3.0
44.1khz, stereo in, 4 channels out, Quad speaker mapping
Don't delay input channels
Delay output channels 0 and 1 by 20ms and 30ms respectively

HLl
Xl
Yl
 

 

Home ] Up ]

Send mail to with questions or comments Convolver or about this web site.
Copyright © 2006-8 Convolver
Last modified: 16-Jan-2008 20:24 -0000 SourceForge.net Logo