- Csound
-
Csound
Csound es un paquete de software orientado a crear, editar, analizar y componer música y sonido. También es llamado así el propio lenguaje de programación que se usa para controlar el software.
Funciona correctamente en máquinas pequeñas y lentas, aunque si se lo corre en equipos más potentes, es posible utilizarlo en tiempo real, crear interfaces gráficas de usuario, y conectarlo a otros softwares vía drivers o red.
Contenido
Historia
El programa Csound tiene su origen en la década del sesenta. Si bien Csound no existía como tal, Max Matthews recopiló algoritmos de generación de sonido y creó el lenguaje Music (más tarde Music1, Music2, Music3 y Music4). Las rutinas de Csound derivan de estos programas. durante 1964 y 1965, Godfrey Winham y Hubert Howe expandieron el Music4 en un nuevo programa llamado Music4B.
Con el avance de los computadores, las antiguas máquinas se quedaban obsoletas y había que desarrollar nuevas versiones. Por ejemplo Music4 y Music4B no se adaptan fácilmente a los nuevos computadores. Music4B se tradujo completamente al lenguaje Fortran para favorecer su transportabilidad a otros sistemas de computación. Howe escribió el nuevo programa Music4BF y posteriormente Howe y Winham lo alteraron y expandieron.
Después de algún tiempo Barry Vercoe desarrolló un sistema para el IBM System/360, este es el Music11. Es el primer porgrama de este tipo desarrollado para microcomputadores. Music11 es el antecesor de Csound.
Con Csound se incrementa la flexibilidad y puede además funcionar en cualquier ordenador que tenga un compilador de C, por ejemplo funciona tanto en MAC, DOS/os, MS-Windows y Unix/Linux.
El Csound se hizo con la ayuda combinada de varios compositores interesados por la música y la informática. Son particularmente importantes las contribuciones de Richard Boulanger del Berklee College of Music (de Boston) y Barry Vercoe, graduado en el MIT, así como Dan Ellis y Bill Gardiner. Actualmente siguen saliendo nuevas versiones de forma casi constante, con ampliación y mejora de algoritmos.
Funcionamiento del Csound
El funcionamiento del Csound (así como el de los programas Music1, Music2, etc.) es trabajar con dos clases de objetos relevantes en la composición.
Por un lado se debe crear la «orquesta» (en inglés orchestra), que se compone de los instrumentos que se utilizarán en la composición.
En Csound hay que crear los instrumentos, es decir, realizar una descripción completa de cómo son y cómo funcionan (cómo suenan): esto puede ir desde un oscilador que genere un tono puro (sinusoide) de un frecuencia determinada (de sonido similar a un diapasón real) a un instrumento complejo cuyo timbre varía estadísticamente.
Por otro lado está la partitura (en inglés score), que es el segundo objeto relevante. Esta no es más que una tabla o gráfica donde se especifica el orden de actuación de los instrumentos a lo largo del tiempo. Por ejemplo, el clarinete toca tal cosa mientras el timbal reverbera en una sala de tales características. Con Csound, el control sobre el sonido digital es absoluto (si se encuentra el programa adecuado).
Desde la versión 5.0, se da un cambio significativo en código de Csound. Aparecen características como: mejora de la gestión de "tiempo real", APIs para otros lenguajes de programación como Python o Lisp, Interfaces gráficas definidas por el usuario, protocolos de hosting a VST y LADSPA, protocolo OSC, opcodes definidas por el usuario y un gran número de nuevos opcodes de orquesta. Además en la versión para linux, se acopla perfectamente con jack.
Ejemplo
Tal vez uno de los programas más sencillos que pueden escribirse en Csound, es la generación de un tono sinusoidal. Aunque Csound tiene ya una manera de entrada de código compacta, mediante el formato csd, la forma clásica de comunicarse con Csound es a través de dos archivos en formato texto. Uno que defina la orquesta (orc) y otro que describa la partitura (sco).
El programa que define la «orquesta» (en este caso de un sólo instrumento: Instr 1), podría ser así:
instr 1;instrumento 1 iamplitud = 10000 ifrecuencia = p4 itabla = 1 a1 oscil iamplitud, ifrecuencia, itabla out a1 endin; final de instrumento 1
Por otra parte, hace falta una partitura que describa la actuación del instrumento 1 creado en el archivo anterior. En la orquesta se dejaba sin definir la frecuencia, con la variable 'p4' (parámetro 4). Ahora, en la llamada a la ejecución del instrumento, el parámetro nº 4, dará precisamente el valor de frecuencia que se elija.
f1 0 4096 10 1 ;tabla de onda senoidal ;instr comienzo duración p4 (en este caso: frecuencia) i1 0 4 440 i1 + 2 880 i1 + 1 1760 e ;fin de la partitura
Dependiendo de la máquina donde se ejecute, este programa puede renderizarse en un archivo sonoro, o enviarse en tiempo real.
Enlaces
- csounds.com (sitio del proyecto CSound).
- csounds.com/toots (tutorial de Richard Boulanger).
- CSounds.com/CSoundAV (proyecto CsoundAV, una versión audio-video para Windows).
- csounds.com/stevenyi//blue (Blue: interfaz gráfica multipista para Csound).
- geocities.com/mantaraya36 (tutorial audio/video para CsoundAV).
- lpi.tel.uva.es (Fenómenos acústicos a través de Csound)
- Asociación Asturiana de Electroacústica
- Csound blog con contenido concreto(Blog de Csound)
Categorías: Multimedia | Software de audio libre | Software de música
Wikimedia foundation. 2010.