Sounds Logical
home

WaveWarp Users' Guide: last updated 28 February 2002

Table Of ContentsNext Page

WaveWarp Users' Guide (Software Version 2.0.4)

© COPYRIGHT 1998-2002 by Sounds Logical. All rights reserved.

The software described in this document is furnished under a license agreement. The software may be used only under the terms of this agreement.

WaveWarp, WaveWarp DrawingBoard, WaveWarp Audio Toolbox, the Sounds Logical logo, and the WaveWarp logo are trademarks of Sounds Logical. Portions of the WaveWarp software are ©1997-1999 Massachusetts Institute of Technology, used under license by Sounds Logical.

Microsoft, MS, MS-DOS, Windows, Windows 95, Windows 98, Windows ME, Windows NT, Windows 2000, and Windows XP are either registered trademarks or trademarks of Microsoft Corporation.

MATLAB is a registered trademark of The MathWorks, Inc.

Other product or brand names are trademarks or registered trademarks of their respective holders.

TABLE OF CONTENTS

1-- WELCOME 11

1.1-- System requirements 11

1.2-- Installation instructions 11

2-- GETTING STARTED WITH WAVEWARP 13

2.1-- Starting with a DirectX plugin effect example 13

2.2-- Starting with the WaveWarp Audio Toolbox for MATLAB® 13

2.3-- Starting with a standalone audio processing example 13

2.4-- Playing the DrawingBoard 15

2.5-- Looping the playback 15

2.6-- Adjusting parameters 16

2.7-- Saving and loading parameter settings 16

2.8-- The DrawingBoard Description Window 17

2.9-- Saving a DrawingBoard 18

2.10-- Opening a DrawingBoard 19

2.11-- Selecting the Active DrawingBoard 19

2.12-- Modifying an existing DrawingBoard 20

2.13-- Creating a new DrawingBoard 20

2.14-- Introduction to the Component Library 21

2.15-- Placing a component on the DrawingBoard 21

2.16-- Adjusting the position of one or multiple components 22

2.17-- Using the "Help" 22

2.18-- Displaying component information 23

2.19-- Deleting one or more components 23

2.20-- Connecting components together with virtual cables 24

2.21-- Deleting a cable 25

2.22-- A complete example 26

2.23-- Saving to an audio file 27

2.24-- Playing the saved file 27

2.25-- Real-time processing of "live" audio inputs 28

2.26-- The Example DrawingBoards 29

2.27-- The "Missing Component" icon 29

2.28-- Automated DrawingBoard Conversions 30

2.29-- Using the HotKeys 31

2.30-- A word about Paths 32

3-- USING WAVEWARP AS A DIRECTX PLUGIN 33

3.1-- DirectX Host Application Compatibility 33

3.2-- The DirectX Input Port and Output Port Components 34

3.3-- Automatic Conversion of any DrawingBoard into a DirectX DrawingBoard 36

3.4-- Using WaveWarp as a DirectX plugin under "remote control" via the "WaveWarp DirectX Interface" 36

3.5-- Working with the "WaveWarp DirectX Interface" 38

    3.5.1-- The DrawingBoard Manager Panel 38

    3.5.2-- The "Plugin Override" Control Panel 39

    3.5.3-- The "Bring WaveWarp to Front" button 40

    3.5.4-- The "DrawingBoard Port Status" Panel 41

    3.5.5-- The "Plugin Data Format (from DirectX Host Application)" Status Panel 41

    3.5.6-- The Presets Dialog 42

3.6-- Saving your Host Application Project 43

