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 ?
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
sure you understand what i mean....
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
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
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);
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);
Mike, I found
vstsdk2.4\public.sdk\source\vst2.x\audioeffectx.h
and,
/arch (Minimum CPU Architecture)
use SSE2.
add .def file into the project, contains..
EXPORTS
VSTPluginMain
main=VSTPluginMain
vstsdk2.4\public.sdk\source\vst2.x\audioeffectx.h
and,
/arch (Minimum CPU Architecture)
use SSE2.
add .def file into the project, contains..
EXPORTS
VSTPluginMain
main=VSTPluginMain
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)
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"
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.
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.
one question:
Can you time-allign drivers using Reaper?
Thanks
Time-allign, means "delay"? yes, I can use delay VST.
Member
Joined 2009
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.
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.
- Home
- Source & Line
- PC Based
- AVX based FIR VST, crossover / EQ / DRC and delay