# Using convolver universally in HTPC



## Guest

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?


----------



## Wayne A. Pflughaupt

What kind of help are you looking for? Looks like you pretty much have a handle on it already. I guess what your “before” and “after” REW graphs look like will tell you if you’re successful.

Regards,
Wayne


----------



## antani

I did very recently exactly what you are trying to do.

I am now applying 6 convolved filters, 6 parametric equalizers, 4 delays and a bass manager to whatever goes out of my sound card and whatever is the sw player.

The result is astonishing and does not require any external hw.

I'm now in the hurry, I'll post more details later on.


----------



## antani

Here I am.

I'm running an AMD 4200+ dual core, an audio card Terratec Auron Space 7.1 flashed as Audiotrak Prodigy and Vista.

As VST shell I'm using Console working in ASIO. The VST plug-ins are Spinaudio SpinEQ as parametric equalizer, Voxengo Pristine Space as convolution engine, Voxengo BMS as Bass manager, Voxengo Audio Delay to introduce delays for multichannel reproduction.

I'm generating the impulse response files with REW (1 M sweep), then I create the filters with DRC. DRC goes much further than frequency equalization because it works also in the time domain.

The trickiest part of the process is intercepting the audio stream from the sw players. I tried first Reaper, but I couldn’t manage to make it work in Vista. Then I tried VAC. It was working but only in stereo and it cannot route the streams to ASIO, and I wanted low latency.
Then I chose the easiest way: I bought an used Terratec audio card, compatible with Audiotrak drivers. Audiotrak/ESI drivers offer a unique feature, Directwire, capable of intercepting and routing audio streams from and to ASIO.

What you can get at the end of this is probably the most sophisticated audio equalization around. I’m using it in two different installations, stereo and multichannel, and I can tell you that it’s now very difficult for me to listen music and movies without it.


----------



## clubfoot

How about some REW before and after EQs, so we can see the effects? This sounds very interesting.


----------



## Guest

Wayne A. Pflughaupt said:


> What kind of help are you looking for? Looks like you pretty much have a handle on it already. I guess what your “before” and “after” REW graphs look like will tell you if you’re successful.
> 
> Regards,
> Wayne


I wanted to get feedback on the programs I'm using. Antani brought up 'Reaper' which is free and new to me, so I might try it before I try VAC. And yes, I will need help assessing my success on the "before" and "after". Thanks Wayne!


----------



## antani

This is the result. I realized after measuring that I was not using the mic calibration file, so now the result is slightly better in the high frequency range. Equalization was done automatically by DRC. I only used the parametric equalizer to correct a couple of spikes in the very low range.



I don't have to tell you what line is before and what is after .

What you cannot see is the phase correction, but believe me you can easily hear it!


----------



## antani

Another example.



Waterfalls, before and after.


----------



## Guest

antani said:


> As VST shell I'm using Console working in ASIO. The VST plug-ins are Spinaudio SpinEQ as parametric equalizer, Voxengo Pristine Space as convolution engine, Voxengo BMS as Bass manager, Voxengo Audio Delay to introduce delays for multichannel reproduction.


Were you able to get Console to run in the background (as a service)? This will be important for the WAF.


----------



## antani

Unfortunately no. I start Console when Windows starts and is a little bit annoying having it in the task bar.


----------



## Guest

Hi Antani,

I am trying to use convolver with Blu-ray movies. It seems the best way to make it work for this and other purposes is to have universal convolver setup. 

The problem is that I would need a bit more detailed instructions what are the necessary HW and SW and especially the parameters.

Could you kindly explain in a bit more details what is your setup and parameters (screenshots etc.)?

Thanks a lot

BR,
ns :reading:




antani said:


> Here I am.
> 
> I'm running an AMD 4200+ dual core, an audio card Terratec Auron Space 7.1 flashed as Audiotrak Prodigy and Vista.
> 
> As VST shell I'm using Console working in ASIO. The VST plug-ins are Spinaudio SpinEQ as parametric equalizer, Voxengo Pristine Space as convolution engine, Voxengo BMS as Bass manager, Voxengo Audio Delay to introduce delays for multichannel reproduction.
> 
> I'm generating the impulse response files with REW (1 M sweep), then I create the filters with DRC. DRC goes much further than frequency equalization because it works also in the time domain.
> 
> The trickiest part of the process is intercepting the audio stream from the sw players. I tried first Reaper, but I couldn’t manage to make it work in Vista. Then I tried VAC. It was working but only in stereo and it cannot route the streams to ASIO, and I wanted low latency.
> Then I chose the easiest way: I bought an used Terratec audio card, compatible with Audiotrak drivers. Audiotrak/ESI drivers offer a unique feature, Directwire, capable of intercepting and routing audio streams from and to ASIO.
> 
> What you can get at the end of this is probably the most sophisticated audio equalization around. I’m using it in two different installations, stereo and multichannel, and I can tell you that it’s now very difficult for me to listen music and movies without it.


----------



## antani

Setting up Convolver is the easiest part. 

The problem is that at the moment there is no blu ray sw player where you can use it. Powerdvd and Arcsoft cannot apply audio post processing.

The only way I managed to equalize blu ray is using the Directwire functionality of ESI/Audiotrak sound cards. But first of all you need an ESI/Audiotrak soundcard.


----------



## Guest

I have Power DVD 7.3 that can playback the bluray audio. I have also ordered the Audiotrak Prodigy 7.1 HiFi card:

http://www.esi-audiotechnik.com/download/AUDIOTRAK/Prodigy_71_HiFi/Prodigy_71_HiFi-English.pdf

Mainly I need help how to connect the Power DVD audio output to convolver.

Thanks


----------



## antani

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 Console. 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:


----------



## Guest

Excellent, I really appreciate you took time to prepare the instructions.

Now I just need to wait for Audiotrak to arrive. I will post then how it goes.

By the way, is the lip sync any issue? The audio processing takes some time so audio may lag a bit behind video. My PC is 3.0 Ghz dualcore E6850.

BR,
Ns


----------



## antani

CPU is not relevant (unless you get to 100% usage). Latency depends on audio card and plug-in used.

I'm currently having a latency of less than 512 samples. At 48 KHz is 10 milliseconds. One frame at 24fps (blu ray) is 41 milliseconds.

No way you can notice it .


----------



## GollyJer

This is great information antani. Since I'm also using an HTPC exclusively as my AV source, this may be the next configuration I look at implementing. Thanks for posting.


----------



## GollyJer

I'm a little unsure, do I need a Audiotrak Prodigy 7.1 HiFi card to get this working correctly? If so, is it because of the simplification the Audiotrak drivers provide in regards to Directwire functionality? And does any of this apply if I'm simply pushing the signal out of the HTPC via component audio to my receiver?

That's 3! 
17 more to go. :nerd:


----------



## antani

GollyJer said:


> ...do I need a Audiotrak Prodigy 7.1 HiFi card to get this working correctly?...


Yes, or an ESI audio card.


GollyJer said:


> ...If so, is it because of the simplification the Audiotrak drivers provide in regards to Directwire functionality?...


Yes


GollyJer said:


> ... And does any of this apply if I'm simply pushing the signal out of the HTPC via component audio to my receiver?...


I don't understand exactly what you mean by "component". In order to use the HTPC as an equalizer you need to use the analog 7.1 outputs of the audio card. You cannot use the spdif. By the way HD audio streams cannot go through the spdif and currently there is no audio card with HDMI 7.1 outputs.


----------



## GollyJer

antani said:


> I don't understand exactly what you mean by "component". In order to use the HTPC as an equalizer you need to use the analog 7.1 outputs of the audio card. You cannot use the spdif. By the way HD audio streams cannot go through the spdif and currently there is no audio card with HDMI 7.1 outputs.


By component I meant SPDIF; sorry for the confusion. My receiver calls SPDIF it's "component" audio input. I think it makes sense that the analog outputs need to be used when using the PC as an EQ. Thanks.

When you say HD audio streams can't go through SPDIF I'm not sure I understand? Currently DD5.1 & DTS are passed fine through SPDIF when watching HDTV or DVD's. The receiver auto-detects the signal and switches between Dolby Pro Logic (for SDTV), DD & DTS. The only thing I have to switch to myself is Stereo mode when playing .flac files. 

[EDIT]_
Never mind. I see now that HD Audio is different than the signal that comes across with HDTV. You're talking Blu-ray disc audio (which I have no experience with yet). HD Audio Explained. From what I understand with a little more reading is the SPDIF connection doesn't have enough bandwidth to pass an HD Audio signal.
[/EDIT]