3.7-- Using the DirectX Ports in combination with other I/O Components 43

    3.7.1-- Example: Mixing in an audio file within the DirectX plugin DrawingBoard 43

    3.7.2-- Example: Mixing in a live audio input within the DirectX plugin DrawingBoard 44

    3.7.3-- Example: Sending the processed data to an output audio file from within the DirectX plugin DrawingBoard, as well as "returning" the data to the audio editor/sequencer 44

    3.7.4-- Example: Sending the processed data to an output device from within the DirectX plugin DrawingBoard, as well as "returning" the data to the audio editor/sequencer 45

    3.7.5-- Example: Mixing in an audio file plus a live audio input within the DirectX plugin DrawingBoard, then sending the processed data to an audio file and an output device , as well as "returning" the data to the audio editor/sequencer 45

3.8-- Step-by-step instructions on using WaveWarp as a DirectX plugin with some popular DirectX host applications 46

3.9-- Using WaveWarp with Cakewalk Pro Audio 9.0 46

3.10-- Using WaveWarp with Emagic Logic Audio 4.1 53

3.11-- Using WaveWarp with SEK'D Samplitude 2496 66

3.12-- Using WaveWarp with Sonic Foundry Acid Pro 2.0 73

4-- SIGNAL TYPES AND CONNECTIVITY 79

4.1-- Signal types 79

4.2-- Component types and color-coding 79

4.3-- Cable types and color-coding 80

4.4-- Rules of connectivity 81

    4.4.1-- Basic rules 81

    4.4.2-- Guidelines specific to control signals 81

    4.4.3-- Rules specific to multirate components 81

    4.4.4-- Feedback connections and algebraic loops 81

5-- THE COMPONENT LIBRARY 82

6-- ADJUSTING THE PROGRAM LAYOUT 84

6.1-- Adjusting the DrawingBoard visual attributes 84

    6.1.1-- Changing the DrawingBoard size 84

    6.1.2-- Changing the DrawingBoard background color 85

    6.1.3-- Adjusting the DrawingBoard alignment grid 85

6.2-- Adjusting the layout of the desktop 86

    6.2.1-- Re-sizing or relocating dockable windows 86

7-- SETTING THE PROGRAM OPTIONS 86

7.1-- General program options 87

7.2-- Soundcard settings options 87

    7.2.1-- The WaveWarp Soundcard manager 87

    7.2.2-- Physical I/O hardware channel assignment 88

    7.2.3-- Adjusting the bit resolution per physical I/O channel 90

    7.2.4-- What about setting the sample rate(s) for the soundcards ? 90

    7.2.5-- Explanation of buffers and latency 90

    7.2.6-- Adjusting the buffer settings per physical I/O channel 91

7.3-- Default DrawingBoard layout options 93

7.4-- Audio engine calibration 93

8-- ADVANCED FEATURES 94

8.1-- Multirate Audio Engine 94

    8.1.1-- Introduction to multirate digital signal processing 94

    8.1.2-- Rules of connectivity specific to multirate DrawingBoards 94

    8.1.3-- Displaying the different sample rates used on a DrawingBoard 95

8.2-- Controllable Playback Engine 96

    8.2.1-- Basic functionality of the Controllable Playback Engine 96

    8.2.2-- Granular synthesis 97

9-- FILE FORMATS FOR INTERFACING WITH WAVEWARP FROM EXTERNAL APPLICATIONS 97

9.1-- ASCII file format for Digital Filter coefficients 97

    9.1.1-- FIR file specification 97

    9.1.2-- IIR Direct Implementation file specification 97

    9.1.3-- IIR Cascaded Second Order Implementation file specification 98

9.2-- ASCII file format for wavetable storage 99

9.3-- ASCII file format for storage of spectra 99

    9.3.1-- Magnitude spectra file format 99

    9.3.2-- General (complex) spectra file format 100

10-- TROUBLESHOOTING & TECHNICAL SUPPORT 101

10.1-- Problems with audio device(s) 101

10.2-- Problems with "jumpy" playback 101

10.3-- Problems with audible "pops" when initiating playback 101

10.4-- Known bugs and limitations 101

LIST OF FIGURES

Figure 1 Annotated screenshot of WaveWarp with the "Welcome.dwb" Example DrawingBoard open. 14

