Last Updated September 28, 2006
Warren W. Gay VE3WWG
The actual recording and the subsequent editing of sound need not be performed by the same package, but it often is. This page's focus will primarily about what software to acquire for these functions.
A future separate page for advice on digitally mixing audio may appear at a future date.
Probably the first factor in software tool selection comes down to cost:
Most commercial Digital Audio Workstation (DAW) packages come in multiple editions, ranging from low cost to professional editions. These packages tend to be the most mature and should be considered by professionals.
Shareware software obviously lets you try it for a while before you register and pay for the product. Shareware software is usually crippled in some way ("crippleware"), either in functionality or by time. Alternatively it may not be crippled but include nagware instead.
Free software gives you a no cost alternative to use without making a huge software investment. This is probably ideal for those only wishing to record themselves practicing, for backing tracks or for sharing tracks just for fun.
Here are some of the Commercial packages that you might consider:
Here is a list of free software packages:
Perhaps the last category of software related to the DAW is plugin software. Plugins are useful for extending the package that you are using with software developed by 3rd parties. Plugins are often used for sound effects, but is not limited to this. See the section Software Plugins for more information.
Steinberg's Cubase is usually considered the premier of DAW software tools. Steinberg is also the creator of the VST plugin standard. This "plugin" capability allows both free and commercial modules to be loaded into and used with Cubase. Other software packages such as Sonar and Audacity, also support the use of these plugins.
Audacity enjoys the fact that it is free and is continually evolving as the software is being developed for it. Because it is open sourced, you are free to download the source code and enhance the programming if you feel inclined.
This section broken down into the following subcategories for your convenience:
There are several different kinds of software plugins, which break down into the following major types:
For those interested in DirectX SDK's and information, visit the Windows DirectX link.
Steinberg is the creator of the VST plugin standard. According to their documentation "a VST Plug-in is a pure audio processing component, and not an audio application: It is a component that is utilized within a host application. This host application provides the audio streams that are processed by the plug-in's code". This means that a package like Cubase can support the use of other "audio processing components" written by 3rd parties. So while Steinberg is the developer of Cubase (the "host" software), you could load and use an echo or equalizer effect ("plugin") that was written by another party. To encourage the development of plugins, Steinberg has made a SDK available with documentation about how these plugins should interact with the host software. This SDK is available for downloading here.
Because the VST plugin interface is documented and freely available, it is no surprise that other software packages also support the VST plugin interface. Sonar and Audicity for example are able to host VST plugins. The level of compatibility varies however (Audacity's VST support is still maturing).
The following is a short overview from the VST Plugin introduction:
"Generally speaking, a VST plug-in it can take a stream of audio data, apply a process to the audio, and return the result to the host application. A VST Plug-In performs its process normally using the processor of the computer; It does not necessarily need dedicated digital signal processors. The audio stream is broken down into a series of blocks. The host supplies the blocks in sequence. The host and its current environment control the block-size. The VST Plug-In maintains the status of all its own parameters relating to the running process: The host does not maintain any information about what the plug-in did with the last block of data it processed.
From the host application’s point of view, a VST Plug-In is a black box with an arbitrary number of inputs, outputs (MIDI or Audio), and associated parameters. The host needs no implicit knowledge of the plug-in's process to be able to use it. The plug-in process can use whatever parameters it wishes, internally to the process, but depending on the capabilities of the host, it can allow the changes to user parameters to be automated by the host."
If you (or a friend) are interested in programming a new plugin, then download the VST SDK and look at the documentation and C++ source code provided. The design of the VST plugin has the advantage that it can be designed to run on multiple platforms, including Windows, Linux and Mac. On the other hand a DirectX plugin is only going to be usable on a Windows platform.
Note that the VST SDK also includes a VSTGUI interface so that you can support user interactions with various user controls. This software is an open sourced effort located here. Here is an excerpt about VSTGUI:
"Providing an interface to your Plug-In makes you be immediately confronted with platform specifics of different windows handling and event handling models. For this very reason, the VSTGUI libraries have been created. These are available for all supported platforms and make the handling of user interaction with a graphic-rich user interface also cross-platform. Thus they propose common objects for plugs's GUI, like knobs, sliders ...and of course nothing prevents you from adding via inheritance any more specific components you should need."
One of the best places for plugins is the www.kvraudio.com site. They have plugins carefully cateloged in a searchable database, provide user forums and tutorials etc. Plugins fall into the following categories:
Instruments can be synthesizer, synthesized drums, pianos and even a software guitar. Effects include delay/echo, deesser, distortion, compressor/limiter, equalizer, exciter/enhancer, filters, noise gate, reverb, vocoders and more.
Also available at the www.kvraudio.com site for download are:
Host software is software that can play host to a plugin. Some of the types that the kvr site classifies by, include:
Within the development tools category are IDEs (Integrated Development Environment), scripts and SDKs.
Within the category of plugins however, we will not be too concerned about hosts and development tools.
To be completed... until then stay tuned.