Next: Comandos de llamada con fase controlada Up: Instrumentos Basicos en Snd Previous: Comandos de llamada para el instrumento de fase constante


Instrumento para onda sinuosidal e incremento de fase controlada por una envolvente

Este también es código para generar un sonido con onda sinuosidal e incremento de fase controlada por una envolvente (a estas alturas el lector ya podría pensar en diseñar su propio instrumento pero controlando más parámetros:


 		 
(define fase-controlada
  (lambda* 
   (comienzo duracion 
             frecuencia amplitud 
             #:key (incremento-fase 0))
   (let* ((inicio (floor (* comienzo (srate))))
          (longitud (floor (* duracion (srate))))
          (func-inc-fase '(0 0  50 1  100 0))
          (onda-sinuosidal (make-oscil 
                            :frequency frecuencia))
          (envolvente-fase 
           (make-env 
            :envelope func-inc-fase
            :scaler (hz->radians incremento-fase)
                              :start comienzo
                              :duration duracion))
          (salida (make-vct longitud)))
     (do ((i 0 (1+ i)))
         ((= i longitud))
       (vct-set! salida i 
                 (* amplitud 
                    (oscil onda-sinuosidal 
                           (env envolvente-fase) ))
                 ))
     (vct->samples inicio longitud salida))))


Subsecciones

© Copyright 2001-2004, mAgInvenT.ORG , All rights reserved.
Created and Mantained by Juan Reyes