[CM] translating spirals into music CLM
Glauber Prado
glauberalex at uol.com.br
Tue Jul 24 21:23:44 PDT 2007
maybe lsystem for the score? :D
take a look for some inspiration:
http://br.youtube.com/watch?v=PZNvjbXPVSI
Landspeedrecord escreveu:
> I don't know if it is moot at this point, but I have been thinking
> about music spiraling and shephard tones were the first thing I
> thought of, but I rejected it as an analog because I felt they aren't
> really a spiral any more than watching the stripes on a barber pole
> twist around is.
>
> Since then I have not come up with much except that it could be done
> using panning and volume/reverb (with a little doppler effect to add
> spice?) - this would simulate a circular motion through the listening
> field in front of the listener with the volume rising on on pass from
> left to right and falling on the trip back from right to left. Reverb
> would rise as the volume fell to simulate distance from the listener
> as the sound was "receeding".
>
> The problem is there are lots of musical parameters that can be
> assigned to x and y axes but very few that together imply
> "directionality" which seems to me to be a necessary component of
> visually perceiving a spiral. As a spiral is drawn in 2D the eye
> doesn't see it as two seperate orthagonal vectors but as one
> contracting circular movement around a central point.
>
> Blah blah blah. I'm done ranting. I am just bugged because I haven't
> made much headway on the idea. Any thoughts or ideas anyone can throw
> my way?
> On 7/12/07, Juan I Reyes <juanig at ccrma.stanford.edu> wrote:
>>
>> > There's also an example of shepard tones in the ws.scm section
>> > of sndscm.html, complete with a purty picture that took me about 10
>> > times longer to make than the sound.
>>
>> Here is my CLM rendition of Shepard Tones based on Bill's ws.scm and
>> from Charles Dodge's Computer Music text.
>>
>> (definstrument shepard (beg dur amp &key
>> (incr .000001)
>> )
>> (let* ((start (floor (* beg *srate*)))
>> (end (+ start (floor (* dur *srate*))))
>> (x 0.0)
>> (arr (make-array 12))) ;; we'll create a 12 oscil bank
>> ;;
>> (do ((i 0 (1+ i))) ;; initialize oscils
>> ((= i 12))
>> (setf (aref arr i) (make-oscil :frequency 0.0)) )
>> ;;
>> (run
>> (loop for i from start to end do
>> (let ((y 0.00)
>> (oscbank 0.0))
>> ;; sum signal of twelve oscillators
>> (do ((i 0 (1+ i)))
>> ((= i (length arr)))
>> ;; get amplitude and oscillator phase offset
>> (let ((phoffset (+ x (/ i 12))))
>> (if (> phoffset 1) (setf phoffset (- phoffset 1)))
>> (setf y (- 4.0 (* 8.0 phoffset)))
>> (incf oscbank (* (exp (* -0.5 y y))
>> (oscil (aref arr i)
>> (hz->radians (expt 2.0 (* (- 1
>> phoffset) 12.0))))))
>> ;; to go up ;;;(* phoffset
>> 12.0)
>> ))
>> (incf x incr)
>> (outa i (* amp oscbank)) )))
>> ))
>>
>> ;;;(with-sound () (shepard 0 10 0.1))
>>
>> _______________________________________________
>> Cmdist mailing list
>> Cmdist at ccrma.stanford.edu
>> http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist
>>
>
> _______________________________________________
> Cmdist mailing list
> Cmdist at ccrma.stanford.edu
> http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist
>
More information about the Cmdist
mailing list