Home Theater Forum and Systems banner

Using convolver universally in HTPC

55437 Views 142 Replies 28 Participants Last post by  adolfotregosa
G
I've been reading the forums for a while now, but I can't find an exact answer here or anywhere else. I'm trying to setup my HTPC to do software room correction for anything that comes out of the soundcard. This thread is the closest thing to an answer I've found:

http://www.hometheatershack.com/forums/rew-forum/3589-rew-w-software-eq.html


Is anybody successfully doing this? I'm still working on assigning filters for my sub's impulse response. However, I won't know if I did it right unless I find a way to measure the corrected response.

Here's my plan:
1. Choose 'Virtual Audio Cable'- VAC (shareware) as the output for REW.
2. Use ConvolverVST (free) in VSTHost (also free). I should be able to select VAC as the input and my soundcard (SB Audigy 4Pro) as the output.
3. Verify my REW filters and tweak as necessary.
4. Once I'm satisfied with the room correction, I'd set all of my applications and Windows to output to VAC--> ConvolverVST in VSTHost--> Soundcard.

You'd think someone has already done something like this. It seems like the most eloquent solution, since:
  • it's possible to apply filters to the full frequency range
  • I'd be able to use room correction for streaming audio, DVD-A :bigsmile:, etc. instead of just Zoomplayer and JRMC.
  • It would be cheaper than a hardware solution and could be used in a car pc setup as well

Can anyone help?
41 - 60 of 143 Posts
...
1. For surround sound (5.1) room correction, for drc, do we generate the correction filters one channel after another (L, R, C, Ls, Rs) and include the sub in the measurement and correction process (a total of 5 room response correction filters)...!
Yes, but the filters are 6: L, R, C, Ls, Rs and LFE.
...
2. In the console snapshot, what is the purpose of the Equalizer after the correction filter convolution
...
To Give some additional flexibility, however this is not very useful and currently I'm just using the convolution, without any additional equalization.
...
3. If I need to convert two channel stereo to pro-logic II or dts neo:6, how do I add crossover filters into the chain if I want to completely bypass the a/v receiver and direct drive the amplifier from the soundcard? Also, is this advisable?...
I'm not sure this is possible.
...
4. I would like to buy the audiotrak 7.1 prodidy card, but I have read that these have very low level (0.5-0.6volts) soundcard output signals on the analog outs. Will it be a problem if I need to drive the sound through 12feet of co-ax cables to the amplifier?...
Cannot tell, I am using short cables. Other options, of much higher quality and price, are RME sound cards. RME drivers allow loopback routing of audio streams.
thanks for the superquick response!

Yes, but the filters are 6: L, R, C, Ls, Rs and LFE.
So, I am guessing that in the bass management, all the LFE frequencies are summed to the final LFE output. Also, how do i make sure the levels of the L,R,C,Ls and Rs for the room correction convolution with the sub included is the same? Is it done by calibrating each channel one by one during measurement with the sub connected for each channel?

To Give some additional flexibility, however this is not very useful and currently I'm just using the convolution, without any additional equalization.
Sorry for another question...How did you estimate the audio delay in the voxengo audio delay vst?

I'm not sure this is possible.
I was seeing that in the cyberlink powerdvd, they have the option to do dolby/dts psuedo surround. I guess if it can software encode this, then with directwire, it should be possible to do the console based correction chain...

Cannot tell, I am using short cables. Other options, of much higher quality and price, are RME sound cards. RME drivers allow loopback routing of audio streams.
OK. I guess I will try my luck since my PC is a little farther away from the amp

Appreciate your answers to all these questions and some more as I move along...:)
See less See more
...in the bass management, all the LFE frequencies are summed to the final LFE output....
Correct.
...how do i make sure the levels of the L,R,C,Ls and Rs for the room correction convolution with the sub included is the same? Is it done by calibrating each channel one by one during measurement with the sub connected for each channel?...
Yes, first you should set the volume of the sub at a reasonable level compared to the other channels. You don't need to be precise because DRC will equalize the level anyway. Once all the filters are created you will need to balance the volume of the 6 channels again.

...How did you estimate the audio delay in the voxengo audio delay vst?...
(distance of the farthest speaker - distance of each single speaker)/speed of sound