[EDIT 2]
Here's a great link to an explanation of HD Audio technologies. I would have never guessed that Dolby Digital is a lossy, compressed, format.
[/EDIT 2]_


----------



## antani

SPIDF can carry DD and DTS, but not the new HD audio streams such as PCM 5.1 or Dolby TrueHD.

In any case the equalization process requires to use the analog outputs of the audio card. The audio decoding must be done by the sw player.

If you select spdif as output you will bypass the equalization.


----------



## Guest

Please ignore blow, I realized the example is for 5.1 config. Still one question: How do you know what channel numbers in "Prodigy IN" correspond to which channel (center etc.)?


Hi Antani,

I can see only 6 channels wired in the picture. Is it used for 7.1 sound?

Can you explain what is channel number for front left, center, right, subwoofer etc?

Should the front center and subwoofer lines be visible in directwire and console pictures?


----------



## antani

There are only 6 wires because I have 5.1 speakers. If you want 7.1 you should wire all the 8 channels.

You can find the explanation of inputs and outputs in the instruction of your audio card. If I remember well:
1 front left
2 front right
3 surround left
4 surround right
5 central
6 sub
7 back surround left
8 back surround right


----------



## Guest

ok thanks, I will receive the audiocard probably by Friday.


----------



## Bloodwound

Antani, I believe it is not correct amplify the LFE 10db. It can overload the analog output, and it WILL clip digitally.

The correct way would be to apply -10db to any redirected bass, and adjust the volume of the subwoofer accordingly.


----------



## antani

In fact is the same, because the output level of all channels including sub is in any case levelled slightly below the sound card clipping.

In theory you might go both ways, but all the VST bass managers work with +10 Db, so there is no real option.


----------



## Guest

Hi,
Can you explain how I define in bass manager which channel is LFE? In your diagram I guess it is the channel 8. The bass manager user interface shows 8 channels (basic view) but it does not show any channel numbers next to the settings. Is the LFE fixed to rightmost (channel 8?) controls?
BR,
Ns





antani said:


> 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 Console. 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:


----------



## antani

I'm using the Adobe Premiere version from Kelly Industries because I had problem with the standard one.
In this version you can choose the sequence of the channels by clicking in the bottom left corner (L R Ls Rs C LFE or L R C LFE Ls Rs).







.

In my sound card LFE is channel 6, but with a 5.1 setup.

In any case it should not be difficult to identify the LFE with some trials.


----------



## Guest

Thanks,

Another question: As the bass manager is located AFTER the eq/room correction (pristine space) for me it looks like the room equalization can't be applied for the side channel's low frequencies routed to bass management sub channel. Or the correction is not correct if it is made based on side channel signal measurements. 

Can you explain how this is handled? Are you using bass management also for measurement signal when recording the impulse response for side channels (i.e. actually sub channel is recorded/corrected for low frequencies of side channels)?


----------



## antani

nsiltala said:


> ...Are you using bass management also for measurement signal when recording the impulse response for side channels...


Exactly, in this way you optimize the integration of sub with other channels.


----------



## Guest

Console is not officially supported with Vista. Seems to work in some level but when I create an ASIO project with Prodigy it freezes. Do you know any other alternative plugin host for this setup with Vista?

UPDATE: Now I got it working - not sure what was the reason but when I created other parts first and added prodigy last then it didn't freeze anymore.

Now I can get the sound through test config in attached picture. However if I turn dry adjustment to minimum I don't get almost any sound. if I understand correctly the convolved signal is adjusted via "wet" level adjustments and by pass signal via "dry". Therefore it looks to me that the convolved audio path is not working.

Could you share screenshot from your prisitne space settings? Should the dry path be disabled fully?
Thanks


----------



## antani

It should look similar to this:


Each wav mono filter should have a slot, each channel should refer to a different slot. If you are using stereo wav filters you will use only 4 slots.

Dry is not important, as you said is a bypass, and should be muted. You should only take care of the wet. Each channel's wet level should be adjusted manually. You might want to try A-gain.


----------



## Guest

Thanks a lot again. 

I forgot to say that I use audiolense for creating filters http://www.juicehifi.com/index.html.

With Audiolense I can select the speaker config and it creates filter with needed amount of channels. So I assume that then I should use only one slot in Pristine Space for all channels.

Anyway there is no sound even from channel one in wet mode, so there is some other problem. Need to study a bit more.


----------



## antani

I noticed you created a 44.1 KHz filter. I suggest to use 48 KHz. DVD and most of Blu Ray audio tracks use 48 KHz.

I'll take a closer look to Audiolense, it seems interesting.


----------



## Guest

Hi, I had problems with measurements with vista and now trying with XP. 

With XP I have problem that sound is full of pops and clicks. Did you have this kind of problems?


----------



## antani

Try increasing the latency of the audio card.


----------



## Guest

Thanks for advice, I already bought a new display adapter nvidia 9600GT. 

With that one it works now fine also for bluray. Not sure why but it fixed the audio issues as well.

By the way, is there some way during windows start up to start up also the console so that it automatically opens the specific configuration file and starts processing?


----------



## Guest

My system has lip sync problem, audio is clearly behind video (about 500ms) so it annoying. Any ideas how to adjust?


----------



## BerntR

You can use AC3 filter or FFDShow as DVD codec. Both has manual video delay.


----------



## pakru

Hi! Sorry for bumping this old thread...

I had a few newbie questions regarding this scheme, since I would like to try room correction/eq in a similar manner.

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)?
2. In the console snapshot, what is the purpose of the Equalizer after the correction filter convolution
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?
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?

Thanks for your help!


----------



## antani

pakru said:


> ...
> 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.


pakru said:


> ...
> 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.


pakru said:


> ...
> 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.


pakru said:


> ...
> 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.


----------



## pakru

thanks for the superquick response!



antani said:


> 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?



antani said:


> 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?



antani said:


> 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...



antani said:


> 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...


----------



## antani

pakru said:


> ...in the bass management, all the LFE frequencies are summed to the final LFE output....


Correct.


pakru said:


> ...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.



pakru said:


> ...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



pakru said:


> ...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.


----------



## pakru

antani, thanks for your answers and help...i just need to decide on the soundcard now.


----------



## pakru

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...


----------



## mchabana

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


----------



## antani

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.


----------



## mchabana

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.


----------



## antani

mchabana said:


> ...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.



mchabana said:


> ...
> - 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.



mchabana said:


> ...
> - 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.


----------



## mchabana

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.


----------



## antani

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.


----------



## mchabana

Hi,

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

Rgds,

Al


----------



## tarsonis

antani said:


> 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


----------



## antani

tarsonis said:


> .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.


tarsonis said:


> ...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.


tarsonis said:


> ...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.


----------



## tarsonis

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:


----------



## antani

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.


----------



## tarsonis

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?


----------



## jlohl

> Is there any other VST Plugin out there?


you may try this http://www.ohl.to/about-audio/audio-softwares/crossvolver/ and this http://www.ohl.to/about-audio/audio-softwares/align/


----------



## antani

tarsonis said:


> ... 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).


----------



## antani

jlohl said:


> you may try this ...


Crossvolver and Align are interesting applications, but they are not VST convolution engines.


----------



## tarsonis

Hey guys. Thanks for the advice. Yeah your right that aren't VST, only the keFIR is a VST. It looks pretty nice. Maybe it works with my sequenzer. But is this a good idea to mix the dry level with the correction, like they say? :scratch:
*And a really important question.* :hide: Is it useful to use a eq after the convolverm because some mid frequncies are still to loud? Or is it a psychoacoustical thing that there isn't any correction made?! 
As I only used a eq to solve this, it sounds really strange.


----------



## antani

tarsonis said:


> ...Is it useful to use a eq after the convolverm because some mid frequncies are still to loud?....


You can of course use an eq to shape the sound the way you like. But, *if you created a correct filter *(maybe you can verify it with some sweeps in REW), I'd try to listen for a while without any further modification.


----------



## jlohl

> Crossvolver and Align are interesting applications, but they are not VST convolution engines.


in fact both programs can be used standalone or as VST (just load the .dll file into another VST host). They are not convolution engines but they integrate "convolver".


----------



## tarsonis

I used the normal.drc. I didn't change anything, but the filename. :bigsmile: I verified the correction with virtual cable -> host -> roomEQ and a sweep. I could hear it too. About 5db by 211hz and 300hz.
The right LS

But what a EQ ? Linear Phase EQ? I got the fear that it makes it worse than it its...:huh:

