Setting up Digital Room Correction under Microsoft Windows

RoomCorrection.zip contains a number of utilities that aid in setting up and trying digital room Correction filters under Microsoft Windows. I did not write any of these utitlities, but instead just packaged and scripted them in a a manner that is hopefully easy to use. Included in this package are the following applications:

These scripts currently create filters for 44.1 kHz playback only. They will generate correction filters for four different strengths of correction, according to example files that ship with the DRC software. In the future the package will also generate filters for higher sampling rates. While these directions may look long, all you really need to do is edit three lines in one file, set your microphone recording level appropriately, and run two commands and you are done. I've just made the instructions very explicit so that they may be applicable to a wide range of people with various levels of understanding. Please read this entire document before running the scripts.

Hardware Requirements

You need to have the following hardware in order to create filters with these scripts.

Directions

  1. Unzip the RoomCorrection.zip file to the root of whatever drive you generally install your applications to. The drive that contains the Windows folder is generally a good choice, usually the "C:\" drive. It is important that you unzip to the root of a drive, because the scripts assume a specific folder structure starting at the root of the drive. If you unzip to drive C:, you should have a folder structure that looks like:
    C:\RoomCorrection\ConvolverFilters
    C:\RoomCorrection\drc-3.1.0\...
    C:\RoomCorrection\Rec_imp.win32
    C:\RoomCorrection\Directions

    Make sure the folder structure is similar to that shown above for whatever drive you unzip to.

  2. If you do not already have Convolver VST installed on your system, unzip the convolver4-4vc++.zip file, and run Setup.msi to install it on your system.

  3. Open a Command Prompt window ( Start menu -> All Programs -> Accessories -> Command Prompt ).

    In the command prompt window, change directory to the \RoomCorrection\Rec_imp.win32 directory.
    Type the drive letter that you unzipped the software to, followed by a colon. Example: C:
    Then type: cd \RoomCorrection\Rec_imp.win32

  4. Optional step, but please read.

    These scripts assume that you are using a soundcard or audio device that has ASIO drivers. If you don't have a sound card that supports ASIO, or if you don't know what ASIO is, you can still use these scripts but you have to replace one program by typing the following two commands in the command prompt window:
    ren rec_imp.exe rec_impASIO.exe
    ren rec_impDS.exe rec_imp.exe
    Don't type the commands above if you have a soundcard that supports ASIO

  5. In the command prompt window, type: ListSoundCards.bat
    This command will list the ASIO sound card devices that you have installed on your system. You will need to note the device number of the card you want to use because you will need it when editing the RecordSweep.bat file. On my system, the output of the command is as follows:

    rec_imp 1.0.0: generates a log sweep and inverse filter, plays and records it, and then generates an impulse response file.
    Copyright (C) 2002-2004 Denis Sbragion, 2004 Edward Wildgoose

    Compiled with double precision arithmetic.

    This program may be freely redistributed under the terms of the GNU GPL and is provided to you as is, without any warrant of any kind. Please read the file "COPYING" for details.

    Found 3 device(s) ...

    RtApiAsio: error (Hardware input or output is not present or available.) initializing driver (ASIO Lynx).

    Device: #1
    Device Name = ASIO Lynx
    Probe Status = Unsuccessful

    Device: #2
    Device Name = ASIO4ALL v2
    Probe Status = Successful
    Output Channels = 12
    Input Channels = 10
    Duplex Channels = 10
    This is NOT the default device.
    Natively supported data formats:
    32-bit int
    Supported sample rates = 32000 44100 48000 88200 96000 176400 192000

    Device: #3
    Device Name = Prism Orpheus ASIO
    Probe Status = Successful
    Output Channels = 12
    Input Channels = 10
    Duplex Channels = 10
    This is NOT the default device.
    Natively supported data formats:
    32-bit int
    Supported sample rates = 44100 48000 88200 96000 176400 192000


    The audio device that I used was Device Number 3, Prism Orpheus ASIO. The scripts are setup to use Device Number 3, so you will have to edit one file in order to use the your device listed in the output of the ListSoundCards.bat command, as explained in the next step.

  6. In the command prompt window, type: Notepad RecordSweep.bat. The file will open in Notepad. You only need to edit the top three lines of this file. You will need to replace the number 3 at the end of the first three lines with the device number of the sound card that you want to use, which you should jotted down from step 5 above.

    For example, if the sound card you want to use was device number one, replace the three lines reading:

    Set LEFT_PLAY_DEVICE=0:3
    Set RIGHT_PLAY_DEVICE=1:3
    Set RECORD_DEVICE=0:3

    with:

    Set LEFT_PLAY_DEVICE=0:1
    Set RIGHT_PLAY_DEVICE=1:1
    Set RECORD_DEVICE=0:1

    The number you need to change is in bold type above. Basically, the first number in each of the lines above represents the input or output channel, and the second number in each line represents the soundcard device number. The top line above specifies that the left channel sound will be played out of the first available playback channel on the third soundcard device (channels start at zero, not one). The second line specifies that the right channel sound will be played on the second availeble playback channel on the third sound device. The third line specifies that the sounds will be recorded on the first available recording channel on the third soundcard device. As long as you hook your left speaker up to the first playback channel, and your right channel up to the second playback channel, and your microphone up to the first recording channel, this will work. You only need to edit the second number of each line to match your sound card device. Save the file when finished.

    You can play with the values listed above in the Test.bat file. Make sure your stereo's volume is not really loud. When you run test.bat, you should hear a long sine sweep out of first the left channel, then the right channel. When you think you have the device numbers correct, make sure you have edited the RecordSweep.bat file to match.

  7. Set your microphone up at the listening position. You might consider pointing the mic halfway between strait up and strait forward. Make sure the microphone capsule is at ear level.
    Make sure you set your stereo volume to a reasonable level. It shouldn't be too loud that the room vibrates in the bass tones, but it shouldn't be too soft either. You will want your record level on the microphone channel to be at as high a level as possible without going into clipping range. If the program detects a clip in the recording stage, it will stop at point in the sweep where the clip was detected and move onto the next channel. You can wait for the program to end, lower the recording level a bit, and try again until you get all the way through without clipping.

    At the command prompt window, type: RecordSweep.bat
    Keep adjusting the levels as written above until you successfully get both channels played and recorded.

  8. In the command prompt window, type: GenerateFilter.bat
    This will create all the filters based on the recorded sweeps, and place the output in the \RoomCorrection\ConvolverFilters directory.

  9. You are now ready to try the room correction filters. Using a media player that supports VST plugins, load the Convolver VST plugin. In the plugin interface, press the "Filter/Config" button, browse to the \RoomCorrection\ConvolverFilters folder (looking for files of type Config File .txt), and choose one of the following four files:
    ConvolverConfigErbDRC441.txt - A configuration based on psycho-acoustic research into the way we interpret sound
    ConvolverConfigMinimalDRC441.txt - The least amount of correction
    ConvolverConfigSoftDRC441.txt - A little more correction
    ConvolverConfigNormalDRC441.txt - About as much correction as you would ever want to use.

Other Included Scripts