Figure 2 Annotated screenshot of the Transport Window. 15

Figure 3 Screenshot illustrating the Parameter Export (Import) functionality activated by right-clicking within the body of a Parameter Window. 17

Figure 4 DrawingBoard Description Window icon 17

Figure 5 Screenshot of the DrawingBoard Description Window for "Welcome.dwb". 18

Figure 6 Screenshot illustrating the options available via the main "File" menu. 18

Figure 7 Annotated screenshot of utility buttons 19

Figure 8 Choosing the Active DrawingBoard from the list of available open DrawingBoards. 20

Figure 9 Screenshot of the contents of the "Delays" category of the Component Library 21

Figure 10 Annotated screenshot of the help buttons for accessing WaveWarp's (HTML-based) help files. 23

Figure 11 Annotated screenshot of the "Sample Rate" and "Component Info" display buttons 23

Figure 12 Screenshot illustrating a "selected" component, distinguished by a series of small black squares around its perimeter (the "Simple delay" component in this example). Once selected, a component (or multiple components) can be moved, cut, copied, pasted, deleted, or dragged on to another DrawingBoard. 24

Figure 13 Annotated screenshot of the edit buttons for manipulating components on the DrawingBoard 24

Figure 14 Screenshot of a collection of audio and control components, illustrating the use of input and output connection ports. 25

Figure 15 Screenshot illustrating a "selected" cable, distinguished by the small black squares along its length (the cable connecting "wavewarp.wav" to the "Simple delay" in this example). Once selected, a cable can be deleted using the "Delete" key. 26

Figure 16 Screenshot of "MyFirst.dwb", a modified version of "Welcome.dwb" where the "Simple delay" has been replaced by a "Flipper". This illustrates how easy it is to create/modify effect algorithms. 26

Figure 17 Screenshot demonstrating how to save the processed audio to a WAV file, in this case a new 24-bit stereo file called "New24ste.wav". The name of the output file can be changed by double-clicking on the filename located below the file icon. This will open a dialog box via which the filename can be changed. 27

Figure 18 Screenshot illustrating how to play the newly-saved file by creating a simple DrawingBoard (either by hand or using the convenient "New WAV Play DrawingBoard" option). 28

Figure 19 Example DrawingBoard illustrating the use of WaveWarp's live input functionality. In this example, the mono input from an audio card is converted to stereo (via the Zipper component), reversed (via the Flipper component), then sent to the stereo output of the same soundcard. This produces an interesting effect whereby the live input is played backwards in real-time (on a frame-by-frame basis)! 28

Figure 20 Illustration of the "Missing Component" icon which appears when a component is missing (due to a limited version of WaveWarp) or when an audio (or ASCII) file is missing. 30

Figure 21 DrawingBoard automated conversion options. 30

Figure 22 Contents of the HotKeys Window (both tab sheets shown here for convenience). 32

Figure 23 The "Open HotKeys Window" button located in the main toolbar. 32

Figure 24 Example DrawingBoard ("DirectXstereoWelcome.dwb") which acts as a conventional ("two-way") DirectX plugin, i.e. takes data "sent" (via the DirectX Input Port) from an audio editor / sequencer, processes it in any arbitrary manner (in this case via a delay plus a wet/dry mix), then "returns" the processed data (via the DirectX Output Port) to the an audio editor / sequencer. 35

Figure 25 Example DrawingBoard ("DirectXstereoOneWaySend.dwb") which acts as a "one-way" DirectX plugin, i.e. takes data "sent" (via the DirectX Input Port) from an audio editor / sequencer, processes it in any arbitrary manner (in this case via a delay plus a wet/dry mix) WITHOUT "returning" the processed data to the audio editor / sequencer (here the processed data is simply displayed on the Audio Oscilloscope within WaveWarp rather than being sent back out). 35