...I was seeing that in the cyberlink powerdvd, they have the option to do dolby/dts psuedo surround. I guess if it can software encode this, then with directwire, it should be possible to do the console based correction chain...
If you use a sw player to apply pro-logic II or dts neo, then there is no problem. In theory you might apply the same effects with appropriate vst plug-ins, but I don't know if it's worthwhile.
antani, thanks for your answers and help...i just need to decide on the soundcard now.
Thanks to this thread (and antani), I was able to get 5.1 channel audio working in this fashion using my onboard sound card. In case anybody else is trying to do this method of room correction without buying the prodigy/ESI sound card, here is what I did:

1. Install Virtual Audio Cable (VAC) which allows you to route from any software player (at least the ones I tried) to another device similar to the directwire driver in the ESI/Prodigy sound card lines
2. Install ASIO4ALL (Free)
3. Install Console
4. In console, choose ASIO4ALL as the audio device
5. In the ASIO4ALL configuration, choose appropriate sample rate, disable all inputs and outputs other than VAC as the input and RealTek HD audio output (in my case)
6. Set ASIO4ALL buffer size to max (2048 samples) and zero the input and output latency compensation. Also make the kernel buffer size to max (4)
8. Open VAC control panel and setup one VAC cable with 6 channels (for 5.1 setup)
9. On the motherboard soundcard driver, enable 5.1 playback
10. Using Media Player Classic or other players capable of doing DTS/Dolby decoding or virtual sorround decoding, play the media file and choose VAC cable 1 (setup above) as the output
11. In console route the 6 channel VAC input device to a bass manager as in antani's posts above and connect the output of the bass management VST (Kelly Industries) to the 5.1 output device
12. Enjoy (I also configured the receiver to 6 channel direct mode to pass the 6 channel audio through to the amplifier)

I was able to make this work with any software player that can decode to 5.1 channels (Media Player Classic, VLC, TheaterTek DVD, etc). Latency is not too bad for audio playback.

Next step is to get the room equalized in drc...
See less See more
Hi all,

thanks to that wonderful thread and the information mostly provided by Antani, i succeeded in using VST plugins with my Prodigy card on my HTPC system. Once thing bothers me however : i have been able to create filters with REW and then use them with pristine space but i have never been able to export a measurement with REW and then treat it with DRC. It seems that DRC expects a file format that is different from the wav files generated by REW and i experiment failures during the first phases of the file treatment . Could somebody point me to a procedure that would explain how REW can be used along with DRC ?

Thanks & Regards,

Al
In REW you should select Export -> Impulse Response as wav and choose mono 32 bit.

In order to process the file with DRC, you need to convert the wav file to pcm 32 bit floating point.

You can do it with SOX or with Audacity.

With sox you should use this command:

sox.exe impulseresponse.wav -t raw -c 1 -f -4 impulseresponse.pcm

Then feed impulseresponse.pcm to DRC.

In the meantime I changed my Audiotrack with a EMU 1616M, a really nice piece of hardware, with superb performance and simple to configure with Console :T.
See less See more
Hi,

thanks to the explanation, i now have .pcm files processed and generated by DRC. I have a few more questions about that :

- in order to use Pristine space, you need to convert the pcm files back to wav files. I tried that with sox again and wanted to see how they looked like in REW but i only succeeded in producing 16 bits files (-2 option) that are compatible with REW (although they might be compatible with Pristine Space, i don't know). What is the process you use to generate your wave files back ?

- i saw that you applied a house curve to your FR. Did you produce that with DRC or did you apply a house curve filter to the DRC filter using REW ?

- i also noticed that you use the +512 option under Pristine Space. Why do you need it (ringing ?) and do you just need to validate that option or is it necessary to move some cursor in the GUI ?

Grazie Mille ;-)

Al.
See less See more
...What is the process you use to generate your wave files back ?...
I use sox to create a wav file 32 bit floating point. You can't import it back in REW, I don't know why, but it's perfectly fine for Pristine Space. If you want to see the shape of filter in the frequency domain you can use Audacity.

...
- i saw that you applied a house curve to your FR. Did you produce that with DRC or did you apply a house curve filter to the DRC filter using REW ?...
I set the target curve in DRC. However, with the latest release of DRC (3.0.1), I use a flat target curve corrected with the psychoacoustic target.

...
- i also noticed that you use the +512 option under Pristine Space. Why do you need it (ringing ?) and do you just need to validate that option or is it necessary to move some cursor in the GUI ?...
In this way I can switch between dry and wet audio streams without any gap in the reproduction. It's relevant only for testing and to show to friends the effect of the equalization.
Even without the +512 option Pristine Space adds the latency required by the mixed phase FIR filter. If you are using Pristine Space for video reproduction, I suggest you not to use it to minimize latency.
Hi,

