howto design a VST-wrapper friendly VST ?
Posted: Mon Apr 21, 2014 1:05 pm
I'm afraid this time I have nothing to show, apart from a concept. With big potential, I think.
I remain amazed by the ease, comfort and elegance provided by Flowstone when designing realtime audio DSP stuff. In June-July 2013 I've received fantastic support from Flowstone contributors like MyCo (IIR filters using green code, zero audio protection), DWT (trigger galore elimination) and Manton (cleaning up bits and pieces). Special mention to Nubeat7 and MyCo who helped in debugging the knobs I've been using in the control panels.
Those last months, I've been wandering on VLC, XBMC, FOOBAR and WINAMP forums searching if those music players can deliver bit-exact stereo audio streams to a virtual output port, for feeding a custom-made DSP module that would operate as stereo 4-way crossover, and ASIO-talk to the hardware like the motherboard HDaudio (ASIO4ALL driver), the multichannel USB audio adapter (ASIO driver supplied with the hardware), or the HDMI 8-channel LPCM (ASIO4HDMI driver - IMO doesn't exist yet).
On VLC forum Jean-Baptiste Kempf kindly pointed out that one can do an "audio filter" including resampling, upmixing, downmixing and everything. There are examples of this already like scaletempo or downmixer. Unfortunately you need good programming skills for writing and integrating such "audio filter" in VLC. Jean-Baptiste Kempf kindly recommended reading the VLC wiki and VLC doxygen.
https://forum.videolan.org/viewtopic.ph ... io#p392190
On XBMC forum Martijn suggested that I develop something and create a pull-request on github. FernetMenta pointed out that XBMC already has it's plugin/addon concept, however currently there is no extension point to audio, but this would be feasible. FernetMenta suggested that an addon could provide some UI for DSP configuration and functions for the audio engine which would be called at the right stage. Fritsch recommended implementing the audio DSP features like into a Sink compliant with their brand new ActiveAE (Active Audio Engine) architecture they were still debugging. A few days later FernetMenta ironically commented that "millions audiophiles want something on XBMC and no one of them is stepping up to actually do something for XBMC". Then came NotMediaSavvy, not a XBMC team-member, explaining the reasons of the deadlock : "Implement VST, AU, and LADSPA and you'll see how fast we step up. Don't make us learn some new unproven interface technology that you've designed because we just won't."
The discussion is here : http://forum.xbmc.org/showthread.php?tid=178611&page=3
On XBMC forum, came Alwinus and Wisler, actually implementing what Martijn suggested. Actually this is not yet finished. Then came thecYrus, pointing out the same idea as NotMediaSavvy : "it's pretty nice to have DSP support. But I think you should add VST support instead of doing yet another plugin format. That would make it way more interesting as there are already so many plugins available." Alwinus claims to be the first implementing what FernetMenta suggested. Alwinus wrote that Wisler copied the GUI templates he published in first place on XBMC github. Alwinus is relying on XBMC for Linux, while Wisler is relying on XBMC for Windows.
The discussion is here : http://forum.xbmc.org/showthread.php?tid=186857&page=2
Alwinus github is here : git clone git://github.com/AlwinEsch/xbmc.git -b audio-dsp-addon-handling
Here also : https://github.com/xbmc/xbmc/pull/4402
Here also : https://github.com/AlwinEsch/xbmc/blob/ ... sp_types.h
Here also : https://github.com/AlwinEsch/xbmc/blob/ ... adsp_dll.h
On FOOBAR forum there is mention of two different VST wrappers (as plugins) allowing FOOBAR to send bit-exact audio to a VST stack.
Yohng VST wrapper for FOOBAR is here : http://www.yohng.com/software/foobarvst.html
Yegor VST wrapper for FOOBAR is here : http://www.hydrogenaudio.org/forums/ind ... opic=84947
On WINAMP forum a search on the "VST" keyword returns nothing.
Fortunately there is Christian W. Budde website, presenting :
- WINAMP VST Host
- WINAMP ASIO output plugin.
This is here : http://www.savioursofsoul.de/Christian/programs/winamp/
Several VST plugins can be chained using a VST “chain” plugin.
Christian W. Budde WINAMP VST Host has been awarded as “Shareware Music Machine Editor’s Choice”.
I remain amazed by the ease, comfort and elegance provided by Flowstone when designing realtime audio DSP stuff. In June-July 2013 I've received fantastic support from Flowstone contributors like MyCo (IIR filters using green code, zero audio protection), DWT (trigger galore elimination) and Manton (cleaning up bits and pieces). Special mention to Nubeat7 and MyCo who helped in debugging the knobs I've been using in the control panels.
Those last months, I've been wandering on VLC, XBMC, FOOBAR and WINAMP forums searching if those music players can deliver bit-exact stereo audio streams to a virtual output port, for feeding a custom-made DSP module that would operate as stereo 4-way crossover, and ASIO-talk to the hardware like the motherboard HDaudio (ASIO4ALL driver), the multichannel USB audio adapter (ASIO driver supplied with the hardware), or the HDMI 8-channel LPCM (ASIO4HDMI driver - IMO doesn't exist yet).
On VLC forum Jean-Baptiste Kempf kindly pointed out that one can do an "audio filter" including resampling, upmixing, downmixing and everything. There are examples of this already like scaletempo or downmixer. Unfortunately you need good programming skills for writing and integrating such "audio filter" in VLC. Jean-Baptiste Kempf kindly recommended reading the VLC wiki and VLC doxygen.
https://forum.videolan.org/viewtopic.ph ... io#p392190
On XBMC forum Martijn suggested that I develop something and create a pull-request on github. FernetMenta pointed out that XBMC already has it's plugin/addon concept, however currently there is no extension point to audio, but this would be feasible. FernetMenta suggested that an addon could provide some UI for DSP configuration and functions for the audio engine which would be called at the right stage. Fritsch recommended implementing the audio DSP features like into a Sink compliant with their brand new ActiveAE (Active Audio Engine) architecture they were still debugging. A few days later FernetMenta ironically commented that "millions audiophiles want something on XBMC and no one of them is stepping up to actually do something for XBMC". Then came NotMediaSavvy, not a XBMC team-member, explaining the reasons of the deadlock : "Implement VST, AU, and LADSPA and you'll see how fast we step up. Don't make us learn some new unproven interface technology that you've designed because we just won't."
The discussion is here : http://forum.xbmc.org/showthread.php?tid=178611&page=3
On XBMC forum, came Alwinus and Wisler, actually implementing what Martijn suggested. Actually this is not yet finished. Then came thecYrus, pointing out the same idea as NotMediaSavvy : "it's pretty nice to have DSP support. But I think you should add VST support instead of doing yet another plugin format. That would make it way more interesting as there are already so many plugins available." Alwinus claims to be the first implementing what FernetMenta suggested. Alwinus wrote that Wisler copied the GUI templates he published in first place on XBMC github. Alwinus is relying on XBMC for Linux, while Wisler is relying on XBMC for Windows.
The discussion is here : http://forum.xbmc.org/showthread.php?tid=186857&page=2
Alwinus github is here : git clone git://github.com/AlwinEsch/xbmc.git -b audio-dsp-addon-handling
Here also : https://github.com/xbmc/xbmc/pull/4402
Here also : https://github.com/AlwinEsch/xbmc/blob/ ... sp_types.h
Here also : https://github.com/AlwinEsch/xbmc/blob/ ... adsp_dll.h
On FOOBAR forum there is mention of two different VST wrappers (as plugins) allowing FOOBAR to send bit-exact audio to a VST stack.
Yohng VST wrapper for FOOBAR is here : http://www.yohng.com/software/foobarvst.html
Yegor VST wrapper for FOOBAR is here : http://www.hydrogenaudio.org/forums/ind ... opic=84947
On WINAMP forum a search on the "VST" keyword returns nothing.
Fortunately there is Christian W. Budde website, presenting :
- WINAMP VST Host
- WINAMP ASIO output plugin.
This is here : http://www.savioursofsoul.de/Christian/programs/winamp/
Several VST plugins can be chained using a VST “chain” plugin.
Christian W. Budde WINAMP VST Host has been awarded as “Shareware Music Machine Editor’s Choice”.