Next: Síntesis de Audio por Frecuencia Modulada (FM) en Up: Snd, el editor y generador de sonidos Previous: Programando Snd


Descripción sobre Síntesis de Audio Aditiva

  1. La teoría de señales de audio dice que por medio de la transformada de Fourier (consultar en Wikipedia), cualquier forma de onda periódica puede ser representada como la suma de varios sinuosidales relacionados, cada uno con su amplitud (energía) y fase particular. Por lo tanto, en teoría al sumar varios sinuosidales se podría crear cualquier tipo de señal de audio desde lo simple a lo complejo. Por ejemplo, lo más simple sería la suma de los armónicos de un sonido a su frecuencia fundamental.

    En general la síntesis de sonido aditiva es utilizada para reconstruir una señal de audio al sintetizar cada parcial como es dado por la FFT -frecuencia y envolvente de amplitud (consultar Google y Wikipedia). Snd contiene una algoritmo para obtener el espectro de un sonido (FFT). La ventana del (F) del espectro.

    La ventaja con este método de síntesis de sonido es trabajar con un control independiente sobre cada uno de los armónicos del sonido por medio de envolventes aplicadas a cada uno de los osciladores por armónico.

  2. Comandos y ejemplo de Síntesis Aditiva:
    Copiar el ejemplo en Emacs o en otro editor de texto y salvarlo como ``onda-mas.scm''. ¡ Analizar el algoritmo !.

    
     		 
     
    (define onda-mas 
      (lambda* (comienzo duracion frecuencia amplitud armonicos)
          (let* ((inicio (floor (* comienzo (srate))))
               (longitud (floor (* duracion (srate))))
               ;;
               ;; crear una tabla llamada forma de onda para los armónicos
    	   ;;
               (formadeonda (partials->wave armonicos ))
               ;;
               ;; crear un generador de unidades en base a una tabla
               ;;
               (s (make-table-lookup :frequency frecuencia :wave formadeonda))
               ;;
               ;; adicionar una envolvente de amplitud simple
               ;;
               (amp-env (make-env :envelope '(0 0 0.5 1 1 0)
                                  :duration duracion
                                  :scaler amplitud))
               (salida (make-vct longitud)))
          (do ((i 0 (1+ i)))
              ((= i longitud))
            (vct-set! salida i  (* (env amp-env) (table-lookup s)) ))
          (vct->channel salida inicio longitud))))
    
    1. Cargar el instrumento en Guile de Snd:
      
       		  > (load "onda-mas.scm")       
      
    2. Abrir un sonido nuevo con (new-sound "/zap/test.snd")
      
       		  > (new-sound "test.snd")       
      
    3. Para producir un sonido de ``onda-cuadrada''
      
       		  > (onda-mas 0 1 400 .5 '(1 .5 ))        
      
    4. Escuchar:
      Ver cambios en la forma de onda la forma de onda y cambiar la resolución para percatarse de la forma de ``onda cuadrada''.

      
       		  > (play)        
      
    5. Deshacer
      
       		  C-x u        
      
    6. Para producir otro sonido de ``onda-cuadrada''
      
       		  > (onda-mas 0 1 400 .5 '(1 1 3 .33 5 0.2 7 0.14286 ))       
      
    7. Escuchar el sonido y ver los cambios en la forma de onda,

      
       		  > (play)        
      
    8. Deshacer
      
       		  C-x u        
      
    9. Ahora, una llamada a onda-mas para producir el timbre de ``Diente de sierra''.
      
       		  > (onda-mas 0 1 400 .5 '(1 1 2 .5 3 .333 4 .25))       
      
    10. Escuchar el sonido y ver los cambios en la forma de onda,

      
       		  > (play)        
      
    11. Deshacer
      
       		  C-x u        
      
    12. Finalmente una llamada a onda-mas para producir un sonido con forma de onda ``Triangular''.
      
       		  > (onda-mas 0 1 400 .5 '(1 1 3 0.1111 5 0.04 7 0.20408))       
      
    13. Escuchar el sonido y ver los cambios en la forma de onda,

      
       		  > (play)        
      
    14. Deshacer
      
       		  C-x u        
      

  3. Tarea:
    1. Hacer un instrumento de síntesis aditiva pero con osciladoresy control de envolventes.
    2. Componer una secuencia de 16 notas con éste instrumento.


next up previous
Next: Síntesis de Audio por Frecuencia Modulada (FM) en Up: Snd, el editor y generador de sonidos Previous: Programando Snd

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