Figure 26 Example DrawingBoard ("DirectXstereoOneWayReturn.dwb") which acts as the opposite class of "one-way" DirectX plugins, i.e. it generates data internally (in this case from the WAV file "Wavewarp.wav") WITHOUT retrieving it from the audio editor / sequencer, processes it in any arbitrary manner (in this case via a delay plus a wet/dry mix), then sends it out to the audio editor / sequencer (via the DirectX Output Port). 36

Figure 27 The "WaveWarp DirectX Interface" (stereo version) which appears within the DirectX audio editor/sequencer application when WaveWarp is selected as the desired DirectX plugin. This interface enables WaveWarp to be manipulated by "remote control" from within the audio editor/sequencer application. 37

Figure 28 Screenshot illustrating the WaveWarp main menu bar status display indicating that WaveWarp is under remote control by a DirectX host application (in this example, by Samplitude). The DirectX host application can be "brought to the front" by clicking the DirectX button (located immediately to the left of the status display). 40

Figure 29 Example of a "hybrid input" DirectX DrawingBoard whereby an audio file is mixed in with the DirectX input signal. In this example, the audio file is "morphed" with the DirectX signal via the Spectral Morph 1 component, before being "returned" to the DirectX host. 44

Figure 30 Example of a "hybrid input" DirectX DrawingBoard whereby a live audio input is mixed in with the DirectX input signal. In this example, the live input is "morphed" with the DirectX signal via the Spectral Morph 1 component, before being "returned" to the DirectX host. 44

Figure 31 Example of a "hybrid output" DirectX DrawingBoard whereby the output of the effect (in this case, a feedback flanger) is sent to an audio file as well as being "returned" to the DirectX host. 45

Figure 32 Example of a "hybrid output" DirectX DrawingBoard whereby the output of the effect (in this case, a feedback flanger) is sent to a soundcard as well as being "returned" to the DirectX host. 45

Figure 33 Example of a "hybrid input -- output" DirectX DrawingBoard whereby the DirectX input is combined with a live audio input and an audio file. The various inputs are combined and processed in an arbitrary manner (in this case via a Feedback Flanger, Mixer, and Spectral Morph). The outputs from various (arbitrary) stages of the effect are sent respectively to an output soundcard and an output audio file, as well as being "returned" to the DirectX host. This example vividly demonstrates the versatility of WaveWarp's modular I/O concept. 46

Figure 34 Main window of Cakewalk Pro Audio 9.0 showing new blank project. 47

Figure 35 Selecting a new "Normal" project via the "New" item under the "File" menu in Cakewalk Pro Audio 9.0. 48

Figure 36 Importing a WAV file into Cakewalk Pro Audio 9.0. 48

Figure 37 Setting the looping around the selected audio in Cakewalk Pro Audio 9.0. 48

Figure 38 Opening the mixer console in Cakewalk Pro Audio 9.0. 49

Figure 39 Selecting WaveWarp as a DirectX plugin in Cakewalk Pro Audio 9.0. 50

Figure 40 Status display showing "Stereo" which indicates that the WaveWarp Stereo DirectX Interface has been selected as the DirectX plugin for Track 1 in Cakewalk Pro Audio 9.0. 51

