Opened 3 years ago

Closed 3 years ago

Last modified 3 years ago

#9324 closed enhancement (invalid)

VST Plugin Support

Reported by: Arno Le Prioux Owned by:
Priority: wish Component: avfilter
Version: unspecified Keywords:
Cc: Arno Le Prioux Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

Hello,

I come from the audio engineering world where we use DAWs, and VST plugins are the most widespread form of free audio plugins (expensive ones to pay for are Audio Units by Apple and AAX by Avid).

I love the available audio processors in ffmpeg and the ladspa plugins (particularly the CAPS guitar amps ones). But I couldn't find bass amp and cabinet emulations anywhere and I also miss the VST plugins I'm used to.

So I was hoping to get the best of both worlds ! I know the VST SDK has a command line VST Host for testing plugin compliance with their API. Source code is available. Someone could get that code, discard all the test elements from it, and then hook up the audio ins and outs where relevant in ffmpeg. Also allow ffmpeg to list plugin parameters as they must be listable somewhere with the API.

Could someone do it ? Pretty please ? If not: why not ? Are there compatibility, performance difficulties I'm not seeing ? Or political, legal, licence ones ?

Thank you !

Change History (14)

comment:1 by Carl Eugen Hoyos, 3 years ago

Component: ffmpegavfilter
Keywords: VST Plugin removed
Priority: normalwish
Resolution: invalid
Status: newclosed

VST does not look like open-source software to me.

in reply to:  1 comment:2 by Arno Le Prioux, 3 years ago

Replying to Carl Eugen Hoyos:

VST does not look like open-source software to me.

Hello ! How do you mean ? (I'm not an expert, I'm really naively asking)
I think you can see their code in the SDK (I downloaded it and took a look and used my ide's "go to definition" feature and could go down to atomic definitions), and people are free to use VST. I think you can redistribute it if you don't modify their code.
Is there something else that makes it not open source in your view ?

comment:3 by Elon Musk, 3 years ago

I think that VST host without GUI stuff (thus with limited functionality) could be done in similar way as LADSPA and LV2 host are done in libavfilter.

Main reason why I never wrote VST host code in libavfilter is because of nightmare to get SDK build and running with VST plugins.

There are open source VST plugins if you did not know.

in reply to:  3 comment:4 by Arno Le Prioux, 3 years ago

Replying to richardpl:

I think that VST host without GUI stuff (thus with limited functionality) could be done in similar way as LADSPA and LV2 host are done in libavfilter.

Main reason why I never wrote VST host code in libavfilter is because of nightmare to get SDK build and running with VST plugins.

There are open source VST plugins if you did not know.

Yes ! The VST SDK has a command line VST host for testing compliance to their API model. It's called something like VST tester or something. You can compile it and see the source code. You could discard the test classes/methods and keep the host and add it to ffmpeg. And yes you could implement it like ladspa on how to call your VST plugins in ffmpeg's and edit the parameters !
The big advantage would be that ffmpeg could tap into the numerous free VST Plugins that are out there.
That's what I was hoping to get by going by starting this ticket 😅

comment:5 by Arno Le Prioux, 3 years ago

So ! In the end I didn't understand: is the ticket closed because of lack of interest/time, or is VST really not open source and if not: why specifically ?

Thanks for helping me understand !

comment:6 by Elon Musk, 3 years ago

Is there SDK available for download that enables building of host code?

Do you have links?

comment:7 by Arno Le Prioux, 3 years ago

Edit: Woops I think I double posted, please check next message

Last edited 3 years ago by Arno Le Prioux (previous) (diff)

comment:8 by Arno Le Prioux, 3 years ago

Sure !

Main page, and then link to download the SDK:

https://developer.steinberg.help/display/VST
https://developer.steinberg.help/display/VST/VST+3+Links

VST Plug-in Test Host: validator

https://developer.steinberg.help/display/VST/VST+3+Plug-in+Test+Host

Properly downloading and compiling their SDK is pretty crappy to be honest. Follow their instructions to the letter and you'll get nowhere. So here's what I did to get setup:

Followed this procedure:
https://forums.steinberg.net/t/cmake-configuration-error-for-beginner/721459/12
(don't get their zip file, use the git clone command)

git clone --recursive https://github.com/steinbergmedia/vst3sdk.git

Then build as they recommend:
mkdir build
cd build

cmake ../vst3sdk

cd public.sdk/samples/vst-hosting/validator
make

VST Host called validator is now in build/bin/Debug

You'll find its source code if you look around in the public.sdk folder structure !

in reply to:  6 comment:9 by Arno Le Prioux, 3 years ago

Replying to richardpl:

Is there SDK available for download that enables building of host code?

Do you have links?

Hi ! Please check my previous message for the links you requested !

Thank you very much.

comment:10 by Arno Le Prioux, 3 years ago

So, is it doable ?
I'm not good at coding so actually I'm not sure if you could use validator with all the test parts thrown away as a VST host.

Could someone take a look ?

comment:11 by Elon Musk, 3 years ago

I'm busy, but may take a look at weekend. Do note that for successful development I will need to have straightforward building of this VST SDK code and also open source VST plugins for my Linux architecture. For VST plugins I already have some candidates.

Is there some other way to contact you? Mainly for getting help testing filter on Windows.

in reply to:  11 comment:12 by Arno Le Prioux, 3 years ago

Replying to richardpl:

I'm busy, but may take a look at weekend. Do note that for successful development I will need to have straightforward building of this VST SDK code and also open source VST plugins for my Linux architecture. For VST plugins I already have some candidates.

Is there some other way to contact you? Mainly for getting help testing filter on Windows.

Hi ! Thanks for taking a look. I'm on vacation until end of next week and only have a Linux Ubuntu (special Dell) Laptop with me here, no windows machine.

But after next week sure I can try out some windows for you. How can we exchange email addresses privately ? Tried to click your name and look at the menus to see direct messaging, but couldn't see it.

comment:13 by Elon Musk, 3 years ago

The VST headers are for C++, so filter will need to be C++ too.
This will be little problematic as libavfilter is C only.

What VST3 linux plugins you want to use with libavfilter VST host?

comment:14 by Arno Le Prioux, 3 years ago

Hi ! Been busy on things, sorry for the late reply. Returning from vacation today !

We could try the LSP VST plugins ! They're pretty neat. Though they have a lot of parameters. Is there a VST version of TAP ? Otherwise: let's pick any VST you like.

Note: See TracTickets for help on using tickets.