this time i succeeded in generating the impulses with DRC thanks to the information you provided. As far as the measurement is concerned, it is almost perfect but it actually does not sound ok and i have too much attenuation in the treble range. Do you know if it is possible to only apply correction up to a certain frequency range with DRC ? I tried to modify the config file but it does not work as expected.

Thanks again for everything,

Al.
I think it's possible to limit the correction to a specific frequency range, but I never did it.

If the measurement is really fine, I suggest you to listen for a while with this set up. The first time I heard a phase and amplitude balanced reproduction I was upset, because it sounded so strange compared to what I was used to. Now I can't listen without equalization.

If you really want to modify the frequency response I suggest to work on the target curve in DRC. In my environment I was used to reduce 3-4 dB in the higher frequency range.
Hi,

sounds like a good idea, i will try and let you know.

Rgds,

Al
You need to set up Directwire in this way:

It will route the audio streams from a WMD program like Powerdvd towards ASIO.
Then you need a VST host such as . You should create an Asio project.
The project should look like this:

The 5.1 channels will be processed in this way, from left to right:
- a convolution engine, Voxengo Pristine Space but you can use Convolver as well
- a parametric equalizer (SpinEQ)
- a time delay, to adjust speakers distance (Voxengo Audio Delay)
- a bass manager (Kelly Industries) to boost LFE channel by 10 Db and to route bass frequencies towards the subwoofer.

I doubt you can get a more sophisticated sound elaboration :dumbcrazy:.

This is another example of final result, amplitude graph is slightly decreasing because I set the target curve in this way:
Hey guys. Sorry for rolling up this thread. I have three important questions.

1. I have to have a Stereo Impulse response for DRC, that is used to calculat the filters.
I open it with the convolver Plug or Voxengo Pristine Space. Is it right?
2. What for is the EQ and the time delay plugin? I tought the convolver plugin makes the equilisation and time correction?!
3. I got a null by 227hz to 245hz (-20db only left speaker) and a big null by 314hz to 405hz (~ -12db both speaker but not similar). My Room is treated to the maximum and I couldn't solve it. Would DRC correct this problem?


Hope for help
.1. I have to have a Stereo Impulse response for DRC, that is used to calculat the filters.
I open it with the convolver Plug or Voxengo Pristine Space. Is it right?...
Right, the filter created with DRC needs a convolver.
...2. What for is the EQ and the time delay plugin? I tought the convolver plugin makes the equilisation and time correction?!...
The parametric equalizer isn't needed, I used mainly for testing. The time delays however are necessary, DRC don't compensate for the different distance of the loudspeakers from the listening position. Remember to place the mic in the exact center between left and right speakers, even few centimeters can create problems.
...3. I got a null by 227hz to 245hz (-20db only left speaker) and a big null by 314hz to 405hz (~ -12db both speaker but not similar). My Room is treated to the maximum and I couldn't solve it. Would DRC correct this problem?...
Difficult to say, but I am pretty confident you will get a consistent benefit.
Well, thanks for that information. I was confused about the EQ. So I already have optimised my speaker posiotn so I won't need the time delay. I will test it only with the convoler vst plugin.
For me the best correction would if DRC only corrects the mids < 2Khz. Is there anyway to setup the impulse that the convolver only work on that range.
Or should I only measure that range and export that result? :blink:
DRC is designed to work full range. Limiting the correction to a specific frequency range is difficult, maybe impossible.

By the way I don't really see the reason for that, DRC is working pretty well even with high frequencies. If the need is just to correct for example a subwoofer, I think it's much simpler to create a minimum phase filter with REW. Actually this is what I did for the LFE channel of my home theater setup, while I used DRC for the other 5 channels.
Hey I`m really happy :yay2:. I got my own DRC Filter. After several try, also with audiolense, nothing worked. The informations on the net are very confusing to me. And made me sick. The Voxengo Plugin is not freeware and stops playing all the time.
The ConvolverVST on soundforge doesn' start in my applications (live / wavelab). "Couldn't load the module" Is there any other VST Plugin out there?
... Is there any other VST Plugin out there?
I guess you can find many, such as this one. With Mac I'm using LAConvolver. However Pristine Space is a pretty stable one (but not free).
you may try this ...
Crossvolver and Align are interesting applications, but they are not VST convolution engines.
41 - 60 of 143 Posts
This is an older thread, you may not receive a response, and could be reviving an old thread. Please consider creating a new thread.
Top