[CM] translating spirals into music CLM

Glauber Prado glauberalex@uol.com.br
Wed, 25 Jul 2007 01:23:44 -0300


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@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@ccrma.stanford.edu
>> http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist
>>
>
> _______________________________________________
> Cmdist mailing list
> Cmdist@ccrma.stanford.edu
> http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist
>