WIP Adding Audio DSP Plugin to AddonManager
#19
Let's be straight and practical. Let's check if this can be compliant with a straightforward (should I say canonic and orthogonal) diyAudio usage.

Stage 1 in the audio DSP pipeline :
I'm watching a 5.1 movie.
I'm using a 8-channel USB audio card like SWEEX SC016.
Actually I'm not interested in multichannel audio.
I prefear listening to a 2.0 downmix with the left and the right speakers both conveying the sub channel.
All what matters, is to select, load and execute a VST plugin doing the stereo downmix.
Such VST plugin can easily be designed and compiled using Flowstone - but how to deal with the VST GUI defining the sub amplitude and the sub phase ? Relying on dialog boxes ? Or naming a text file ?

Stage 2 in the audio DSP pipeline :
My listening room has damping and resonances that I would like to compensate in stereo.
- eight IIR BiQuads filters per channel (16 IIR BiQuad filters in total)
- one 1024-tap FIR filter per channel (2 FIR filters in total)
- one delay (multiples of the audio sampling period) per channel (2 delays in total)
Again, this can be a VST designed and compiled by Flowstone, and this time the VST GUI should be very simple like naming the text file containing all IIR BiQuad coefficients, all FIR coefficients, and all delay values.

Stage 3 in the audio DSP pipeline :
I would like to add multiband dynamics processing, say Hans van Zutphen "Stereo Tool" VST plugin for Windows X86 32 bit hosts
All what matters, is to select, load and execute Hans van Zutphen "Stereo Tool".
Two channels in, two channels out.
And what about the GUI ?

Stage 4 in the audio DSP pipeline :
After correcting the acoustics of my listening room I would like to synthesize tailor-made room acoustics.
All what matters, is to select, load and execute .... (write here your preferred room acoustics synthesis VST)
Two channels in, two channels out.
And what about the GUI ?

Stage 5 in the audio DSP pipeline :
What to do with a 8-channel USB audio attachement like SWEEX SC016, while only processing 2 audio channels (Left and Right) ?
Answer : the aim is to implement a stereo 4-way crossover.
Thus, "left" becomes 4 channels and "right" becomes 4 channels also.
There are many different crossovers topologies.
Let's go for a straightforward one.
- eight IIR BiQuad filters per output channel (64 IIR BiQuad filters in total)
- one 1024-tap FIR filter per output channel (8 FIR filters in total)
- one delay (multiples of the audio sampling period) per output channel (8 delays in total)
The VST GUI should be very simple like naming the text file containing all IIR BiQuad coefficients, all FIR coefficients, and all delay values.
There can be more elaborated crossovers, to be selected as alternate crossovers, requiring other kind of text files for the parameters.

Stage 6 in the audio DSP pipeline :
The eight channels must be routed to the SWEEX SC016.
or Terratec Aureon 7.1 USB
or Creative Sound Blaster X-Fi Surround 5.1 Pro USB Sound Card.
or ASUS Xonar U7.
Using XBMC on a Windows PC
or using XBMC on a ARM-Android TV Box.

What's described above should also work when listening to music (WMA, MP3, FLAC, OGG, APE).

Are we heading towards this, really, and multiplatform ?

Plese read Tom Gersic about VST User Interfaces :

1. All user-interface issues are entirely separated from the audio processing issues. At its simplest there is an option where you can avoid providing a user interface at all. In this case the host requests character strings from the Plug-In representing each of the parameters. The host can use the separate ASCII strings for the value, the label, and the units of the parameters to construct its own user interface. This is how the simple code-examples, AGain & ADelay, work. This is also often a good way to develop a VST Plug-In, it offers a very short development cycle to start to test the algorithm. The proper interface can come later.

2. The next user interface level is provided when the Plug-In defines its own editor. This allows practically any user interface to be defined. A negative aspect is that then you can quickly land up in platform specifics when dealing with the nuts an bolts of the interface issues, even though the audio process, the concepts and methodology remain platform independent.

3. The final option is to use a portable framework for creating sophisticated user interfaces. This framework takes the form of the VSTGUI Library files that are available for all supported VST platforms. Apart from converting a few pictures from one resource format to another, for which there are tools available, and setting up the initial project files, writing a VST 2.3 Plug-In can really be completely cross-platform (some given examples: ControlsGUI, ADelayEditGUI, SurroundDelay). VSTGUI Library files and their usage is completely described in the HMTL files that accompany this SDK. After reading about the underlying issues in this document and associated code examples, the VSTGUI comes very highly recommended.

1-2-3 come from Tom Gersic - http://www.gersic.com/vstsdk/

Hope this "wall of text" helps.
Reply


Messages In This Thread
RE: Adding Audio DSP Plugin to AddonManager - by steph_tsf - 2014-04-19, 22:45


Logout Mark Read Team Forum Stats Members Help
Adding Audio DSP Plugin to AddonManager7
This forum uses Lukasz Tkacz MyBB addons.