Next: Descripción sobre Síntesis de Audio Aditiva Up: Snd, el editor y generador de sonidos Previous: Descripción de Snd


Programando Snd

Más documentación escrita en Inglés sobre Snd se encuentra en el :Manual de Snd .

  1. Discusión sobre Envolventes de Control:

    El timbre o espectro de un sonido puede ser visto desde dos perspectivas diferentes conocidas como el dominio del tiempo y el dominio de las frecuencias o espectro tímbrico. Dependiendo de las condiciones y de como el sonido esta siendo analizado o sintetizado se utiliza se utiliza o el dominio del tiempo o las frecuencias. Por ejemplo para manipular un sonido en el tiempo se utiliza una envolvente que controla la intensidad o volumen del sonido o de la suma de los armónicos. Para controlar el desarrollo tímbrico de un sonido se manipula el espectro por medio de la síntesis de audio aditiva que se verá después.

    Jean Claude Rissett, John Chowning y otros descubrieron que una de las características más importantes para que el sonido tenga una percepción natural, tiene que ver con los cambios de intensidad en el espectro a lo largo de su duración. La manera de controlar estos cambios es con una envolvente o tabla de valores x-y con tiempos y cambios, del comienzo al final el sonido.

    Profundizando en esto, hay que definir el termino generador de unidades como la función (o formula) que genera los valores para una señal de audio. Hay dos tipos de generadores de unidades: primer tipo: osciladores, filtros, etc., que actúan como función de valores en la frecuencia de muestreo de la señal de audio. Segundo tipo: generadores de unidades por interpolación, que normalmente son variables de control o envolventes y cambian a un valor sub-múltiplo muy por debajo de la frecuencia de muestreo.

    Para ilustrar estos conceptos se utilizará el mismo ejemplo de la tarea anterior pero en este caso utilizando generadores de unidades básico en Snd. Hacer la comparación.

    El primer ejemplo de generador de unidades en la frecuencia de muestreo es Oscil que se define en (make-oscil :frecuencia frec) y se aplica con (oscil senal). Copiar en Emacs o en otro editor de texto y salvarlo como ``simpenv.scm''. ¡ Analizar el algoritmo !.

    
     		 
     
    
    (define simpenv
      (lambda* (comienzo duracion frecuencia amplitud #:key
    		(amp-env '(0 0 50 1 100 0)))
    	   ;;
    	   (let* ((inicio (floor (* comienzo (srate))))
    		  (longitud (floor (* duracion (srate))))
    		  ;;; se define el oscilador
    		  (s (make-oscil :frequency frecuencia))
    		  ;;; se define la envolvente
    		  (ampenv (make-env  :envelope amp-env 
    				     :scaler amplitud 
    				     :start comienzo 
    				     :duration duracion))
    		  (salida (make-vct longitud)))
    	     (do ((i 0 (1+ i)))
    		 ((= i longitud))
    	       (vct-set! salida i (* (env ampenv) (oscil s))
    			 ))
    	     (vct->channel salida inicio longitud ))))
    
    1. Cargar el instrumento en Guile de Snd:

      
       		  > (load "simpenv.scm")       
      
    2. Abrir un archivo de Audio en Snd,

      
       		  > (new-sound "test.snd")       
      
    3. Generar el sonido

      
       		  > (simpenv 0 1 400 .5)        
      
    4. Reproducir Audio en Snd.

      
       		  > (play)        
      
    5. Cambiar la resolución de la forma-de onda en la ventana de Snd.

    La envolvente en ésta definición de instrumento es un parámetro opcional puesto que está después de #:key (amp-env '(0 0 50 1 100 0)) y podría ser cambiada por nuevas llamadas a ``simpenv'' (ver el código en ``simpenv.scm''). En éste caso la envolvente tiene forma triangular ya que el sonido llega a su punto máximo de energía en la mitad de su duración (i.e. los valores 50 y 100 corresponden a la duración del sonido).

    Ensayar las siguientes llamadas con diferentes tipos de envolvente: tem Código en SCHEME de ejemplo con envolventes,

    1. Deshacer
      (encima de la ventana de Snd teclear la siguiente secuencia de caracteres donde ``C-'' es la tecla de control):

      
       		  C-x u        
      
    2. Cargar el archivo de nuevo para compilar los cambios con la envolvente:

      
       		  > (load "simpenv.scm")       
      
    3. Rehacer sonido,
      
       		  > (simpenv 0 1 400 .5)        
      
    4. Escuchar el sonido,
      
       		  > (play)        
      
    5. Deshacer
      
       		  C-x u        
      
    6. Generar de nuevo el sonido pero con una envolvente,
      
       		  > (simpenv 0 2 1000 0.5 :amp-env '(0 0 85 1 100 0))       
      
    7. Escuchar:
      (ver cambios en la forma de onda)

      
       		  > (play)        
      
    8. Deshacer
      
       		  C-x u        
      
    9. Generar de nuevo el sonido pero con otra envolvente,
      
       		  > (simpenv 0 2 1000 0.5 :amp-env '(0 0 10 1 50 0.5 100 0))       
      
    10. Escuchar:
      (ver cambios en la forma de onda)
      
       		  > (play)        
      
    11. Deshacer
      
       		  C-x u        
      

  2. Ensayar otras envolventes con otras duraciones, escuchar y ver los cambios en la ventana de formas de onda de Snd.

Con estos ejemplos podemos concluir que un sonido se desarrolla al pasar el tiempo. Esta es una característica fundamental y por esto el sonido es función del tiempo. Además como se explica anteriormente, hay dos factores principales que cambian al transcurrir el tiempo. El espectro o contenido armónico y la amplitud general o intensidad del sonido.

(Nota: en la práctica la amplitud del sonido es proporcional a la envolvente de cada armónico o parcial del espectro de un sonido). Esto implica diferentes denominaciones de formas de ondas en señal de audio como formas de onda triangular, cuadrada, diente de sierra, etc.

Se dice que la envolvente de amplitud de un sonido es el control de la amplitud del mismo. La envolvente consta de tres divisiones que consecuentemente dan la identidad al sonido: ataque, desarrollo o sostenimiento y desvanecimiento. En el caso de estos ejemplos solo tenemos que preocuparnos por la envolvente de amplitud de un armónico que siendo el caso también es el fundamental y es lo único en el timbre o espectro. Por esto es fácil notar los cambios en el ataque del sonido, en su desarrollo y al final al ir desapareciendo. Sin embargo para un sonido con mejor personalidad hay que pensar en varios armónicos o parciales cada uno con su envolvente y duración. Esta es la base de la siguiente sección sobre síntesis de audio aditiva.


next up previous
Next: Descripción sobre Síntesis de Audio Aditiva Up: Snd, el editor y generador de sonidos Previous: Descripción de Snd

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