And did anyone try to make more than one measurement in a sweetspot area and averange them with roomeq. And than make a correction filter?


----------



## antani

It's not bad, but I think you can get a better result. In my environment I have a flat frequency response +- 1 dB, with a smoothing of 1/3 oct. Try the other .drc presets. But in particular pay attention not to clip the measuring sweep (I'm using 8 sweeps of 1 M).

DRC can create minimum phase, linear phase and mixed phase FIR filters. All the .drc presets are mixed phase. Mixed phase means the filter is correcting the minimum phase component and a part of the excess phase component. It's a sort of compromise between minimum and linear phase, with a short preringing.

If you try to average the sweeps, you will only get a bad filter. DRC is not Audyssey (luckily :innocent.


----------



## tarsonis

Well, I used 1/12 smoothing. I think I can get this better too. Maybe I can come close to your holy flat frequency response +- 1 dB. :unbelievable: I want this too. ^^
Do you use an extra eq after the convolver?

So I understood, you use your own manipulated preset.drc? How long did you need to tweak it, till you get to your result?

In my situation I use my monitors primary for musik making/listing and of course, a ultra flat response is really important to me. So I should target the linear phase option not to lose the possibilty to hear phase cancelecing in the mix. Do you have a tip what I should try to manipulat in these *.drc files?

Edit:// I tried the ARC system. I didn't work for me. Always a unbalanced stereo correction...first DRC correction works really nice, up to the mids. I really like DRC. Hope to get the rest tuned up.


----------



## antani

Tweaking DRC is far from simple. In Italy, with the support of Denis Sbragion, we are now building a graphical interface to DRC. It will show only the fundamental parameters. But it's not completed yet, it'll take another month or so, before beta testing.

One good starting point, at least for me, is optimized.drc. Be sure to deactivate the psychoacustic target (PTType=N) if you really want a flat response.

If you are keen about phase distortion, maybe you should go linear phase, setting PSFilterType=L. I sometimes use this kind of filter. The reverse of the coin is that you might introduce audible pre-ringing. By the way I was never capable of identifying even severe phase distortion on a blind ABX test. But I guess with mixing you might have problems. You will get a latency of 0,7 seconds, it's up to you to see if you can handle it.

I'm not using any extra eq. I did in the past but eventually it was useless.


----------



## tarsonis

Hey, thanks for the advice. Sounds really good. DRC should get a GUI. :clap:

Well my host got latency compensation. I hope the latency is the smalles problem. But, btw. 
How do Audyssey IK ARC make it that there isn't any latency and high cpu usage?! Don't they use a similar convolver technolgie?!

//Edit: optimized.drc. I haven't that file. Which version do you use. I got somethin like extreme, minimal, erb, etc..


----------



## antani

Your vst host can compensate automatically only the latency reported by the vst plug-in, normally associated with the calculation latency.

A linear phase filter has the characteristic to have a symmetric impulse response. That means it has the same length before and after the impulse. You can easily check this opening the filter with Audacity.

This kind of latency is normally not automatically compensated.

For music listening isn't so important, because it'll only create some delay for example between play and music. I am using linear phase crossovers with my loudspeakers, and the latency doesn't bother me. But it can create problems for audio/video and for mixing.

Audyssey uses minimum phase filters (i.e. the impulse is at the beginning of the filter), moreover with a small number of taps. That's why it doesn't introduce latency. The drawback is that this kind of filter can't correct the excess phase component of the system, introducing some phase distortion.

You are right the latest version of DRC doesn't include optimized.drc. You can get it from release 3.0.0.


----------



## tarsonis

Okay. :T Good information. I tried to play around with the working first correction and I didn't really feel a constant latency. A bit of variation. Is there a way to calculate this latency, because my Host got a separate driver latency compensation?

So my second correction is a mess. This time a took 8 x 1M sweeps for every speaker. I searched the Internet and used the optimized.drc with PTType=N & PSFilterType=L options. 
Really strange result. It feels/sounds like the sound comes from the left and the middle, but not from the right. Also it looks different to the first one.







The measured FFT results are looking great for both speaker. +-2db. Too good to be truth. :R
Better than the first correction I measured, but it sounds ugly.





What could went wrong? If I could I would test it again, but I have to test it tomorrow. Hope this is a stupid mistake made by me, otherwise :explode:


----------



## antani

The 2 filters are very different in term of gain, and this is a little strange. But they are also producing a good result, accordingly to the frequency response.

Obviously they will produce a different level of output. Just try to level the 2 channels using the channel wet control of Pristine Space (or the volume control of the vst host). Use a phonometer or the mic, with pink noise. You also should be very careful not to clip the audio card.

Every FIR filter has its own gain. You can also try to use the A gain (automatic gain)option of Pristine Space (but I don't trust it).

The compensation of the gain is always required, to avoid clipping and equalize the channels.


----------



## antani

tarsonis said:


> ...Is there a way to calculate this latency, because my Host got a separate driver latency compensation?


The latency reported to the vst host by Pristine Space is written at the bottom right of the main page. In your case is 4096 samples. On top of it you have the delay of the linear phase filter, in your case 65536/2 = 32768 samples, 0,743 seconds at 44.1 KHz.


----------



## tarsonis

uiii, now I can really hear it. YOu are right. The first Filter didin't involve such latency. Makes me not happy. .:gah:

I made a third correction and I still have this weird right/left relation. RoomEQ tells me "the impulse peak is not where it should be...". *PANIK* the first time I saw the red genelec led appear. The sweeps was around 18000 -20000hz, when it happens. I made all measurements by 20hz to 20Khz for the impulse. Is it wrong?! Should I go to 21Khz?! 

Or maybe it is to flat, so the ls get to much gain on the highs?! I allways read that you have to have a roll off on the highs, when you sit more than a 3.2 foot away. My sweetspot is 4,2 foot away from the speakers.

I used the normal.drc for the first time with this option "Target respose stage/PSPointsFile" set to this file bk-2-44.1.txt. In the optimized there is this target file pa-44.1.txt used. I think that wasn't good?! 

The corrected measurments look similar to my last post. 
But they can't tell the truth, because when I listen to my music referenzes and some mono voices I have to gain the *right channel*, although the corrected measurement tells me something else. But it is still unbalanced. I have to make a shelving filter on the right ls about +2db, than it is close to normal. :huh:

The first Filter was looking so
 The log sweep was 512k long, maybe that is the reason for that small latency in this filter?!
I try around a bit to find the error. :R


----------



## antani

Going 10 Hz -21 KHz might be a good idea. You can create your own target curve just editing the target .txt file, it's very simple. I used to decrease the highs by 3-4 dB.

The latency was due to the linear phase. The longer the sweep the better the resolution.


----------



## tarsonis

Ok. Thank you for your patience and explanation. :T So it not important what a latency I setup in my host and voxengo space. The filter latency is added after the dirver/vst latency and is not known by the host.
So my next idea is to tweak my (nearly) optimized.drc to get a filter that is close to my current result but doesn't introduce such a big latency, to be useful to make music. And to use the "HD" filter for listing.
So I tought it less filter taps would be a good solution. But the first normal.drc file I used got the same value for RTFilterLen, changes are in the LowerWindow and FinalWindow option.
It is really complicated, when you got fear to blow your speaker. :reading: 
Some values in the manuel aren't told. 

Okay. Sometimes it is easier than you tought. I made my own target file! 


*EDIT://* Hey when I setup the offset of voxengo to around 0,737sec, there is no latency. I pull it near the highest spike.
So it looks like the impulse in my post #73 or in your example in #32 and not like #70. This gap (voxengos visualisation) of ~740ms, before the first spike appears, is important? 
In doesn't sound different or my ears are tired. It sounds like the sound starts 0,740ms earlier, not more. 

EDIT:// So here is what I did and the result is amazing. I took a impulse from roomEQ. This time without normalization and did the drc correction process as usual. After I put both impulses together. I cut the area where is only silence.

And look. The impulse is closer to the start. 

Now I have no really noticable latency like in my first filter. Could be better, but it is a huge change of about 700ms.


----------



## antani

:sneeky: I don't think is a good idea to arbitrarily cut a linear phase filter to reduce preringing. What you cut is definitively not "only silence".
You'll just get a bad filter, latency is required to keep the phase linear.

If you want to reduce the latency, select the mixed phase option in DRC.


----------



## tarsonis

antani said:


> It should look similar to this:
> 
> 
> Each wav mono filter should have a slot, each channel should refer to a different slot. If you are using stereo wav filters you will use only 4 slots.
> 
> Dry is not important, as you said is a bypass, and should be muted. You should only take care of the wet. Each channel's wet level should be adjusted manually. You might want to try A-gain.


But you told yourself it should look like this. :scratch:
And if I don't cut it, it looks like that 

I'm confused what should null samples by -90db do to my room?


----------



## antani

I did not mean the shape of the filter, just the configuration of Pristine Space.

A linear phase filter needs to be simmetrical around the impulse. The spike has to be at the center. If you cut the filter you loose the linear phase. Try to zoom the filter with Cooledit/Audition and you will see that the samples are not null at all.

Actually even DRC is "cutting" the preringing to create mixed phase filters. But it's much better if you let DRC doing it automatically.


----------



## antani

Maybe it's worthwhile to give some explanation about linear, minimum and mixed phase FIR filter, without going into math (I could not do it anyway).

When you work in the frequency domain, for example with any equalizer, you also impact the time domain, because the 2 domains are linked by the Fourier transform. If you modify the amplitude of a certain frequency, you’ll also modify its phase. 

If you don’t care about phase, but only about amplitude, you can utilize a minimum phase filter. In a minimum phase filters the spike is the first sample of the filter (at the beginning, on the left). You can think about the spike as “music”, what’s on the right of the spike is “after the music”, what’s on the left is “before the music”.

A minimum phase filter can correct only the minimum phase component of your loudspeaker/room transfer function. The minimum phase component is the part that is linear, causal and time invariant. A bass resonance is typically minimum phase. A minimum phase filter does not have any latency because it start to work only from the time “the music plays”.

However a minimum phase filter can create phase distortion. If you want to keep the phase constant you need to use a linear phase filter. A linear phase filter has a symmetric impulse response (the spike is at the center of the filter). It means that *it starts to correct before the music plays*. Intuitively you might think it is delaying all the frequencies to bring them back in phase. No delay, no linear phase.

A mixed phase filter is a sort of compromise. It can correct the minimum phase component of your transfer function and part of the excess phase. In reality you don’t want to correct everything because the correction becomes too dependent on the listening position. It has some preringing (some samples on the left of the spike), but less compared to a linear phase filter.

Well, more or less :whistling: :hide:.


----------



## tarsonis

Well your explanation worth gold. Now I understand why this gap is important. I thought a bit off my reverbs for music mixing, where the impulse should be on the start when early reflection is applied. Kind a hard to understand this topic drc. Mainly because drc is not really known in my country and no explaination in my language. 
I also think I have made my linear phase filter wrong. I only changed PSFilterType to L and didn't change DLType. :dontknow:

Well, my room ist passive treaded to the maximum. Also my early reflections hasn't really changed with drc. I ain't got problems with reverberation time too. (RT60 < 200hz=472ms | > 200=~258ms) My two main problems are:
combfilter effect 150hz - 1100hz and a dip on [email protected] 150hz (1 Q -5db max) - dip on the [email protected] (2 Q -7db)
So I tought I could deactivate parameters, like ringing trancation, and set to minimum phase.
DLType = M
PSFilterType = M

If I use minimal latency there is still a gap by in the correction file. Will this gap be compensated by the host/Vst?

I hope I still find the correct settings. I really love to hold the typical genelec sound and I have panik that drc/myself overcorrects my acoustics. Otherwords I don't want to feel myself pressed in a big headphone. :bigsmile: 

Is there a way to test the filter correction for its correction itselfs, bevor I risk to blow up my speakers?!:R


//EDIT: Is MPFilterLen equal PSFilterLen and PSOutWindow?
How nessasery is it to measure my main ls to 21Khz, when the filter is only applied up to 20Khz? I never measured above.


----------



## antani

tarsonis said:


> ... I only changed PSFilterType to L and didn't change DLType. :dontknow:...


DLType normally is not needed. However linear phase filters are in general an overkill, unless you are introducing strange equalization (i.e brickwall filters). It's better if you use mixed phase. You will get less latency and almost same results.



tarsonis said:


> ... So I tought I could deactivate parameters, like ringing trancation, and set to minimum phase.
> DLType = M
> PSFilterType = M...


If you want to apply only the minimum phase correction, there is no need to change the type of filter. You can directly take the result of the minimum phase stage with MSOutFile='filename'.pcm



tarsonis said:


> ... If I use minimal latency there is still a gap by in the correction file. Will this gap be compensated by the host/Vst?...


Why are you so worried about the latency compensation? What is the difference if you introduce a latency of few milliseconds? I guess your correction filter is the last thing within your project before audio output, so even in mixing it should not impact. By the way there is no real "latency compensation". No vst host can go back in time. They just reallign different audio streams, but if the filter is at the end, this is not relevant.



tarsonis said:


> ... How nessasery is it to measure my main ls to 21Khz, when the filter is only applied up to 20Khz? I never measured above. ...


Not really necessary. However your Genelec can handle 21 or 22 KHz without problems.


----------



## tarsonis

antani said:


> If you want to apply only the minimum phase correction, there is no need to change the type of filter. You can directly take the result of the minimum phase stage with MSOutFile='filename'.pcm


But then no dip and peak limiting is applied? Don't I need them to minimize the combflter effect?!



antani said:


> DLType normally is not needed. However linear phase filters are in general an overkill, unless you are introducing strange equalization (i.e brickwall filters). It's better if you use mixed phase. You will get less latency and almost same results.


To use mixed phase what do I have to change?
MPHDRecover = Y
MPEPPreserve = Y
Nothing to find in the manuel for mixed phase. Only excess phase. M to D ? I'm getting it wrong again, I think... 



antani said:


> Why are you so worried about the latency compensation? What is the difference if you introduce a latency of few milliseconds? I guess your correction filter is the last thing within your project before audio output, so even in mixing it should not impact. By the way there is no real "latency compensation". No vst host can go back in time. They just reallign different audio streams, but if the filter is at the end, this is not relevant.


Musicians paranoia :whistling:



antani said:


> Not really necessary. However your Genelec can handle 21 or 22 KHz without problems.


okay :T But I don't go down to 10. As I made it, my speaker really made a strange noise to the beginning. I know there is a build-in limiter, but....:hsd:


----------



## antani

MSOutFile should include also dip and peak limiting stages. It is just the minimum phase part of the filter. I'm not sure if it includes the mic compensation stage, but I doubt.

If you want a mixed phase filter I think is a good idea to try strong.drc. This is what I am using with audio/video, short preringing but good frequency correction.


----------



## tarsonis

So, now I know. You have to remove/add the "#" before "XXOutFile".
The mixed phase works very well, but I made a better filter. The only thing is I can't rebuild it anymore, 
although I use the same files. 
I wanted to change the target. Maybe I have used a parameter that I forget to change. The resulting filter now isn't really boomy as that first one.

I also got the IK ARC System, so I could compare both of that systems.
I really have to say: "DRC rockz!!" The measure results are amazing, and look a lot better as the ARC ones. Well, the sound is much greater than the results look like.
I have 2 filter made with drc that sound 1:1 like the arc filter result, with a bit better center imagination. Awesome.
And DRC is a way faster to measure. Only one point makes max. 6min of measuring.
I don't want to repeat the 3 x 20 measurement at different points anymore. (3 times cause the first 2 measurements sounded very unbalanced)
But I have to say, apart from the prize, ARC comes to good results too. You get a full "don't worry about nothing" package and you don't have learn/understand how "digital room correction" works basicly.
But this could also be a reason to distrust the hole room correction "thing", because off lack of knowledge.

The best results you will get with passive and active room threatment for use in video/music editing. For the home use I would say DRC is a good way to go.

My hope for the future is, that drc gets a GUI or an interactive help manual, which more explains the parameters on the general needs for non-coders. The copy and paste text I read is really hard to understand and optically confusing. 
For sure this would be succesfull.

thanks for the help antani and thanks to the people who produced drc


----------



## mchabana

antani said:


> 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.


The card seems to be impressive. Does it provide a functionality similar to the directwire i have with my Prodigy card ? If so, what is the name of it, i would like to find some information on the internet ...

Thanks,

Al.


----------



## antani

It's probably one of the finest pci card available at the moment, at a reasonable price. Its RMAA performance are extremely good and the drivers are very stable even with Vista.

It has the possibility to route back internally the audio streams similarly to Directwire. It's part of the Patchmix functionalities. You can find online the user manual.


----------



## mchabana

Hi Antani,

i think i will follow your recommandation and go on for the EMU 1616 but since it is quite expensive, i would like to make sure i will be able to use it in conjunction with PowerDVD or ArcSoft TMT; could you confirm that to me ?

I see you are talking about Vista but i think console is not compatible with it; do you know of any alternative to console in that case ?

Thanks again for your time,

Al.


----------



## antani

I am currently using the EMU with Powerdvd, TMT and Windvd. No problem at all.
Console doesn't work very well with Vista, but still it works. The alternative might be Reaper, a very nice application. I am using it with Mac OS, but I tested it in Vista as well.


----------



## mojave

J. River Media Center (JRMC) just provided native VST plugin support. I downloaded the Reaper parametric equalizer (ReaEQ) and installed it. I can now provide equalization for the bass frequencies rather than use my Behringer DCX2496. I use JRMC to playback all my media so this seems like a good solution.

However, I am not sure how to use REW to measure the final results. I would need to route the REW frequency sweeps through JRMC and then out the soundcard to the subs and amp. Is there something similar to DirectWire that would let me do this?


----------



## Fujak

Hello Antani and the others of this thread,

I'm very happy, that I have found this very interesting thread, since I have made a lot of (satisfying) experiences from version 2.6.2 to the 3.0.1 version. 
I'm using a Stereo Setup with Isophon Europa Speakers supported by a Subwoofer (Teufel M12000).

I have some question in usage of DRC:

1. I made the experience, that 3 measures with different input level of Mic-Signal in my soundcard produces 3 different results in the final impulseresponse file. How can I be sure to find the exact Mic-Input Level (that means without distortion/clipping on the one hand or level too low on the other hand). 
Some additional Informatiion of my measuring setup:
HTPC with ASUS Xonar D2 Soundcard (Stereo-Mode)
Behringer ECM8000 Mic with Behringer Mixer (built in Phantom 48V and PreAmp). 
Speaker Level is rather loud (never measured it, but my Speakers can tolerate this level better than my wife ;-) ), so I'm sure having a good s/n ratio
Sweep length is 60sec. played and measured with rec_imp.exe

2. Since my Convolver (SIR1-Plugin) only likes Stereo-Wav-files: Does anybody of you know, how I can use SoX to merge the two output files (L + R) of drc - after translating from raw to wav - into a wav-stereo-file. I know there is a parameter -M, but I don't know the exact usage / syntax; e.g. something like this: sox.exe -M impulsefile_L.wav impulsfile_R.wav -c 2 impulsefile_Stereo.wav.

I have made a scriptfile, where I use rec_imp.exe, drc.exe and sox.exe in order to automate the whole measuring-process with just one mouseclick - but there is still this last step missing to be happy with it.

Any information/suggestion to one of these two questions is highly appreciated

Thanks
Fujak


----------



## jlohl

you can use/copy the script I did for my software Align that also does the whole process (measurement to DRC calculation) in just 5 clicks.


----------



## Fujak

Wow, that's very kind of you. Thank you very much.:hail: Great work, you have done. It seems to be, as you would have found a possibility to get a GUI for the DRC! 
I know, what I will have to do this weekend...

I'm very glad that my problem No. 1 now has got a very good solution.

I also had a look to your correction-file (named as "default") via audacity. There I found, that the amplitude is much higher than of my correction-file. That makes clear, that my problem no.1 is really a problem. I never got such a high amplitude than yours. So I guess that something goes wrong with my configuration settings - especially concerning the settings of my soundcard.

Fujak


----------



## antani

Fujak said:


> ....2. Since my Convolver (SIR1-Plugin) only likes Stereo-Wav-files: Does anybody of you know, how I can use SoX to merge the two output files (L + R) of drc - after translating from raw to wav - into a wav-stereo-file. I know there is a parameter -M, but I don't know the exact usage / syntax; e.g. something like this: sox.exe -M impulsefile_L.wav impulsfile_R.wav -c 2 impulsefile_Stereo.wav....


sox.exe –M -t raw -r 44100 -c 1 -f -4 filterleft.pcm -t raw -r 44100 -c 1 -f -4 filterright.pcm filterstereo.wav

This will convert the filters created with DRC to a stereo wav file. Use last release of SOX and be careful with conversions, many times the problem is there.



Fujak said:


> ....1. I made the experience, that 3 measures with different input level of Mic-Signal in my soundcard produces 3 different results in the final impulseresponse file. How can I be sure to find the exact Mic-Input Level (that means without distortion/clipping on the one hand or level too low on the other hand).....


Measurement is really key. I noticed that for me it's already a good result if I can record 1 good sweep out of 2. I always check the result of the measurement with the spectral view of Adobe Audition or Audacity.
If you use rec_imp, you can use this command to create the measurement of the sweep:

lsconv sweep.pcm impulseresponse.pcm recordedsweep.pcm

sweep.pcm is the initial sweep, you can create it with glsweep, using the same parameters of rec_imp. For example, this command will create a 44.1 KHz, 60 seconds sweep:

glsweep 44100 0.5 10 21000 60 2 0.05 0.005 sweep.pcm inverse.pcm

impulseresponse.pcm is the result of rec_imp

recordedsweep.pcm is what you want to analyze with Audition or Audacity.

This is an example of what a *bad sweep *will look like (too many harmonic distorsions):



This is what an *acceptable sweep * will look like (somehow high noise floor):



The cleaner the sweep, the better is.


----------



## Fujak

Hello Antani,

thanks for your help. I'm sorry, but the sox-command as written shows the following output-message: "sox formats: can't open input file `-M´: no such file or directory". It seems to be, as sox would identify "-M" not as a global option than rather a name of an input file, doesn't it? I'm using the latest version of sox (sox-14.2.0). Do you have an explanation for this "behaviour" of sox?

Now to the other point, the measuring. I will try this, as you told me and then I will give feedback. 
Beside this I figured out, that in the cmd-window there are two interesting parameters to be seen after running rec_imp: peak mic-level and peak value. The Mic Level has to be nearly 0.90000. In case of a higher level, the rec_imp interrupts and warns by a message of clipping. If the level ist too low, rec_imp gives a message, that signal is too low and you should increase the level of preamp gain or playback levels. 
The interesting thing is the fact, that the peak value become higher only if the playback levels are higher. Just increasing the preamp gain has only effect on the mic-level. Furthermore I figured out, that the peak-value has to be at least nearly -3.0 dB, because otherwise the level of the correction file for the convolver has a too low signal. So that might be a good orientation how high the speaker levels has to be. But I want to make more experiences, before I can say more.

So far for now.
Fujak

Edit few hours later: Sorry, forget the last sentences; it's not true, as I found out in further tests. The mic-level is shown in the cmd-window as it is set in my soundcard. E.g. when I set line-in level of my soundcard to value 95 same value will be shown in the cmd window as "mic-level: 0.95000". The peak-value however is shown depending on the strength of the input signal from my mic/preamp section. But the peak-value reaches not over -9.0000 and therefore I have to open the gain of my mic-amp at maximum before clipping.
I don't know which meaning this peak-value has. I would be glad, if someone could post the peak-value of his tests/measures as shown in cmd window after running rec_imp or can give some information about the meaning of this peak value.

Another aspect that interests me : my correction_file.wav (for feeding the convolver) in audacity show a amplitude not over +/- 0.5, that means just the half of the possible full range of 1.0. So I have to set the gain in the convolver about +10dB. Is this result normal? Please could somebody of you have a look to your correction files how the amplitude is.? That would be helpful for orientation.

Fujak


----------



## antani

Fujak said:


> ...thanks for your help. I'm sorry, but the sox-command as written shows the following output-message: "sox formats: can't open input file `-M´: no such file or directory". It seems to be, as sox would identify "-M" not as a global option than rather a name of an input file, doesn't it? I'm using the latest version of sox (sox-14.2.0). Do you have an explanation for this "behaviour" of sox?...


I tried with 14.2.0 and is working fine. However I noticed that if you do a "copy and paste", it is possible that the "-" before the "M" is copied incorrectly. Try to write the command using the keyboard, without copying it.

The amplitude you see in the filter is not important. The gain should be set to avoid clipping, and to keep the stereo image balanced. +10 dB doesn't seem reasonable, you will probably end up with clipping of the audio card.


----------



## Fujak

Now I have made some tests with lsconv using the option "recordedsweep". To control the sound of the recordedsweep I convert it into a wav-file. I realised some noise of interference and distortion, no matter which settings I have made at my soundcard or the preamp gain / Speaker Output. The best results I've got was with a sweep length of 120 sec., which seems to be very long. But it has the best s/n ratio - and of course the best result of sound.

Antani, I also tested the gain of the convolver. At a gain of +12dB I didn't notice any distortion and music is as loud as without using a convolver. The gain in zero/neutral position produces such a low signal that I have to set the gain at my amplifier very high. 

Another test was amplifying the stereo convolverfile with audacity, so peaks are nearby 1.0. The result in convolver: I could set its gain to zero/neutral position and music comes out as loud as without unsing the convolver - witout any distortion. The question is: Do I something bad with the stereo convolver file by just amplifying the wave.

To illustrate I post the recordedsweep (120sec.) and the Stereo-File for the convolver (without amplifying).


----------



## Fujak

Here are the files:



The sweep starts at about 2:08. The wave before sounds like interference noise. I guess it has to to with the conversion from pcm to wav (made by sox).

The stereo convolver file image shows just a zoom-in of the center of impulse.


----------



## antani

The preringing of the filter is too intense compared to the impulse. Also the fact that you have to increase the gain by +12 dB is not a good sign. There is no problem in normalizing the filter, but actually DRC should do it automatically.

The filter is probably wrong, but you should easily spot the problem by listening to the result. How does it sound?


----------



## Fujak

antani said:


> The preringing of the filter is too intense compared to the impulse. Also the fact that you have to increase the gain by +12 dB is not a good sign. There is no problem in normalizing the filter, but actually DRC should do it automatically.
> 
> The filter is probably wrong, but you should easily spot the problem by listening to the result. How does it sound?


Thanks for the fast answer. I hope that it is o.k. having some more questions:
Do you think, the result of the recordedsweepfile is. o.k.?
How can I reduce the preringing in the filter? (with drc_light? I used drc_normal)
The prinringing of the filter is the "wave" before the impulse, right?
How can I do it, making the filter right?

In generally it sounds o.k.but not really satisfying ( a bit artificial).


----------



## antani

Fujak said:


> ...Do you think, the result of the recordedsweepfile is. o.k.?...


Formally yes, but you have most of the energy in the middle of the sweep (300-500 Hz?). Normally the energy is higher below the Shroeder frequency, where the resonant modes are. Maybe is just due to your loudspeakers.



Fujak said:


> ...How can I reduce the preringing in the filter? (with drc_light? I used drc_normal)...


The problem is not the length, is the amplitude. I think is related to the measurement. Personally I had so many problem with rec_imp that I normally use REW to create the impulse response. It's working fine.



Fujak said:


> ...The prinringing of the filter is the "wave" before the impulse, right?...


Right.



Fujak said:


> ...How can I do it, making the filter right?...


Good question .


----------



## Fujak

Thanks a lot for your help. After all I think also, that the most important thing is to build a correct impulse response. So I will try out REW to build the impulse response and will give a feedback about the result.


----------



## Fujak

Antani, now I am back. I have tried out REW. I can make the measure. After this I go to menu "file->export->export->Impulse Response as WAV..."
The exported file ImpulseResponse.wav has to be the BCInFile in DRC, right? The result (the filter) however looks not o.k.
Did I make something wrong? I guess the BCInFile has to be in PCM (raw) format. But in RWE I can export the Impulse Response only in WAV-Format. Do I have to convert the exported file first, an if yes how ist the sox-script for this?


----------



## antani

DRC accepts only pcm 32 bit floating. 
The command in SOX is

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


----------



## cea

Hi.
I have a config file for 44100 and another for 48000, how can I make a config file for switch automatically between filters?.
Here http://convolver.sourceforge.net/config.html says that can switch automatically but I don't know how.
Thanks.


----------



## Fujak

cea said:


> Hi.
> I have a config file for 44100 and another for 48000, how can I make a config file for switch automatically between filters?.
> Here http://convolver.sourceforge.net/config.html says that can switch automatically but I don't know how.
> Thanks.


I even don't know, but I guess, they mean the button at the top, where you can select various correction files in order to load them into the convolver.


----------



## antani

I don't use Convolver so I'm not really sure. However from what I understand, you should create multiple settings in the config.txt file, simply putting them one after the other, in different rows. Convolver should choose automatically the appropriate settings from the sample rate of the file being played.

From the Convolver help:

_So a config file can also comprise of a list of

- filter specification config file names of the type described above; and 
- WAV impulse response filenames 

*one per line. The filter used will then be the first to match the current sound source *(in terms of number of input and output channels and sample rate). This allows you to play both stereo and 5.1 sources, say, without having to change the config file._


----------



## cea

Hi, thanks.



> I even don't know, but I guess, they mean the button at the top, where you can select various correction files in order to load them into the convolver.


you mean "Get config or IR" button? That button loads only one file, I can not load more than one.



> I don't use Convolver so I'm not really sure. However from what I understand, you should create multiple settings in the config.txt file, simply putting them one after the other, in different rows. Convolver should choose automatically the appropriate settings from the sample rate of the file being played.
> 
> From the Convolver help:
> 
> So a config file can also comprise of a list of
> 
> - filter specification config file names of the type described above; and
> - WAV impulse response filenames
> 
> one per line. The filter used will then be the first to match the current sound source (in terms of number of input and output channels and sample rate). This allows you to play both stereo and 5.1 sources, say, without having to change the config file.



well, I try to make one config file with both but I cann't find the way, one after the other or in different rows... nothing.
Thanks.


----------



## antani

The syntax of Convolver isn't really user friendly :huh:. I also remember that some people had problems with the format of the config file (that should be Unicode or ANSI, I'm not sure).


