Next: Apéndice Up: Otros ejemplos con Snd Previous: Panorámica (panear) de un sonido monofónico en Snd.


Arpeggio con síntesis aditiva

Este ejemplo representa un instrumento del catalogo de sonidos de Jean Claude Risset. La función del instrumento es producir un tipo de arpegiación en la serie de los armónicos. En este sonido se pueden escuchar claramente como cada uno de los armónicos entra en fase con los otros. El fenómeno de batido es la herramienta para lograr esto. Para una explicación mejor ver (Capitulo 3, Dodge and Jerse, 1985).


 		 
 
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; 
;;;     Arpeggio a_la_ Risset,
;;;     Ejemplo de síntesis aditiva utilizando
;;;     Waveshape synthesis                                       
;;;
;;;                                       juanig\_at\_ccrma
;;;
;;;                                              (c) 2005

(define arpeggio
  (lambda* (beg dur freq amp
		#:key
		(ampenv '(0 0 0.5 1 1 0))
		(offset 1.0))
      (let* ((start (floor (* beg (srate))))
	     (end (+ start (floor (* dur (srate)))))
	     (waveshbank (make-vector 12))
	     (amp-env (make-env :envelope ampenv 
				:scaler (* amp .25)
				:start start  
				:end end))
	     (output (make-vct end)))
	(do ((i 0 (1+ i)))
          ((= i 12))
	  (vector-set! waveshbank i (make-waveshape 
				     :frequency (+ freq (* offset (1+ (* i 0.1))))
				     :partials '(1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9))
		       ))
	(do ((i 0 (1+ i)))
	    ((= i end))
	  (let ((wvsum 0.0))
	    (do ((j 0 (1+ j)))
		((= j 12))
	      (set! wvsum (+ wvsum (waveshape (vector-ref waveshbank j)))))
	    (vct-set! output i (* (env amp-env) wvsum ))))
	(vct->channel output start end ))))

 		 


 		  > (play)        

next up previous
Next: Apéndice Up: Otros ejemplos con Snd Previous: Panorámica (panear) de un sonido monofónico en Snd.

© Copyright 2005-2007, expyeZp- Maginvent.ORG. All Rights Reserved, Todos Los Derechos Reservados.