Three Levels - Audio Weaver Tips (Issue #004)

 
We asked Audio Weaver users of three different skill levels to each give us a favorite tip for using Designer.  Ready to Level-Up?
 
 
 

Level 1 - Rookie

Tip: <F5> and <Shift + F5>  will Run and Halt processing

As is convention with many development environments, the <F5> key tells Audio Weaver Designer to "build and run" the current processing model.  Press <Shift + F5> to "halt" and return to design mode.  This is the same as pressing the "Play" and "Halt" buttons on the toolbar.

 
 

Level 2 - Enthusiast

Tip: Mixer modules let you send different amounts of a signal to different output channels

While Router modules let you directly map an input channel to an output channel, Mixer Modules allow each output channel to carry a blend of input channels.  In this example I have a 250Hz tone on my left channel and a 6kHz tone on my right channel.  Initially, the Sink Display module only shows the 2 input channels.  (I added a Scaler module just to show the different signals more clearly).

I add a three channel mixer here with three outputs.  For output channels 1 and 2 I just pass through attenuated versions of the orignal signals. For output channel three, I combine some of both left and right inputs to create a new output. 

 
Bonus tip! The "maxNonZero" argument in the Mixer properties allows for more optimized operation in a product.  This parameter allows the AWE Core to only store and process the necessary coefficients.
 

Level 3: Power User

Tip: Create a reusable wall clock 

Sometimes one needs to time different events and it's useful to have running seconds counter. One way to do this is to calculate the number of elapsed seconds based on the format of the audio data itself - specifically by counting the number of blocks that are processed and then dividing by the seconds per block.  One could "hard-code" a value for seconds-per-block using a DCSource module, but then you'll have to remember to update this if you change block-size or sample rate. 

A safer approach - which would allow this to be wrapped up as a subsystem and reused across all your designs - is to use the WireProperties module to read the block-size and sample-rate.  Based on this example - it's only a few more modules to derive milliseconds, minutes, or hours and get yourself an audio-powered wall clock :)

 

 
 
< Prev Tips | Next Tips >
 
 
Have a question about one of these tips? Have a tip / technique of your own we might feature? Share below!