WaveWarp Users' Guide: last updated 28 February 2002
  

8.1-- Multirate Audio Engine |
 
|
8.1.1-- Introduction to multirate digital signal processing |
 
|
The WaveWarp Audio Engine is intrinsically multirate, which means that there can be a variety of different sample rates active on the DrawingBoard simultaneously. The Multirate category of the Component Library contains a range of real-time sample-rate converters (for both audio signals and control signals) which allow you to downsample or upsample by any integer factor. This adds greatly to the flexibility of the software, allowing you to build highly-efficient multirate algorithms.
For example, if you wish to build a DrawingBoard which enhances the low-frequency bass tones of a 44.1 kHz audio file using a digital filter, the multirate downsamplers can be used to reduce the sample rate at which the filter is implemented. This allows for highly efficient and elaborate filter structures running at a few hundred hertz instead of at 44.1 kilo-hertz. Multirate upsamplers are then used to restore the signal to the sample rate required by the output device (e.g. 44.1 kHz, or any other sample rate supported by the device).
The Example DrawingBoards include some instructive examples of the use of multirate components to create elaborate effects (including the bass filtering discussed above).
8.1.2-- Rules of connectivity specific to multirate DrawingBoards |
 
|
The following basic rules apply when working with multiple sample rates:
¬ Whenever it is required to reduce the sample rate of an audio signal, an audio downsampler component must be used. All components down-stream of an audio downsampler will adopt the sample rate of the output of the audio downsampler.
¬ Whenever it is required to increase the sample rate of an audio signal, an audio upsampler component must be used. All components down-stream of an audio upsampler will adopt the sample rate of the output of the audio upsampler.
¬ Whenever it is required to reduce the sample rate of a control signal, a control downsampler component must be used. All components down-stream of a control downsampler will adopt the sample rate of the output of the control downsampler.
¬ Whenever it is required to increase the sample rate of a control signal , a control upsampler component must be used. All components down-stream of a control upsampler will adopt the sample rate of the output of the control upsampler.
¬ All audio and control inputs to a component must have the same sample rate.
¬ All audio and control components (except for downsamplers or upsamplers) which are connected together must have the same sample rate.
¬ Any component other than an Input Audio File which has no inputs (i.e. a Signal Generator or Input ASCII file) can either inherit its sample rate from a down-stream component(s), or enforce a sample rate on the downstream component(s). Switching between these two options is facilitated via the dialog box which appears when the "Sample-rate setting for Signal Generators and Input ASCII files" button on the toolbar is pressed, as illustrated below. The dialog box can also be activated by right-clicking on the component and choosing the "Sample-Rate setting" menu option. The dialog box also automatically appears when the component is initially placed on the DrawingBoard. If the output of such a component is connected (in parallel) to multiple down-stream components, these must all have the same sample rate.
WaveWarp will not allow you to violate these basic rules.

Figure 83 Screenshot of the dialog box for setting the sample rate of components which have no inputs (except for Input Audio Files).
8.1.3-- Displaying the different sample rates used on a DrawingBoard |
 
|
The sample rates of all signals on all DrawingBoards can be displayed by pressing the "Display all sample-rates on all DrawingBoards" button on the toolbar (see Figure 11) (or, equivalently, by selecting "Display Sample-Rates" in the Options menu). An example of a DrawingBoard with "Display Sample-Rates" selected is shown in Figure 84.

Figure 84 Screenshot illustrating the use of the Display Sample-Rates option. In this example, two sample rates are evident, namely 44100 Hz and 22050 Hz.

   
|