User:Patjo
From DRC
In the summer of 2005 I browsed the web looking for info about room correction. Found the DRC solution by Denis Sbragion which got me very interested as it was comparable to the Tact RCS at a fraction of the cost. It took a couple of monht before trying to accomplish it for myself while reading most the documentation and bying the mic and preamp. I chose to do the correction almost exactly as described in the DRC-manual. There are easier ways to measure the impulse respons, for example using Adobe Audition and aurora plugins or the automated measuring tool, but this method gives good control of every step in the process.
Contents |
Software used:
Glsweep - generates the log sweep file and the inverse sweep file
Sox - conversion between pcm/wav
Lsconv - creates the room impulse by convolving the recorded sweep, reference channel and inverse
Audacity - freeware audio recording software, it can read/write 32bit floating point ormat
DRC - creats the correction filter
Wavelab lite - audio software, used the plugin Voxengo Span to to frequency analysis
Room EQ Wizard - impulse and frequency analysis
Foobar2000 - audio player used to do the convolution
Hardware:
Behringer ECM8000 measurement microphone
Microphone stand with boom arm
Behringer UB802 mixer with mic preamp
Soundcard EMU-0404. Sounds very good, has AKM AK4395 da-converter.
PC with windows XP
Denon PMA-1055 amplifier and B&W CM4 loudspeakers
Room impulse measurement
Because the room correction only is valid in a small area where the measuring is done, the mic have to be placed rather accurate in the sweetspot. The distance from the mic to the left and right loudspeaker have to be the same. In my case it meant probably less than 2cm difference. The drc software is able to correct up to 8 samples time difference between the left/right impulse main peak if the method in chapter 4.5.5 is used. Another way is to check the impulses in the recording software and cut away some samples in the beginning of the files.
I think it is a good idea to use a refence channel loop when measuring the impulse. Any frequency deviation or timing error from the software or soundcard/preamp are thus eliminated. I routed the reference channel from the soundcard through the UB-802 mixer. The channels on the mixer have slightly different frequency responce so I measured them with the Righmark software and used the two most similar channels.
Correction filter creation
The filter creation was completed according to the drc-manual. I have tried the presets minimal/strong/extreme and have not yet decided wich one to use. Nothing have been changed in the preset files besides target curve and mic compensation.
A tips regarding mic compensation; the "#" sign have to be removed in the following lines in the preset file:
# MCOutFile = rmc.pcm # MCOutFileType = F
Then use the rmc.pcm file instead of the rps.pcm. The gain values in the compensation text file are supposed to be the actual frequency response of the mic, not the inverted response.
The output filter files rmc.pcm/rps.pcm are in 32bit floating point format. If converted to wav, keep the 32bit format if possible and use a convolver wich can read them.
Audio player/convolution
At first I used winamp with the realreverb plugin convolver. The disadvantage was it only accepted 16bit impulses. Then tried the winamp vst-wrapper plugin with SIR convolver and finally Foobar wich I think sounds more transparent.
Currently I am using my cd-player as a transport, connected via spdif to the soundcard wich is set to receive the clock signal from the spdif-input. To get Foobar playing from the input, choose playlist-add location and write record://60:00. Some configuration of windows sound mixer and the soundcard software are maybee also necessary.
The Emu-0404 soundcard is able of internal routing of sound between the asio and wave inputs/outputs. I have done some tests and succeded playing music with winamp and then through foobar. It is also possible to play music through an asiohost like Cubase, Console or EnergyXT with a vst convolver plugin like SIR or Voxengo Pristine Space. This means all sound played on the pc can be room corrected.
One issue when trying to room correct the sound from DVD or TV is the latency of the audio processing. The total latency can be divided into three parts; the DRC filter, the convolver and the audio driver. My current filter (minimal setting) has a latency of 13ms. To get a zero latency filter, choose a minimum phase filter in the DRC preset file.
Audio example
Audio example (ogg vorbis format) of my hifi-system uncorrected and drc corrected. For best result, listen in headphones.

