[CM] translating spirals into music CLM

Fernando Lopez-Lezcano nando@ccrma.Stanford.EDU
Wed, 01 Aug 2007 17:53:05 -0700

On Wed, 2007-08-01 at 23:49 +0100, john henry dale wrote:
> Hi Fernando,
> in taking a look at dlocsig.html, I found what seems to be a way to
> generate spiralling sound spatialization using Geometric Paths
> (dlocsig.html#geometric-paths): 
> make-spiral-path
> &optional-key
> (start-angle 0d0)
> (total-angle nil)
> (step-angle (/ dlocsig-one-turn
> 100))
> (turns nil)
> (distance '(0 10 1 10))
> (height '(0 0 1 0))
> (velocity '(0 1 1 1))
> But i'm not sure where in my CLM composition's code I would insert
> this spiral path info to actually apply this spatialization to my
> output track. 
> For my performance the audience will be surrounded by 9 speakers ( 4
> on the floor, 4 at slightly above ear level when sitting + one speaker
> above) , so basically a cube of about 25x 25 x 5 feet  with a speaker
> at each corner and a tweeter tree overhead. I'm trying to figure out
> two things in this email: 
> 1) What arguments do i give the make-spiral-path function to generate
> a logarithmic spiral which goes upward into a cone which would come to
> its apex at the height of the audience's ears (about 5 feet 5 inches)
> with a total angle of 23.5 degrees ? 

You can (should) be able to use "distance" and "height" to do what you
need to. "distance" is the distance between the listener and the moving
object - it can be a 3d list provided that path-3d is "t", such as '(0 1
0)(0 2 3)), etc, where each sublist is an x/y/z triple. Same for

> Basically i am trying to mimic the spiral created by the Earth's
> precessional cycle on a small scale for my final performance. This
> might be easier with a visual aid. Check this movie out: 
> http://www.lunarplanner.com/HCmovies/HCmovie300Frame.html. So using
> this movie as a model, the height of the spiral at its apex (and at
> the climax point of the composition) would be, figuratively, in the
> center of the earth where the two cones formed by earth's 23.5 degree
> wobble on its axis come together at one point. Does that make sense ?
> 2) What arguments do I give the arrange-speaker functions to, i.e. how
> would I map this speaker arrangement ? 

I think this is still valid, there's some details there (and I think
there's a dlocsig.html file in the clm distro as well):


Basically you specify angles (azimut and elevation) for the speakers and
then you have to group them in triads for 3d (ie: you have to
tesselate(sp?) space so that it is covered with three adjacent speaker
groups - I gave up on finding lisp code that would do that
automatically). There are some default configurations in the source file
that should provide a guide. 

> What were your results in testing these spiral paths on a
> multi-speaker system ? Did you use gnuplot to generate your spiral
> coordinates or can you fairly easily plug them into the
> make-spiral-path argument ? 

They sounded, well, like spiral paths :-) That does not necessarily mean
they make good musical sense, of course... Sometimes I did use gnuplot
to visualize them, there's some functions in the code to drive gnuplot
but I have not tested the whole thing in a long time, I don't know if
all that code still works. 

>  Also,  would i also need to render my final output as an Ambisonics
> file for 9 speakers to accomplish something like this ? 

You choose your rendering model. No need to use Ambisonics. The
advantage of it being that you could render to an Ambisonics B format 4
channel soundfile and then decode that at "listening time" for any array
of speakers with the proper decoder. 

> Sorry for the heavy question-load, but I'm getting a little lost in
> all this 3-d spatialization stuff.

It is complicated...
-- Fernando