Automated Compensation of time delay differences
Typical mounting of woofers and tweeters in a loudspeaker with a vertical baffle places the tweeter closer to the audience than the woofer. That placement means that the high frequencies reach the listener before the low frequencies. When using digital crossovers, it is possible to delay the signal to each driver by precisely different amounts, so that the listener hears the sound from the woofer and the tweeter at the same time. By compensating for the difference in transit time, the loudspeaker can be time aligned to within one digital sample, and produce a very good step response.
The smallest unit by which the digital music signal can be delayed in the time domain is one sample. At a sample rate of 44.1 kHz (CD quality) sound travels of 3.89 mm between consecutive samples. Each driver can be virtually moved backward or forward in units of samples (3.89mm at 44.1kHz).
There are several ways to find out how many samples each driver needs to be shifted from each other. One can, for example delay the woofer by a (much too large) 1000 samples. After a Logsweep delayed peaks are visible in the impulse response. However, since the peak of bass drivers are very gradual and hard to see, the following process allows Acourate to find the peaks automatically and provide each driver with the necessary time offset.
- Record pulse using Logsweep and your digital crossovers (XO files)
- Run Room Macros 1-3 (the target curve will have no effect in this procedure)
- Replace Pulse48Linv.dbl und Pulse48Rinv.dbl in your working directory with a filter that has a single sample set to 1 at its center position(see below for instructions on how to create)
- Run Room Macros 4 & 5 using pre-ringing compensation as necessary
- Delete your original XO files
- Rename the just-created COR files as XO files. These are your time-aligned XO files.
- Create a multi-way wav file and load into the Logsweep recorder to complete the final step of room correction.
To apply the method requires two identical files. These are first created and saved anywhere you can remember but not in your working directory, as they will get overwritten!
0.1 Using Generate> test signal and the settings shown above creates a perfect impulse response.
0.2 Save this test signal twice - as Pulse48Linv.dbl and as Pulse48Rinv.dbl, anywhere but in your working directory. In the working directory they would be overwritten.
First, download the two pulses from a Logsweep in curve 1 + 2, (which was recorded with your non-time-aligned XO files)
1. Run Room Macro 1
2. Run Room Macro 2 and save target. The actual target shape does not matter here at all as we will not correct frequency response at this step.
3. Run Room Macro 3 so pulse inverses are created
4. Now click Clear All Curves…
5. … And click “Yes” 5 times to delete all curves from view
6. Now copy the Pulse48Linv.dbl and Pulse 48Rinv.dbl files you created in steps 0.1 and 0.2 into the working directory, overwriting the files created by Room Macro 3.
7. Run Room Macro 4 and start with high values for the Exessphase window. (This is just about the time accuracy of the XO's to be generated by Acourate. Therefore, only the sample rate of the XO's should be checked for “filter samplerate” and don't use “Subsonic”.)
8. Run Room Macro 5 and press “enter”.
9. Switch to the phase window and see how many peaks can be seen. Now repeat steps 7 + 8 and increase the values in step 7 Macro 4 for Exessphase window by about +2 until…
10. … 1-2 peaks per channel are visible in the phase window. Then repeat steps 7 + 8 and the values in step 7 Macro 4 for pre-ringing Compensation. Set to the number of peaks per left and right channels.
12. Now change to the time window, and look at the curve before the step: pre-ringing should not be visible, otherwise the values in step 7 Macro 4 for Exessphase window should be reduced.
13. The existing XO files in the working directory should be deleted. It is probably a good idea to back them up elsewhere first.
14.The newly created Cor*.dbl files created by Room Macro 4 should be renamed XO*.dbl, which all have the appropriate time offset.
Select the now time-corrected XO files as the last step with File> Save multiway filter WAV and load this WAV file in the Logsweep recorder in order to record a logsweep to generate the final room correction Cor*.dbl files.
Instructions to set time offset manually can be found at TD Functions> rotation.