matsc_site matsc_site

Audio Table Module.

So you liked the Event Table? The Audio Table is even more fun.This tutorial will just give you the basics. You should be able to do most of the mathematical interfacing by now so, here is only what you need to start.

As With the Event Table Module we can both draw and write in to the table. This tutorial is only about how to write to the Audio Table. To draw you do exactly the same way as in an Event table (read that tutorial first).

Lets make a Reversed Delay Ensemble with this Module.
An Ensemble that has a two seconds delay and then plays back the sound backwards. And again this is only the basics, its not a fully fledged fantastical professional delay! Its a weird delay ;-)

Look at the Video below this, is what we are going to build. Watch the two cursors. One is going from right to left, that's the read cursor and the other is gong left to right that's the Write cursor.

Setting the size of the tables X axis.

In the Event Table we set the X axis to hold 32 different numbers. When we use audio we normally use larger tables. In this case I have set x to 88200, and as I use a sample rate of 44100 Hz, that is a 2 second long table.
Look at the illustration below. Here you se that the X size is 88200. Even if we use a sample rate that's 44100 samples per second, the table can be any size. Larger sizes holds more information and thereby become more “hi-fi”.

The next step is to make a pointer that tells the Audio table where to read from.

I want to read backwards so I will start reading from the end of the table.

To do that I have used a Ramp Oscillator. It outputs values from 0 to the number at the A(amplitude) input.

If I set the number going in to A to a negative value, it will start from that value and count down to zero.

Look at the marked (Red) modules in the pictures below.

Here you se the programing of the read position. RX is, where to read in the table.

- 88200 makes the Ramp Oscillator go from -88200 to 0 and then repeat itself (as Oscillators do...)..

- PlayBack is a controller that sets the frequency of the Oscillator. A frequency of 1 reads the table in one second so to read our Table in two seconds the frequency should be set to 0.5.

Connect the Audio Table to the Audio output and look in the Ensambles Structure window. You should now have a cursor that goes from right to left, the read cursor.

Write into the table.

Look at the illustration below. Here you se the programing of the write into the table.

Its almost identical, but I have a a Constant going into A, of 0.5. I’m using 44100 samples a second as my reference and the table is 88200 number long so a value of 0.5 will make write take two seconds before repeating.

I also have a positive value of 88200 at as I want to write from the start of the table.

All this is going in to the WX input to tell where to write to in the Table.

What to write, or maybe we should say Record because that what what we do, goes in to the In input (surprise, surplices). This could be from your microphone or any audio source you fancy.

There is also a button (sends out 1 when pressed and 0 when “unpressed”) that's connected to the W input. A value greater than 0 at this input will  switch on the record/write function.

To make all of this work without getting an aw full “zipper type effect” at the audio output, you have to set both Ramp Oscillators to Hi-Res, look in the illustration below

That's it, a reverse delay Ensemble.

I won’t make any new additions to these tutorials in the near feature
(today is the 3 of April 2009).

What will be next (in the distant future) is how to be make this ensemble polyphonic, playing it from the MIDI keyboard, make an unique and flexible real time granulator, and probably some more

PayPal: Donate I hope this tutorial was of interest to you. Donations are much appreciated. 
And e-mail me your address and I will keep you updated on new tutorials.