Está en la página 1de 7

Msica por computadora

Ernesto Romero y Hernani Villaseor


Centro Multimedia 2012
Sesin 1
1- Introduccin a SuperCollider:
Historia rele!ancia "i#uras destacadas e$emplos de o%ras de distintos estilos y
disciplinas&
2- Elementos estructurales de la aplicacin:
I'E ser!idor y cliente&
(- )ro#ramacin orientada a o%$etos:
(&1- Sint*+is o%$etos m,todos ar#umentos-. rates audio rate &ar control rate &/r
strings y s0m%olos&
1 - Introduccin a SuperCollider
SuperCollider es un am%iente y len#ua$e de pro#ramacin para s0ntesis en tiempo real y
composicin al#or0tmica& Est* pro!isto de un len#ua$e orientado a o%$etos 1ue es interpretado y
"unciona como un cliente en red con un ser!idor de s0ntesis en tiempo real de alto ni!el de
desempeo&
Historia
SuperCollider "ue creado por 2ames McCartney en 1334 la primer !ersin corr0a en )o5er
Macintos6 y costa%a 270 dlares& )osteriormente "ue li%erada para con!ertirse en una
aplicacin de uso li%re y de cdi#o a%ierto& 8ctualmente es un pro#rama multiplata"orma ya 1ue
corre en Mac 9S: ;indo5s y <inu+&
9ri#inalmente SC consta%a de dos pro#ramas separados: Synt6-9-Matic -escrito en 1330 por
McCartney- y por el o%$eto de M8: llamado )yrite el cual conten0a el len#ua$e int,rprete& 8
partir de la !ersin 2 SC se compone de los pro#ramas scsynt6 como ser!idor y sclan# como
len#ua$e&
1
Relevancia
SC es una de las principales 6erramientas usadas en el *m%ito de la m=sica electrnica el arte
sonoro y la multimedia& Es utili>ado para la ensean>a en las aulas de muc6as uni!ersidades y
centros acad,micos alrededor del mundo& ?am%i,n tiene un papel importante en la
in!esti#acin cient0"ica en ramas como la ac=stica y la psicoac=stica&
Figuras destacadas
<a comunidad 1ue se 6a "ormado en torno a esta 6erramienta es %asta al#unas "i#uras
destacadas son:
@ic/ Collins Aredri/ 9lo"sson Cylo% 8ndrea Valle Ser#io <u1ue Ro%erto Morales 2uan
Se%asti*n <ac6 'an Sto5ell 2ulian Ro6r6u%er 8l%erto de Campo y ?6or Ma#nusson&
Ejemplos de obras de distintos estilos disciplinas
- sc1B0 cdi#os de 1B0 caracteres 22 cdi#os en cola%oracin con la re!ista ;ire los cuales
6acen re"erencia a el n=mero de caract,res permitidos en un t5eet&
- <i!eCodin# Hac/)act de Aredric/ 9lo"sson&
- CVirtual electronic poemD de 8ndrea Valle una recreacin en SuperCollider de -C)oema
electrnicoD de Ed#ar VarEse&
! - Elementos estructurales de la aplicacin
I"E #Entorno de "esarrollo Integrado$
8m%iente de desarrollo inte#rado o I'E
1
es una aplicacin 1ue nos permite in#resar comandos
y pedir 1ue estos se e$ecuten tam%i,n nos muestra los resultados errores y a!isos del
pro#rama& En Mac9S y en ;indo5s SC incluye su propia I'E& En <inu+ es necesario a%rir una
I'E independiente de SC y pedirle 1ue entre en el modo de SuperCollider& <os I'E mas
usados en <inu+ son: Fedit Emacs y Vim& Recientemente con el desarrollo de la I'E %asada
en Gt todas la plata"ormas son !isuali>adas de manera i#ual&
Cada I'E tiene sus ata$os o shortcuts para reali>ar las acciones esenciales de SuperCollider& 8
continuacin presentamos una lista de estas acciones y sus ata$os correspondientes&
8ntes prendemos y apa#amos SC con el si#uiente cdi#o:
// prende supercollider
s.boot;
// apaga supercollider
s.quit;
1 Inte#rated 'e!elopment En!ironment
2
Mac9S ;indo5s Fedit Emacs
E!aluar
seleccin
Enter
-no Return.
CtrlHIntro CtrlHE CtrlHC H CtrlHC
'etener
procesos
cmdH&
-cmdHpunto.
8ltH&
-8ltHpunto.
Esc CtrlHC H CtrlHS
8%rir arc6i!o de
ayuda
cmd H ' A1 CtrlHI CtrlHH
SC muestra dos !entanas la Post Window 1ue es una !entana donde se imprime el resultado
del proceso de lo 1ue reali>a el pro#rama as0 como los errores y una !entana donde
escri%imos el cdi#o a manera de te+to& 8dem*s podemos !isuali>ar al#unas FIIs
1
como los
ser!idores medidores y el estetiscopio&
s.makeGui // crea una gui del servidor activo
s.meter // crea una gui de los medidores de entrada/salida
s.scope // crea una gui del estetiscopio
Servidor
En SC e+isten dos ser!idores: ser!idor interno y ser!idor e+terno& )ara producir sonido es
necesario prender cual1uiera de estos&
El ser!idor interno corre en el mismo proceso 1ue la aplicacin SuperCollider tam%i,n llamada
Csclan#D& Este ser!idor es interno al pro#rama lo cual tiene ciertas !enta$as deri!adas de una
mayor comunicacin con el sclan#&
El ser!idor local corre en la misma m*1uina 1ue la aplicacin Supercollider aun1ue es un
pro#rama di"erente llamado Cscsynt6D& <a !enta$a de usar este ser!idor es 1ue en caso de 1ue
el ser!idor se cai#a la aplicacin se#uir* corriendo y !ice!ersa&
Cliente
SC "unciona %a$o el modelo de clienteJser!idor am%os tra%a$an dentro de una red es decir el
usuario escri%e pro#ramas mediante los cuales el cliente solicita al ser!idor 1ue 6a#a al#o&
% &rogramacin orientada a objetos
Sinta'is
<a sinta+is es la estructura en 1ue de%emos acomodar los elementos del len#ua$e de SC para
1ue este entienda nuestros cdi#os& <a sinta+is es dada por el pro#rama y tenemos 1ue
1 Graphic User Interface o Inter"a> #r*"ica de usuario&
(
aprenderla para poder escri%ir cosas con sentido y comunicarnos con SC& Es di"0cil entender la
sinta+is sin comen>ar con e$emplos 1ue in!olucren a la partes del len#ua$e a ordenar& 81u0 una
lista de elementos %*sicos de la sinta+is del pro#rama& 'urante el desarrollo de las sesiones se
ir* descri%iendo su uso dentro de un conte+to espec0"ico&
// las dos %arras dia#onales de"inen un comentario&
/* una dia#onal se#uida de un asterisco a%re una seccin de comentario&
*/ el asterisco se#uido de dia#onal cierra una seccin de comentario pre!iamente
a%ierta&
{} las lla!es de"inen una "uncin&
[] los corc6etes de"inen un arre#lo&
() los parentesis de"inen un ar#umento o un %lo1ue de cdi#o&
los pipes de"inen ar#umentos&
!lgo Ina pala%ra 1ue inicia con may=scula representa un o%$eto&
.otra"osa In punto se#uido de una pala%ra 1ue inicia con min=scula representa un
mensa$e o m,todo&
; el punto y coma indica una ruptura o break en el cdi#o&
# la coma separa ar#umentos&
$algo% cual1uier cosa escrita entre comillas es un String.
&algo'as cual1uier pala%ra escrita despu,s de una dia#onal es un s0m%olo&
( la tilde indica una !aria%le #lo%al&
Comentarios
<os caracteres // o /* */ sir!en para decirle a SC 1ue !amos a escri%ir al#o 1ue no se
interpretar* como cdi#o& Esto se llama comentar& SC 6ar* caso omiso de lo 1ue
comentemos& Hay dos maneras de comentar:
// )ste es un comentario breve
/* )ste es un comentario largo * tiene que cerrarse */
(bjetos
<os elementos %*sicos de SC son llamados o%$etos& Casi todo en SC es un o%$eto& <os o%$etos
son capaces de reali>ar ciertas tareas y es la con$u#acin de !arios o%$etos lo 1ue nos permite
reali>ar tareas comple$as& Cuando escri%imos un o%$eto siempre empie>a con may=scula&
E+iste una clase especial de o%$eto: los +Gens
,
& Estos son los o%$etos 1ue #eneran sonido en
SC y cuyas tareas son mane$adas por el ser!idor por e$emplo: -ulse o .in/sc&
1 Init Fenerators o Inidades Feneradoras
B
M)todos
<os m,todos son tam%i,n llamados mensa$es y es a tra!,s de ellos 1ue podemos decirle a los
o%$etos lo 1u, 1ueremos 1ue 6a#an y cmo 1ueremos 1ue lo 6a#an& 8l mismo o%$eto se le
pueden en!iar distintos m,todos pero un o%$eto no aceptar* cual1uier m,todo sino solo un
#rupo de m,todos 1ue est*n asociados a el& Cuando escri%imos un m,todo siempre !a
despu,s de un punto y empie>a con min=scula&
E$emplo: <os n=meros enteros en SC son o%$etos o instancias del o%$eto Inte#er& En!iemos al
o%$eto 0 los mensa$es odd y plot&
0.odd // odd pregunta si es el ob1eto es un n2mero impar
0.plot /* plot 3ace una gr45ica en 67 del ob1eto. +n n2mero
entero no puede arro1ar una gr45ica 67 por lo que al
declarar esta l8nea obtenemos un error en la ventana
-ost. */
.odd pero por e$emplo si ponemos .plot este nos arro$ar* un error ya 1ue es un mensa$e
1ue los n=meros no aceptan&
?am%i,n 6ay m,todos 1ue pueden escri%irse en di"erentes o%$etos&
E$emplo:
// el mensa1e .postln imprime in5ormaci9n en la post window
$palabras%.postln
*rgumentos
<os ar#umentos son parte de un m,todo y nos ayudan a decirle al o%$eto espec0"icamente de
1ue "orma 1ueremos 1ue realice una tarea& <os ar#umentos se escri%en entre par,ntesis y !an
separados por comas en caso de ser m*s de uno& E$emplo:
// nos redondea el n2mero entero
,:.:;0<.round (,)
// nos redondea a un decimal
,:.:;0<.round (:.,)
/*
=os argumentos se escriben entre par>ntesis * se separan por
comas si son mas de uno.
7
)l mensa1e linlin nos convierte un n2mero dentro de un rango en
su equivalente dentro de otro rango. ;? es# dentro del rango de
: a ,::# igual a :.;? dentro del rango de : a ,.:.
*/
;?.linlin(:# ,::# :#,.:)
Rates
En SuperCollider la in"ormacin de los +Gens es tratada de dos "ormas: como audio o como
control& )ara esto est*n de"inidos dos mensa$es 1ue indican al o%$eto de 1ue "orma ser*
tratado: &ar y .kr
*udio rate .ar
<os IFens 1ue reci%en el mensa$e .ar corren a !elocidad de audio: BB100 muestras por
se#undo& Hay 1ue mandar el mensa$e .ar a estos +Gens cuando 1uieran ser tratados como
seal -para 1ue se escuc6en.&
Control rate .kr
<os +Gens 1ue reci%en el mensa$e .kr corren a !elocidad de control: 4K3 muestras por
se#undo& Es por esto 1ue los +Gens de control son m*s %aratos computacionalmente
6a%lando 1ue sus contrapartes a !elocidad de audio rate& @otar 1ue un +Gen con el mensa$e
.kr no se escu6a&
<os +Gens de control los usamos como moduladores esto es como seales 1ue le dan "orma
a una seal de audio& En otras pala%ras los +Gens con .kr controlan los ar#umentos de los
+Gens con .ar
Strings
<os strin#s son cual1uier cadena de caracteres -i&e& pala%ras n=meros. 1ue se escri%en entre
comillas y no tienen nin#=n si#ni"icado para SC& E$emplo:
$.uper"ollider no sabe que estamos 3ablando de >l%.postln
S+mbolos
<os s0m%olos son nom%res #aranti>ados como =nicos& @o 6ay dos cosas nom%radas con el
mismo s0m%olo& Se escri%en con una dia#onal in!ertida antes de una cadena de caracteres&
E$emplo: &un.imbolo
4
<os s0m%olos son usados normalmente para nom%rar estructuras de cdi#o prede"inidas como
puede ser .*nt37e5s o @de5s por e$emplo: @de5(&nombre)# .*nt37e5(&name)&
,otacin
<a tipo#ra"0a 8rial 11 se usa para el te+to del tutorial la tipo#ra"0a "ourier ,6 para el
cdi#o&
Re-erencias
McCartney 2& -1334.& SuperCollider: a ne5 real time synt6esis lan#au#e& ICMC&
@etri E& y Romero E& -200K.& Curso de SuperCollider )rincipiantes& Centro Multimedia: M,+ico&
)olis6oo/ M& -200B.& Introductory ?utorial: Aor SuperCollider (& 8rc6i!o de ayuda de
SuperCollider&
Recursos
6ttp :JJ cmm &cenart &#o% &m+ Jtallerdeaudio
6ttp:JJsupercollider&source"or#e&net
Esta o%ra est* su$eta a la licencia 8ttri%ution-@onCommercial-S6are8li/e (&0 Inported de
Creati!e Commons& )ara !er una copia de esta licencia !isite
6ttp:JJcreati!ecommons&or#JlicensesJ%y-nc-saJ(&0J o en!ie una carta a Creati!e Commons BBB
Castro Street Suite 300 Mountain Vie5 Cali"ornia 3B0B1 IS8&
L

También podría gustarte