Donut is live on the App Store, and it’s a strange one. It is very easy to get the app in a silent or screaming state, so I thought I’d explain the Donut concept in detail. As mentioned in a previous post, the idea for Donut comes from an ancient IBM tape loop machine I came across by way of this most interesting gentleman.
So let’s begin with a linear recording.
We can take this recording and wrap it into a loop.
Nothing new here of course. So let’s make a stack of these loops.
Now, if I understand correctly, the IBM machine let you select loops from a loop stack like this. The idea isn’t all that different from a phrase looper you might use with your guitar rig. However, if we can automate this loop selection, things start to get interesting. If we start stepping through the loops at the rate of audio, let’s say 44,100 steps per seconds, we create effectively a two-dimensional loop. Thus, in a very specific sense, we’ve created two-dimensional time.
A way to visualize 2d looping is to take our loop stack, and wrap it itself into a loop, just as we did with our linear recording at the beginning.
And from this step, we get the donut!
Doing a bit of math, we see that if we take a 2d loop of a second at a typical sample rate of 44100 Hz, we end up with 44100*44100 samples. If a sample is 4 bytes (16 bits * 2 channels), our donut requires 44100*44100*4 bytes, which by my count gives us just over 7 gigs. That’s a lot of iPads! So, to cram one of these donuts into an iPad, we’ve made the loop of loops far, far smaller.
In sum, you can think of Donut as a 2d time surface, or you can think of it as a large (currently 64) collection of synchronized loops. You can step through these loops one-by-one as you might in a phrase looper, or you can run through them at audio rate creating some quite far out sounds.
You use Donut by recording sound into (or through) it, and playing the recorded sound back. You control the playback and recording heads with a 2d vector for each, determining the rate at which the head steps through the loop and loop of loops. The rates are indicated in BPM to give a point of reference, but the BPM of course assumes a certain time signature and bar count, so it’s not absolute but helpful as a guide.
There are still quite a lot of sample points in there and therefore the 2d surface can be very sparse. Imagine if we recorded on the Donut in one direction, but played back in a perpendicular direction. We would only hit one sample of the recording amidst a loop of silence. Thus, Donut can create extremely sparse soundscapes.
To make the soundscapes denser, Donut lets your record and play sound with multiple heads (or, using a synthesizer term, voices). These heads can be spread out across the loop surface in both dimensions, creating some awesome temporal effects.
See a video demo of Donut™ playing with an ocarina and with Thich Nhat Hanh.
We hope you find the app as fun and interesting as we do! We have some cool ideas for future tweaks, and we welcome yours.