Introduction

This website is mainly dedicated to several programming techniques for VST (Virtual Studio Technology) -
a software technology developed by Steinberg, Media Technologies. We are not a part of the Steinberg development team.

The VST interface is a very popular open standard for realtime digital audio processing, adapted by most serious audio applications. VST plugins can be plugged into any VST compliable host application and so provide a wide range of additional Digital Signal Processing (DSP) services from simple effects to highly complex sound rendering, manipulation and analysis.

Our intention is to take some looks at the possibilities of this interesting technology and discover some new and fascinating ways of implementation and extension. We will examine, how we can connect other available programming technologies to VST, especially how we can implement advanced user interfaces into VST plugins. Also we will take a look at DSP programming in general and show some ways of optimizations for streaming audio.

Currently the following articles are available:

Article 1: "Designing VST plugins completely 'visual' with Borland C++Builder®"
Article 2: "Building and implementing graphical user interfaces for VST plugins with Macromedia Flash®"
Article 3: "Optimising streamed floating point processing with Inline Assembler using SIMD instruction sets"
Article 4: "Micro surgical implementation of a 4 pole low pass filter with Inline Assembler"

The article series will be extended step by step. Additionally the plan is to provide a collection of useful links to programming resources and information for C/C++ and Assembler programmers addicted to VST programming. If you are interested, you can join the team and publish your own articles on this website.

Contact: developers@klangformer.de

News: New Horizon for Plug-Ins

Steinberg recently released a new MIDI programming interface for Cubase SX, the VST Module Architecture. With this new interface it is possible to develop MIDI effects and all kind of other MIDI processing plugins for hosts, supporting this new technology. In this way those hosts can be extended to provide all kind of useful and/or specialised additional MIDI services.

A few days after release of the new SDK we have started to develop a new VCL component for our !j development VST® ToolKit for Borland C++Builder®.

With this component and the base VST components, you can design new MIDI plugins for Steinbergs VST Module Architecture on the fly. The usage differs not so much from the development of normal VST plugins with our component package.
You design MIDI modules completely visual with C++Builder, using the VSTGUILib in realtime.
We also will prepare an instantly usable startup template for "compile on the fly" VST Module plugins.

The first project we prepare (as an example application) is the Remote desktop plugin for the Access® Virus b©* synthesizer. With this plugin it will be possible to automate a Virus b synthesizer directly from within the host application. Additional there is planned a variety of functionality to manage sound banks and SysEx dumps of the Virus b hardware synthesizer with this interface.

It is also possible to use this module to automate our Klangformer synthesizer alternatively in realtime.

Here some screens of the first results:

Furthermore is thinkable to develop a generic remote desktop plugin, which the user can modify via a string based *.ini file, to build its own skinable MIDI automation plugins. The plan is to prepare a single plugin, which can be very easy used to design all kind of MIDI remote applications for all possible hardware inside a studio setup.

Such a plugin would be actually very useful, because Steinberg has dropped the complete former Studio Module of the older Cubase versions in SX without any replacement.
A generic Studio Module based on the new Module Architecture would close an important productivity hole with the current Nuendo-based host applications by Steinberg.

[*] = Access and Virus b are registered trademarks of Access Music Electronics, Germany

© 2003 !j development
division programming & audio