> Luego les paso el código en Octave y en Scheme para mis modelos de
> espacialización que utilice para mi obra 'Fuxing' y recientemente en
> 'Esquemas de Marimonda' . Parte está basado en los objetos de Lissajous
> para MSP (Meiguashca Labnumus) que muy gentilmente me consiguió Daniel
> Prieto.
>
> De pronto es un ejemplo para pasar de Matlab u Octave a SuperCollider o
> Csound.
>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%
%%% Lissajous curves on Matlab, Octave
%%%
%%%
%%%
%%%
function a1 = lissajous(theta)
radius = 0.75;
u=30; %% 60
v=100;
sina = sin(u.*theta);
cosa = cos(u .* theta);
sinb = sin(v .* theta);
cosb = cos(v .* theta);
a1=radius*(sina.*cosb)*0.5;
a2=radius*(sina.*sinb)*0.65;
a3=radius .* cosa *0.25;
%%%plot (a1,a3);
%%% plot (a1,a2);
%%%plot(a2,(a3.*a1), a1, (a3.*a2 ));
g1=a2./(1+a1)+0.5;
g2=a2./(1-a1)+0.5;
plot(theta, g2, theta, (1-g2));
;;; PANORAMICOS CON DOS CANALES
;;; SCHEME CODE:
;;;
;;; =======
(define coscresc
;;; Funcion para la ganancia en cada canal:
;;;;
(lambda* (t #:key
(cyc 8))
(let ((tsquared (* t t))
(twopi (* 2 pi)))
(+ 0.5
(/ (cos (* tsquared twopi cyc)) 2))
) ))
(lambda ()
;;; Funcion para generar audio en cada canal:
;;;;
(do ((i st (1+ i)))
((= i nd))
(let ((outval2 (* (coscresc (env panv) :cyc paniter)
(* (env attf) (readin rdA))))
(outval1 (* (- 1 (coscresc (env panv) :cyc paniter))
(* (env attf) (readin rdA)))))
(outa i outval1 *output*)
(outb i outval2 *output*))
;;;; here we want to reset to repeat pan envelope
(if (> (mus-location panv) (mus-length panv))
(mus-reset panv))
)
)
))
_______________________________________________
____ _ _ ___ _ _ ____ ___ ___
|___ \/ |__] \_/ |___ / |__]
|___ _/\_ | | |___ /__ |
Expyezp mailing list
[email protected]
http://lists.slow.tk/listinfo.cgi/expyezp-slow.tk