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 <[EMAIL PROTECTED]> 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 [email protected] http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist_______________________________________________ Cmdist mailing list [email protected] http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist
_______________________________________________ Cmdist mailing list [email protected] http://ccrma-mail.stanford.edu/mailman/listinfo/cmdist
