|
|
|
|
|
VST-Plugin "FTM String"
Within the scope of a student project under the supervision of
Stefan Petrausch,
Daniel Maaß programmed a so called
VST-plugin (Virtual Studio Technology), with which it is now possible to test the algorithms for digital sound syntheses via physical modeling, developed at the laboratory, in practice. In doing so, a model of an oscillating string in terms of a partial differential equation was solved with the
Functional Transformation Method (FTM) and implemented by Stefan Petrausch using the programming language C++. The resulting code was adopted and replenished by Daniel Maaß to the needs of the VST-interface. In addition, a first version of a Graphical User Interface (GUI) was developed. The complete plugin can be downloaded in the sequel for free. Have fun with testing and exploring.
VST-interface
The "Virtual Studio Technology" (VST) was developed by Steinberg in 1996 and serves as a flexible programming interface,
enabling experienced programmers to run their own code for digital sound processing as a plugin within VST compatible host platforms. A typical example for such a host platform is
CuBase, developed by Steinberg themselves. However, as VST is an open standard there are several other host applications and there is a serious amount of available VST-plugins. Further information concerning VST is provided by Steinberg, and detailed information for programmers, including a "Software Development Kit" (SDK) can be found here.
The Plugin
Primarily the plugin provides a simulation of an oscillating string which is excited at a certain point by plucking or striking. However, due to the generality of the string model, it is possible to simulate any kind of one-dimensional oscillating object with this plugin. This includes a number of string instruments, like guitars, basses, and the Cembalo, but also several percussion instruments, like the xylophone, the vibraphone, and chimes. The type of simulated instrument is determined alone by the physical parameters of the model, which can be adjusted both continuously variable and on the fly. Hence, the advantage of the plugin, and in consequence the advantage of the Functional Transformation Method (FTM), is more the variability and the flexibility of the synthesizer, rather than the exact reproduction of real instruments. This parameter-scratching feature offers a new dimension in musical expressiveness.
The plugin comes with its own Graphical User Interface (GUI), which grants access to all the mentioned physical parameter. A picture of this user interface with additional descriptions can be found here. The integration of this plugin in the host-application (here CuBase as an example) is shown here. For a better understanding of the plugin, the following table provides a detailed description of all parameters and control elements, as they appear in the plugin interface.
parameter |
description: |
type: |
name |
|
physics |
Young's modulus |
rigor of the material: resistance against bending. |
" |
mass density |
density of the material: weight of the string in relation to its volume. |
" |
cross section area |
cross section area: thickness of the string squared times Pi divided by 4. |
" |
moment of inertia |
geometry-constant: For circular and long string 1/12*mass*length*length. |
" |
string tension |
tension of the string: Force with which the string is mounted. |
" |
frequency independent |
damping: frequency independent damping of the string. |
" |
frequency dependent |
damping: frequency dependent damping of the string, higher partials are damped more. |
" |
release |
release time: amount of time after which the sound drops by 60dB after the guitarist has damped the string. |
excitation |
excitation point |
point of excitation: point (0%-100%) at which the string is plucked by the guitarist. |
" |
input type |
type of excitation: type or style which is used to play the guitar. |
" |
input length |
length of excitation: hardness which is used to play the guitar. |
recording |
record point |
pick-up point: point (0%-100%) where the pick-up is located. |
control |
borders |
range of values: enables free adjustment of the physical parameter ranges. |
" |
voices |
polyphony: determines the maximum number of simultaneously sounding strings. |
" |
harmonics |
partials: number of partial used to simulate the guitar string, determines the sound quality. |
" |
volume |
volume control: loudness of the plugin. |
Download
At the moment only a Windows-version is ready for download. A Macintosh-version as well as a Linux-version are in progress. Useful tips and proposals are welcome. For installation, one only has to move the "dll" to the VST-folder, in order to enable the host-application to find the plugin. Further instructions can be found in the user manual of the host-application.
|
|
|