AVX based FIR VST, crossover / EQ / DRC and delay

Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.
ART Technica Console,
I downloaded demo version and tried.
it is working? The VST is 11/13/2011 version.
Now I can not help you, the 'error' does not happen to me.
 

Attachments

  • 2011-11-16 21.08.10.png
    2011-11-16 21.08.10.png
    81.1 KB · Views: 249
Hi Koon,
I re install Console : it is not working better.
I tried Reaper :
When Reaper is scanning the plugin i have the error :"Plug-in"VST_SSEFIR.DLL" executed invalid operation during scanning.
If i dont select the option "Get VST names/type when scanning"
Reaped load the plugin but crashes when i tried to use it ....
Reaper load my other plugins fine.
My OS is XP does it makes a difference ?
 
Hello KOON once again
there is an idea ho to improve greatly the plug in accuracy
cant say how i can be done but
the main concept i found on the DSPre 1 holm acoustic

so the idea


FILTERS Filter 1 Frequency span : 0Hz to 700Hz
Type: 16xdecimation, Finite Impulse Response - 1023 taps
(Equals 16368 taps @ 44.1kHz)

Filter 2 Frequency span : 0Hz to 4kHz
Type: 4xdecimation, Finite Impulse Response - 1023 taps
(Equals 4092 taps @ 44.1kHz)

Filter 3 Frequency span : 0Hz to 22kHz
Type: Finite Impulse Response - 1023 taps @ 44.1kHz

sure you understand what i mean....
 
Last edited:
Hi, decimation (X) for frequency span << (44100/X/2), {/2 to avoid down-sampling alias noise}
it sounds like professional :)

good: accuracy, steep filter at lower frequency area with small CPU load
difficulty(1): maybe with range control UI / adaptive sampling rate / upsampling + interpolation before output, the source code will be something huge one.
difficulty(2): audio fanatics will not like decimation, they love upsampling and bit-perfect.

maybe simply expand to 8192taps, should be acceptable solution:eek:
 
Hi Mike, great :)
I will take a look this evening.
please check your VST SDK version, "How to compile the source code you need Steinberg's VST SDK (2.4)"

cka3o4nuk,
One thing I noticed now, This debug routine is alive on VST_AVXFIREQ.
Please make "C:\VST" folder and try again.

//debug
FILE * f;
_wfopen_s(&f, L"C:\\VST\\FreqGain.txt", L"w");
fprintf(f, "i,freq,gin\n");
for (int i = 0 ; i < DEFTAPS/2; i++)
{
fprintf(f, "%d,%7.2lf,%3.5lf\n", i, (float)(SampleFreq * (i + 1)/DEFTAPS), Gain);
}
fclose(f);
 
Hi Mike
canProcessReplacing found in audioeffect.cpp
and,,,

#if VST_2_4_EXTENSIONS
canProcessReplacing (); // mandatory in VST 2.4!
cEffect.processDoubleReplacing = processClassDoubleReplacing;
#endif

So, please check your project has audioeffect.cpp and,
aeffect.h has
// VST Plug-Ins SDK
// Version 2.4 $Date: 2006/06/20 17:22:55 $
:
#ifndef VST_2_4_EXTENSIONS
#define VST_2_4_EXTENSIONS 1 ///< Version 2.4 extensions (01-01-2006)
#endif

if not, you are loading lower version VST SDK?
(VST, ASIO, too much confusing.. but some kind of standard)
 
Hi Koon
When i checked aeffect.h i mistaken , so lines :
#ifndef VST_2_4_EXTENSIONS
#define VST_2_4_EXTENSIONS 1 ///< Version 2.4 extensions (01-01-2006)
#endif
are present in the file and version is :
// VST Plug-Ins SDK
// Version 2.4 $Date: 2006/06/20 17:22:55 $
The SDK fike is "vst_sdk2_4_rev2.zip"
 
So you have 2.4 SDK, but your project can not find 2.4 SDK?
I think you also have 2.3 SDK and your project is looking it.
Maybe,
(1) remove 2.3 SDK. search audioeffect.h for whole PC, if found more than 1, duplicated.
(2) Check Visual Studio, Project, Property, VC directory.
I have "C:\VST\vst_sdk2_4_rev2\vstsdk2.4\pluginterfaces\vst2.x;$(IncludePath)"

And, Can you build sample VST, like adelay or again? This is important.
It shows how to build VST.
Then, you can use my source code to build yours.
 
Hi KOON3876,

Thank you for sharing this groundbreaking work. It's very exciting to see FIR filters on Windows for free. However I don't feel that the VST platform is the best route for implementation. I'd much rather see a crossover done in the audio driver so all audio played on the computer will be processed before reaching the soundcard outputs. I looked into writing virtual audio drivers but the learning curve is very steep.

There's also another alternative that involves 2 sound cards and a standalone application doing the processing. Card1 will be designated as the default sound on the system. The physical output on Card1 will be looped back to the input on Card1 with a patch cable (preferably on the digital path to avoid unnecessary conversion to analog). Then a standalone program running on the PC will read the input from Card1, do the FIR processing and output the filtered signals on Card2's outputs. This way unprocessed data never reaches Card2's outputs.
 
Status
This old topic is closed. If you want to reopen this topic, contact a moderator using the "Report Post" button.