----------



## danik

antani said:


> I don't use Convolver...


Hello Antani,
what to use instead of Convolver?

Milan are also me, we can meet?

ita2eng by google, sorry :huh:


----------



## pakru

antani said:


> It's not bad, but I think you can get a better result. In my environment I have a flat frequency response +- 1 dB, with a smoothing of 1/3 oct. Try the other .drc presets. But in particular pay attention not to clip the measuring sweep (I'm using 8 sweeps of 1 M).
> 
> DRC can create minimum phase, linear phase and mixed phase FIR filters. All the .drc presets are mixed phase. Mixed phase means the filter is correcting the minimum phase component and a part of the excess phase component. It's a sort of compromise between minimum and linear phase, with a short preringing.
> 
> If you try to average the sweeps, you will only get a bad filter. DRC is not Audyssey (luckily :innocent.


Hello antani, how do you use 8 sweeps of 1M? Do you average them? Thanks.


----------



## antani

pakru said:


> ...Do you average them?...


No need for that. Just select 8 sweeps in the Measure window. By the way I think there is a little bug in the sw, because I often get weird results. I always check the coherence with a single short sweep, and the scope window as well (sometimes clipping is not signaled).


----------



## brucek

> By the way I think there is a little bug in the sw, because I often get weird results.


We do get that comment now and then, but in the end it usually ends up being a problem with the computer running REW.

This post (to the end) is a perfect example, where in the end, the problem is computer related.

brucek


----------



## antani

It is definitively possible, I didn't test very much. However I got problems only with multiple sweeps. I guess the multiple sweeps option is seldom used, but it is very useful when maximum resolution is needed, like for DRC.


----------



## brucek

> I guess the multiple sweeps option is seldom used


I always use at least two. This reduces random noise that is picked up in a single sweep.

brucek


----------



## pakru

antani said:


> No need for that. Just select 8 sweeps in the Measure window. By the way I think there is a little bug in the sw, because I often get weird results. I always check the coherence with a single short sweep, and the scope window as well (sometimes clipping is not signaled).


Thanks for pointing this out. I did get very weird results with multiple sweeps (wierd comb like transfer function) and I was thinking there is something wrong with my setup. Can you help me understand how you check for coherence?

Also, I am using console with the optimized.drc coefficients loaded in Voxengo PristineSpace. When I test the room correction filter by sweeping REW through PristineSpace in console, REW is complaining that the impulse response peak is not where it is supposed to be. Looking at the PristineSpace window, I find that the filter center tap is at the middle of the window (latency of N/2 samples). Is this the reason REW is saying this?

Thanks.



brucek said:


> I always use at least two. This reduces random noise that is picked up in a single sweep.
> 
> brucek


brucek, Even with two sweeps, I am getting a wierd comb like transfer function with the first null at 1.75KHz. I can try to post the plots after I get back home.


----------



## brucek

> I am getting a weird comb like transfer function with the first null at 1.75KHz


With that and REW complaining about the impulse response, it sounds like your setup levels are incorrect.

brucek


----------



## pakru

However, with a single sweep, I dont see any combing artifacts...


----------



## brucek

> However, with a single sweep, I don't see any combing artifacts...


Then you may be suffering from a lack of processor speed or memory. The longer the sweep, the more samples that must be stored, and the number of sweeps simply adds to the problem because it all has to be stored in RAM.

brucek


----------



## pakru

antani, brucek:

Thanks to antani's tip of looking at the scope window, whenever I use a multiple sweep option in the measurement, I am seeing wierd looking input samples, only in the second sweep (figure below). I dont see this behavior in the first sweep. Whenever this happens, the transfer function has the combing artifact.

Is this my setup issue or is it something else?

Thanks.


----------



## brucek

The input is the dark red line and the output samples are the purple.

Looking at the time axis, I would presume you're examining a fairly high frequency. You can expand the axis and look at each sample. You'll probably find that the 'sinusoidal' wave is distorted at this higher frequency. 

I know on my inexpensive soundcard, that the DAC probably isn't the greatest, and regardless of whether I use more than one sweep, I'll have a fairly poor looking output signal at the upper frequencies. Certainly at 20K, with a 44KHz sample rate, there's only a couple samples per period and it looks pretty bad.

I'm not sure why you would only see the output problems on multiple sweeps though. I'll ask JohnM what he thinks..

brucek


----------



## antani

This comb effect is pretty strange. I normally check the multiple sweeps result with a single short sweep. If the frequency response is very similar, the measurement is supposed to be ok. In the scope window I just check the clipping.

I often get problems with 8 sweeps, rarely with 4 sweeps, so it is possible that the issue is lack of memory as Brucek was suggesting.

The warning "response peak is not where it is supposed to be" is normal if you use a linear phase FIR filter. In fact the linear phase filter adds a delay of 0,7 s, but this shouldn’t cause any problem. BTW you don't really need to use a linear phase FIR, unless you are using a brickwall filter.


----------



## JohnM

brucek said:


> I know on my inexpensive soundcard, that the DAC probably isn't the greatest, and regardless of whether I use more than one sweep, I'll have a fairly poor looking output signal at the upper frequencies. Certainly at 20K, with a 44KHz sample rate, there's only a couple samples per period and it looks pretty bad.


The sweep signal REW shows is what is fed to the soundcard rather than what the DAC actually produces, which REW has no access to. As the comment on the scope page says, "_These traces use linear interpolation between values, this gives them an aliased appearance at high frequencies that is not a true representation_". The scope trace on the screen shot shows normal appearance. If the PC is prone to struggling to keep up with soundcard I/O, which can be the case depending on what other processes are running, then the longer the sweep sequence the more likely there is to be a glitch in the I/O. 8 sweeps at 1M requires more than 3 minutes of clean I/O, so if there is a problem that will certainly show it up.


----------



## pakru

JohnM, Thanks for the explanation. I will try the sweeps from a different PC and see if this persists. If the problem persists, I will try to up the RAM on the regular PC.

Thanks again!


----------



## pakru

antani said:


> The warning "response peak is not where it is supposed to be" is normal if you use a linear phase FIR filter. In fact the linear phase filter adds a delay of 0,7 s, but this shouldn’t cause any problem. BTW you don't really need to use a linear phase FIR, unless you are using a brickwall filter.


Thanks!


----------



## nbb

Thx for a great thread with spot on information for my use. Im struggeling a bit with console, could anyone be so kind as to how they set up the routing for the various modules? I assume one just add console as an external filter in Media Player Classic to have the sound pass through the plugins hosted by console. Im trying to have a simple 2-channel signal passed through convolver and the Kelly Industries Bass Manager for a start.


----------



## pakru

Hi antani,

I just bought an e-mu 1616m pci, and it is on its way. Reading other forums, it looks like the patchmix is confusing for new users and going to be a challenge to setup. Is it possible for you to post a screenshot of your patchmix setup, for my reference?

Thanks again!

edit: I am reading in another thread :
http://www.hometheatershack.com/for...external-soundcard-recommendation-needed.html

that there are some problems calibrating the mic with e-mu. Did you face any issues in your setup. Any experiences shared would be great. Thanks!


----------



## antani

I configured the Patchmix long ago, however I remember I created multiple Asio send/return. This is how the Patchmix looks like:



I did not use the EMU for measurement so I can't tell if there are problems with the calibration.


----------



## pakru

Thanks! Appreciate it.


----------



## Theeagle

Hi Guys 
I have created a couple of FIR filters using DRC but I'm having trouble with the delay when using console and convolver. 

When loading my FIR filter I'm experiencing a delay around 1.5 s. Shouldn't it be possible to process the filter in (near)real-time?

My configuration is:
EMU 0404 soundcard -> all sound is being sent to ASIO in
Console (VST-host) -> picks up the ASIO-in signal
Convolver - processes the FIR filter (131072 taps stereo filter in 44100 hz)
Console -> forward the sound to the ouput

From this link I found the following information concerning the delay associated with the use of FIR-filters:
(links removed due to restrictions)
given a FIR filter which has N taps, the delay is: (N - 1) / (2 * Fs), where Fs is the sampling frequency

If this information is correct, the 1.5 s delay is just a result of my pretty huge FIR filter. I just wonder, cause in foobar with convolver I haven't noticed this delay at all, and I felt pretty sure that it should be possible to process a FIR filter in (near)real-time.. But I might be wrong?

Anyone who can confirm if a fir filter can be processed in real-time or not? And perhaps know a solution

Thanks a lot!


----------



## franklafond

Theeagle, have you set the "partitions" parameter to 16 (max value)? The greater the number of partitions, the lower the latency. It is variable as more partitions require greater processing power, but I've not had any problems setting it to 16. This should drop your latency into the millisecond range.


----------



## Theeagle

Franklafond - thanks a lot :bigsmile:

You was totally right, I just missed the "partitions" settins, it was set at 0 partitions. Can't believe how many hours I have been messing around with this, just to realise the only thing I was missing was the partition settnins... :thud:

Oh, by the way.. I can set the partition as high as i want, but at around 1500 partitions my CPU can't handle it anymore :R


----------



## franklafond

Great, I'm glad that worked. I too spent hours of frustration until I figured it out. Then sometimes the host (VSTHost) would "forget" the settings and I'd have to reset the values (after it dawned on me what the problem was).

How did you get partitions > 16? Is there a config file you modified directly, or is there another interface you used? The VST version I've used does not allow direct number entry through the GUI. Fortunately 16 seems to be enough to lower the latency to an acceptable range. Of course more is always better. ;-)


----------



## Theeagle

I can just change it in the GUI...










I'm using Console v. 1.6.2 (beta) and the VST plugin "Convolverfilter" (from http://convolver.sourceforge.net/)


----------



## doctorcilantro

Great to see this thread is active. For some time I have been preparing to finally analyze my room. I had an ECM8000 a year ago but we moved and I sold the mic. 

I'm planning on purchasing a calibrated ECM8000 soon, and then trying to figure out how to push the result to VST.

My applications:

Lossless audio playback (2channel) - J. River Media Center now accepts VST in the 32bit internal DSP chain
(Emu 1616M>Peachtree Nova>6BM8 2 channel tube power amp)

Realtime Digital RIAA implementaiton - Samplitude 10 (VST plugins for 24/96 highly accurate RIAA)

I currently feed the vinyl in through the EMU1616M and feed it right back via ASIO to Patchmix after Samplitude applies the RIAA curve.

I need to study up on methods to push the REW results to a VST plugin...I think Voxengo makes one but would like to hear from anyone regarding this as I'm getting into uncharted territory a bit here.onder:

thanks! Great to be here.

DC


----------



## michael123

Hi

I am trying to see the effect of EQ applying on source files.

I am using
1) IR files saved from REW
2) DRC, which processed these files (once per channel) accordingly to this page: http://www.tarind.com/brutefir_drc.html
3) convolverCMD - http://convolver.sourceforge.net/convolvercmd.html

