Respondiendo a una duda de Simon Blackmore en referencia a algoritmos
para lograr patrones rítmicos, este problema podría pensarse en términos
de 'start-times', amplitudes y duraciones. En mi clase de plástica
sonora daba el siguiente ejemplo que debe dar cuatro compáses 4/4 cada
uno con duración de cuatro segundos y corcheas en los tiempo dos y
cuatro (upbeats): 


Function myMaraca (start-time , duration, amplitude)
{
...
Synthsize Sound
...
}

dur = 0.1;
amp = 0.18;
For m from 0 to 16 by 4 do 
{
  myMaraca ((m+1) dur amp);
  myMaraca ( (m + 1 + 0.125) dur (amp*0.67));
  myMaraca ((m+3) dur amp);
  myMaraca ((m+3)+ 0.125) dur (amp*0.67); 
}

Si quiero cambiar el algoritmo a tresillos entonces el loop se convierte
a seis eventos así:

dur = 0.07;
amp = 0.18;
For m from 0 to 16 by 4 do 
{
  myMaraca ((m+1) dur amp);
  myMaraca ( (m + 1 + 0.1) dur (amp*0.5));
  myMaraca ( (m + 1 + 0.2) dur (amp*0.6));
  #
  myMaraca ((m+3) dur amp);
  myMaraca ((m+3)+ 0.1) dur (amp*0.5); 
  myMaraca ( (m+3) + 0.2) dur (amp*0.6));
}

Buenos ejercicios para tratar de dominar generar listas de notas en
sistemas de software para síntesis de audio como Csound o SC e inclusive
Pd, sería tratar de reformar estos algoritmos cambiando los start-times
(m), duraciones (dur) para negras con puntillo por ejemplo y también la
amplitud de los ataques para que las sincopas sean mas notables.

Otro punto interesante es que con las variables dur, amp y si añado otra
variable de proporción a m como ( m += dur*0.8 ), puedo extender o
comprimir el tempo.

Nota: es obvio que el éxito de este algoritmo depende de la función
myMaraca y de su envolvente del tiempo. Un compás de cuatro segundos 4/4
es casi negra=60, lo que implica un tempo bastante lento. 

También tengan en cuenta que esto es solo una sugerencia de como hacer
las cosas. Estoy seguro de que hay otras soluciones para este problema.

  --* Juan





_______________________________________________
____ _  _ ___  _   _ ____ ___  ___  
|___  \/  |__]  \_/  |___   /  |__] 
|___ _/\_ |      |   |___  /__ |    
                                 
expyezp mailing list
[EMAIL PROTECTED]
http://lists.slow.tk/listinfo.cgi/expyezp-slow.tk

Responder a