Figure 41 The "WaveWarp DirectX Interface" which appears when double-clicking the "Stereo" label (from Figure 40 ) in Cakewalk Pro Audio 9.0. This interface is essentially the same as that shown in Figure 27 except for a different "Presets" panel, the layout of which depends on the sequencer (in this case Cakewalk Pro Audio 9.0). Also shown are the Parameter Windows and Description Window for "DirectXstereoWelcome.dwb" which is automatically loaded (unless this option has been suppressed from within WaveWarp's Option menu). 52

Figure 42 The "Play" button in Cakewalk Pro-Audio 9.0 (located on main toolbar). 52

Figure 43 Main window of Logic Audio 4.1 showing new blank project. 53

Figure 44 Opening the Sample Editor via the "Audio" menu in Logic Audio 4.1. 54

Figure 45 Message box prompt to open a new audio file in Logic Audio 4.1. 55

Figure 46 Sample Editor Window in Logic Audio 4.1. 56

Figure 47 Opening the "Audio Window" via the "Audio" menu in Logic Audio 4.1. 57

Figure 48 Audio Window in Logic Audio 4.1 containing the recently loaded WAV file "Wavewarp.wav". 58

Figure 49 The main ("Arrange") window in Logic Audio 4.1 with the stereo WAV file "Wavewarp.wav" selected for playback on the first audio track. 59

Figure 50 Setting the Loop Locators to span the selected object (in this example, the entire WAV file selected in the previous step) in Logic Audio 4.1. 60

Figure 51 Looping selected over entire WAV file region in Logic Audio 4.1. 61

Figure 52 The mixer console ("Environment Window") in Logic Audio 4.1. 62

Figure 53 Selecting WaveWarp as a DirectX plugin in Logic Audio 4.1. 63

Figure 54 "Inserts" status display showing "W1 Stereo" which indicates that the WaveWarp Stereo DirectX Interface has been selected as the DirectX plugin for Tracks 1-2 in Logic Audio 4.1. 64

Figure 55 The "WaveWarp DirectX Interface" which appears when double-clicking the "Stereo" label (from ) in Logic Audio 4.1. This interface is essentially the same as that shown in Figure 27 except for a different "Presets" panel, the layout of which depends on the sequencer (in this case Logic Audio 4.1). Also shown are the Parameter Windows and Description Window for "DirectXstereoWelcome.dwb" which is automatically loaded (unless this option has been suppressed from within WaveWarp's Option menu). 65

Figure 56 The Logic Audio 4.1 Transport Window with the "Play" (and "Loop") buttons activated. 66

Figure 57 Creating a new Multitrack Project in Samplitude 2496. 66

Figure 58 Selecting a "1 Track" option for the new project in Samplitude 2496. 67

Figure 59 The default "Record Enabled" status of the new track in Samplitude 2496. Disable the "Record Enabled" status by clicking on the red "R1" label before proceeding to the next step. 68

Figure 60 The "Open Wave" button for importing a WAV file into Samplitude 2496. 68

Figure 61 Imported audio file displayed in Samplitude 2496. Also visible is the "New Plugin" button for enabling DirectX plugins (on a per-track basis in this example, though per-object basis also available in Samplitude, not covered further here). 69

Figure 62 Audio region selected for looping in Samplitude 2496. 70

Figure 63 Selecting WaveWarp as a DirectX plugin in Samplitude 2496. 71

Figure 64 The "WaveWarp DirectX Interface" which appears when selecting WaveWarp as the desired DirectX plugin in Samplitude 2496 (see previous figure). This interface is essentially the same as that shown in Figure 27 except for a different "Presets" panel, the layout of which depends on the sequencer (in this case Samplitude 2496). Also shown are the Parameter Windows and Description Window for "DirectXstereoWelcome.dwb" which is automatically loaded (unless this option has been suppressed from within WaveWarp's Option menu). 72

Figure 65 The "Play Loop" button in Samplitude 2496 (located in the main toolbar). 72

Figure 66 Importing a WAV file into a blank project in Acid Pro 2.0. 73

Figure 67 Selecting and looping a region in Acid Pro 2.0. Note that the "Play Looped" button is depressed (if it is not, then press it). 74

Figure 68 The consequence of clicking the "FX1" tab (visible in the lower right-hand corner of the main window) for enabling a DirectX plugin in Acid Pro 2.0. 75

Figure 69 Selecting WaveWarp as a DirectX plugin in Acid Pro 2.0. 76

Figure 70 The "WaveWarp DirectX Interface" which appears when selecting WaveWarp as the desired DirectX plugin in Acid Pro 2.0 (see previous figure). This interface is essentially the same as that shown in Figure 27 except for a different "Presets" panel, the layout of which depends on the sequencer (in this case Acid Pro 2.0). Also shown are the Parameter Windows and Description Window for "DirectXstereoWelcome.dwb" which is automatically loaded (unless this option has been suppressed from within WaveWarp's Option menu). 77

Figure 71 The "Play" button in Acid Pro 2.0. 78

Figure 72 Screenshot illustrating the menu options for modifying the DrawingBoard visual attributes (activated by right-clicking on any blank region of the DrawingBoard). 84

Figure 73 Screenshot of dialog box for adjusting the DrawingBoard size 85

Figure 74 Screenshot of a palette for adjusting the DrawingBoard background color 85

Figure 75 Screenshot of dialog box for adjusting the DrawingBoard grid size 86

Figure 76 Screenshot illustrating the main Options menu 86

Figure 77 Screenshot of the general program options, accessed via the "Options->General" menu item 87

Figure 78 Screenshot of the WaveWarp Soundcard Manager Interface accessed via the "Options->Soundcard Settings" menu item. This interface enables convenient access to the channel assignment, software drivers, and settings of all physical hardware I/O channels used by WaveWarp. The Input and Ouput channels are adjusted separately (via the respective tab sheets). 88

Figure 79 Screenshot of the input buffer adjustment dialog for a given soundcard selected in the WaveWarp Soundcard Manager Interface (Figure 78). In this example, the first pair of input channels (accessed via the first of multiple stereo WAVE drivers) of a Terratec EWS88MT multi-channel soundcard are being adjusted. 92

Figure 80 Screenshot of the output buffer adjustment dialog for a given soundcard selected in the WaveWarp Soundcard Manager Interface (Figure 80). In this example, the first pair of output channels (accessed via the first of multiple stereo WAVE drivers) of a Terratec EWS88MT multi-channel soundcard are being adjusted. 92

Figure 81 Screenshot of the adjustable default DrawingBoard settings, accessed via the Options->Default DrawingBoard Layout menu item 93

Figure 82 Screenshot of the Audio Engine Calibration dialog box, accessed via the Options->Calibrate Audio Engine menu item 93

Figure 83 Screenshot of the dialog box for setting the sample rate of components which have no inputs (except for Input Audio Files). 95

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. 95

Figure 85 Screenshot illustrating the versatility of WaveWarp's controllable file playback feature. By selecting the audio file (in this case "bass.wav") from the Controllable Input Audio File category of the Component Library, the resulting component has a Control Signal input as well as the usual audio output. In this example, a constant negative value (created by the red blocks) is fed into the Control Signal input of "bass.wav". This has the effect of playing the file in reverse at a user-determined rate (adjustable via the Constant Control Generator: a value of -1 corresponds to pure file reversal). 96

LIST OF TABLES

Table 1 DrawingBoard creation options 20

Table 2 DrawingBoard auto-conversion options 31

Table 3 DirectX host applications tested with WaveWarp 2.0. 33

Table 4 WaveWarp signal types 79

Table 5 WaveWarp component types 79

Table 6 WaveWarp cable types 80

Table 7 Summary of all Component Library categories 82

Table 8 ASCII file structure for storing FIR filter coefficients readable by WaveWarp 97

Table 9 ASCII file structure for storing IIR filter coefficients (direct implementation) readable by WaveWarp 98

Table 10 ASCII file structure for storing IIR filter coefficients (cascaded second-order implementation) readable by WaveWarp 98

Table 11 ASCII file structure for storing wavetables readable by WaveWarp 99

Table 12 ASCII file structure for storing magnitude spectra readable by WaveWarp 100

Table 13 ASCII file structure for storing complex spectra readable by WaveWarp 100

Table 14 Summary of known bugs and limitations in WaveWarp 2.0.4 101

Table Of ContentsNext PageTop Of Page

home - news - products - store - support - site map - company info
© 2007 Sounds Logical. All rights reserved.
Sounds Logical
legal notice - privacy statement