result I heard was very bad. Lot of bass, lost imaging and detail. 

What's was wrong?
How can I verify what I did in each step?

thanks
Michael


----------



## Mertz

Hi,

I wish to use Convolver in my surround setup, but my sound card does not have separate analog outputs for 5.1 channels. Is there a way to send Convolver outputs to an AC3 encoder which can send 5.1 channels to my optical SPDIF output? Does anyone have this kind of a setup running? I would like to use only free software to perform this.

Thanks,
Mertz


----------



## ghost rider

not up to it


----------



## Mama70

First of all, thanks for all the information I've found in this forum to get my convolver running. Now it's my turn to try to give something back. 

My goal was to set convolver for both music ( 2ch 44,1kHz ) and movies ( 5.1 ch 48kHz). 

I went through a couple of virtual sound cards and "Virtual Audio Cable"(ntonyx) seemed to be the best choice, supporting up to 8 channels and 44,1kHz and 48kHz sample rates. (others I tried: VACard(datanab), Virtual Audio Streaming(shiningmorning), DDMF(virtualaudiostream).

First of all, I have only 4 speakers, so I mix movie channels to these 4 channels already in ffdshow. So after ffdshow it's 2:2-audio. 

I also have ALC889A sound card which means I can encode 5.1 channels back to DTS, transfer that via SPDIF to amplifier to decode back to 5.1. I also used for a while Dolby Pro Logic VST-plugin(lcrs_encoder, Kelly industries). 

I had to make this system so, that I could use it with headphones, TV with 2-speakers and amplifier with 2- or 4-spekers. 

For music I use Songbird. Problems with Songbird is it does not support ASIO and it only uses default soundcards. At first I had 3 virtual sound cards, 1 for system sounds, 1 for music and 1 for movies. So I had make a new user just I could run Songbird under that user and use a different sound card ( by setting a different default sound card for only that 'Songbird' user and starting Songbird with 'Start as' command). Now I've combined system sounds and music and they both are using the same 2-ch 44,1kHz soundcard. The movies has it's own VAC, 8-channel, 48kHz. 

For Vst Host I chose the open source alternative, "VST Host". But I had some problems with this set up because I could not get 2-ch 44,1kHz running with ASIO(ASIO4ALL) (it was always sampled poorly to 48kHz, did not find the reason why). And when I tried without ASIO, the VST Host could not load the 8 channels for movies, only the first 2 channels. So for music it had to be no ASIO, and for movies, ASIO.

Vst Host has a nice user interface and it's light. It can be started as hidden, for low WAF. 

Because VST Host is light, it's also easy to have different copies or instances of it running at the same time. 
First create the master directory "Vst Host" for easy housekeeping. Then unzip the VstHost to that directory so the original Vst Host directory is 'vsthostx86'. 
Then create in 'vsthostx86'-directory a file:

VstHost.bat


Code:


pskill vsthost.exe
regedit /s Convolver.reg
start "VST Host" /min ".\vsthost.exe" /bank=1 /nomme

(pskill-command can be found in Microsoft site. It recognizes also upper chars in exe-name )

and 
VstHostKill.bat


Code:


pskill vsthost.exe

In the master directory create a bat file: 

CreateNewVstHost.bat


Code:


Echo Create new VstHost vsthost_%1 ? 
pause
md vsthostx86_%1
Xcopy /S /E vsthostx86 vsthostx86_%1
sed -e 's:\\vsthostx86\\:\\vsthostx86_%1\\:' -e 's:$:\r:' < vsthostx86_%1\vsthost.ini > vsthostx86_%1\vsthost_%1.ini
sed -e 's:\\vsthostx86\\:\\vsthostx86_%1\\:' -e 's:$:\r:' < vsthostx86_%1\Data\vsthost.ini > vsthostx86_%1\Data\vsthost_%1.ini
del vsthostx86_%1\vsthost.ini
del vsthostx86_%1\Data\vsthost.ini
sed -e 's:vsthost.exe:vsthost_%1.exe:' -e 's:$:\r:' < vsthostx86\VstHost.bat > vsthostx86_%1\VstHost.bat
sed -e 's:vsthost.exe:vsthost_%1.exe:' -e 's:$:\r:' < vsthostx86\VstHostKill.bat > vsthostx86_%1\VstHostKill.bat
rename vsthostx86_%1\vsthost.exe vsthost_%1.exe
pause

(the sed-command is an Unix-command and can be found in packages like Cygwin) 

The create new Vst Host instance with a command like: 
CreateNewVstHost.bat Test

Now all your Vst Host instances can have own VST Plugins, own input and outputs. ASIO4ALL have different settings for each exe-name so that's why every instance has it's own exe-name. You can start the instance with VstHost.bat and stop it with VstHostKill.bat. 

For convolver I use ConvolverVST. I found out it does not act like a decent VST plugin, it saves it's settings to Windows registry. So it's normally not possible to run two instances at the same time. Luckily it only reads the registry when it starts. That's why I run 'regedit Convolver.reg' every time I start an instance. That's how every instance can have it's own settings. Easiest way to create Convolver.reg is to export that from your own registry, registry key HKEY_CURRENT_USER\Software\Convolver\VST Plugin. The file will be Unicode, so you have to use editors like WordPad to edit it. 

Here's my file just for example: 
Convolver.reg


Code:


Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Convolver\VST Plugin]
"Attenuation"=dword:00004e20
"FilterFileName"="C:\\Program Files\\VstHost\\FIR\\20110704_FIR_Movies_20-20000_4ch_DTS_48000_Cfg.txt"
"Partitions"=dword:00000010
"PlanningRigour"=dword:00000001

Because you are changing the registry when you are starting the instance, you can only _start_ one instance at a time. (When it's started, you can start another one) 

Here's also list of some useful VST plugins for testing: 

MiniRoute66
Can reroute 5.1 channels, nice for testing.( For instance, use REW to sweep, reroute front channel to back channels and measure back speakers). 

SurMeter 7.1
Shows levels for 7.1 channnels

MAnalyzer
Frequency analyzer, but only 2-channels. 

Convolver settings: 

Music: 


Code:


44100 2 2 0
0 0
0 0
C:\Program Files\VstHost\FIR\20110704_FIR_20-10000_Left_44kHz.wav
0
0.0
0.0
C:\Program Files\VstHost\FIR\20110704_FIR_20-10000_Right_44kHz.wav
0
1.0
1.0

Movies in amplifier


Code:


48000 6 6 0
0 0 0 0 0 0
0 0 0 0 0 0
C:\Program Files\VstHost\FIR\20110704_FIR_20-10000_Left_48kHz.wav
0
0.0
0.0
C:\Program Files\VstHost\FIR\20110704_FIR_20-10000_Right_48kHz.wav
0
1.0
1.0
C:\Program Files\VstHost\FIR\20110714_FIR_50-6000_BackLeft_48kHz.wav
0
4.0
4.0
C:\Program Files\VstHost\FIR\20110714_FIR_50-6000_BackRight_48kHz.wav
0
5.0
5.0

When I watch TV via HDMI I use a different setting. I haven't measured the TV's speakers so I created a clear FIR file with Audacity ( it only contains values 0, +1 and the rest is zeroes ). Because TV is 2 channels, I combine the back channels in convolver: 


Code:


48000 6 2 0
0 0 0 0 0 0
0 0
C:\Program Files\VstHost\FIR\FIR_Clear_48000.wav
0
0.0
0.7
C:\Program Files\VstHost\FIR\FIR_Clear_48000.wav
0
1.0
1.7
C:\Program Files\VstHost\FIR\FIR_Clear_48000.wav
0
4.0
0.3
C:\Program Files\VstHost\FIR\FIR_Clear_48000.wav
0
5.0
1.3

(I would have liked to use the www-links but only after 5 posts...)


----------



## Mikkel

I am looking for VSTHost as mentioned by the thread-owner. It seems it has disappeared from the web. Do someone in here have a working link or would someone be willing to send me the app over e-mail? (mikkel.gylling.hangaard AT gmail.com)


Best regards,
Mikkel


----------



## EarlK

>  *Link to vstHost download ! *

> I guess your ISP must be blocking the relevant ISPs from a Google Search . Where are you located ?

:sn


----------



## Mikkel

Thank you for the link. Maybe the site was down yesterday, when I checked - even at the site you linked to. Or my ISP were making trouble. Today I had no problems accessing it.

Best regards,
Mikkel


----------



## GrandeBoma

I am trying to achieve the universal convolution too but I am unexperienced. Once I measured the room and exported the filters as wav files (mono), I cant obtain a six channel file to use in convolver. If I load the mono wav file I get an error that the file is too large. Any suggestion?


----------



## adolfotregosa

Hello. 

I'm really trying to make convolver work for every sound from windows and I don't know which sound card I should get because:

1 I'm using windows 7

2 I need surround support mainly because of games

It seams the prodigy 7.1 hifi and the 1616m are phased out products and windows 7 support seams dead so I've been looking for alternatives and came across the m-audio 1010lt..

does any user here knows if the 1010lt lets you route 6 wdm channels to 6 asio inputs like "directwire" on the prodigy so I can use vst host and convolver plugin??

thank you for the help.


----------

