Csound

Introducción:

Csound es un programa que se utiliza para la síntesis y sonidos. Crea sonidos digitales a partir de dos ficheros de texto, “Orquesta” y “Partitura”, que tras compilarse y ejecutarse generan el sonido deseado.

Csound se caracteriza por ser uno de los mejores y conocidos programas de audio digital, debido a sus grandes ventajas. Es gratuito, de código abierto y funciona en múltiples plataformas sin utilizar muchos recursos. Eso permite que cualquiera lo pueda utilizar y modificar para crear su propia “música”.

Historia:

Csound es originario de la década de los sesenta. Fue creado en el MIT y deriva de la familia de los programas Music (Max Matthews, 1968). El antecesor directo de Csound es el Music11, creado por Barry Vercoe para IBM. Al ser open source, el Csound se fue actualizando con la ayuda combinada de varias personas interesadas por la música y la informática. Algunos de ellos son Richard Boulanger o Bill Gardiner.

Actualmente, el programa se sigue actualizando constantemente, con mejoras y ampliaciones de los distintos algoritmos que intervienen en el programa.

Csound:

El funcionamiento de Csound es sencillo. Mediante tres entradas, el usuario puede generar un archivo de audio digital. Con la línea de comandos el usuario mete la información necesaria para ejecutar y crear este último y con los dos ficheros nombrados anteriormente (Orquestra y Partitura) el usuario personaliza el sonido trabajando con el lenguaje de Csound llamado con el mismo nombre.


Con estos tres elementos el usuario puede crear cualquier sonido que desee, jugando con las distintas variables que intervienen en ellos.

Entradas:

El programa Csound se utiliza para la síntesis de sonidos digitales, utilizando dos ficheros que pueden ser creados en un editor de texto estándar:

“Orquestra”(*.orc):Este fichero contiene la definición de los distintos que intervienen en la creación del sonido digital instrumentos y esta estructurado en dos partes:

-Cabecera: La cabecera se compone de distintos parámetros. El primer parámetro es sr que corresponde a la frecuencia de muestreo. Ej. sr = 44100 muestras por segundo y por canal. El segundo es kr donde se establece la frecuencia control. El tercero corresponde a ksmps que indica el número de muestra en cada periodo de control y es el cociente entre sr/kr. Por último, nchnls es número de canales de salida del audio.

Ejemplo de cabecera:

sr = 44100
kr = 44100
ksmps = 10
nchnls = 1

-Definición del instrumento: Estos bloques representan distintos instrumentos donde se definen los distintos valores que les caracterizan. Todos los instrumentos son numerados y referenciados con ese número en la partitura. Pueden ser considerados como programas de un sintetizador. En Csound pueden definirse hasta 200 instrumentos en una orquestra.

Los parámetros que intervienen son los siguientes:

instr: Indica el número del instrumento y el comienzo de su descripción.

oscil: Indica un simple oscilador con una cierta amplitud, frecuencia y salida. Produce una
señal de audio periódica permitiendo el cambio de amplitud y frecuencia.

buzz: Genera una seria aditiva de parciales coseno armónicamente relacionados con una
cierta amplitud, una frecuencia fundamental de 440 y el número total de armónicos
requeridos.

endin: Indica el fin de la definición del instrumento.

Ejemplo de la definición de un instrumento:

instr 1 instr 1
a1 oscil 10000, 440, 1 a1 buzz 10000, 440, 1
out a1 out a1
endin endin

El ejemplo se puede representar con un diagrama:

Ejemplo completo de Orquestra:


; CABECERA
sr = 44100
kr = 44100
ksmps
= 10
nchnls = 1

; DEFINICIÓN DE INSTRUMENTO
instr 1
a1 oscil 1000, 440, 1
out a1
endin

“Partitura” (*.sco): Este fichero contiene la secuencia de notas que tocan los instrumentos definidos en la Orquestra. Antes de ser leída por esta, la partitura, que se compone de distintas secciones ordenadas en el tiempo por las sentencias, es preprocesada sección a sección.

La partitura se divide en columnas y cada una de ellas forma unos campos parametricos llamado p. Los tres primeros tienen las siguientes funciones:

-p1: Indica el número de instrumento

-p2: Indica el instante de comienzo

-p3: Indica la duración

Los demás campos pueden ser utilizados por los usuarios para definir la forma del sonido del instrumento.

Las tres instrucciones mas importantes en la partitura son: i, f y e. La instrucción “i” indica el comienzo de un instrumento y su duración. Va seguida por los tres primeros “campos p”. La “f” genera ciertas funciones que se usan para crear sonidos más complejos y sus cuatro campos parametricos son obligatorios, donde p1 es el número que se le da a la función, p2 es el momento en el que se genera, p3 es la longitud de la tabla donde se guardará los valores de la función y p4 es el número de la rutina GEN que se use. Por último, la instrucción “e” indica el final de la secuencia.

Ej.:

; p1 p2 p3 p4 …………………….

f1 2048 10 1 …………………….

i1 0 5 …………………………….

e

Línea de comando:

Sirve para ejecutar el programa y es de la siguiente manera:

CSOUND -W –o salida.wav orquestra.orc partitura.sco

Ya sabemos el contenido de los ficheros orquestra.orc y partitura.sco, visto anteriormente.

Variables y Constantes:

En la Orquestra y en la partitura se trabaja con variables y constantes. Las variables son elementos de cierto tipo que contienen valores. Pueden ser globales o locales. Las variables globales son accesibles por todos los instrumento de la Orquestra (se pone una g delante de la definición de la variable: g tipo-nombre). En cambio las locales no, solo son accesibles por el instrumento que las utilice.

Las variables tienen varios tipos:

i: Variables de Iniciación.

k: Variables de Control.

a: Variables de Audio.

Los parámetros de la Partitura son variables locales de tipo i.

Las constantes son variable con valores fijos Variables de y se representan de la siguiente manera:

Numérica. Ej.: 1.45212

Alfabética: Ej.: “C: /……” Entre corchetes

Observaciones:

Los comentarios van precedidos por un punto y como (;).

Opinión:

Personalmente creo que sí vale la pena este programa. Además de ser eficiente y fácil de usar (para un programador), es un programa completísimo que permite utilizarlo en cualquier ordenador y tener acceso a las mejoras de grandes profesionales en este sector. Es el mejor.

Links de interés:

Tutorial: CSound-tutorial.pdf

Para descargar CSound para Mac OS X ftp://ftp.cs.bath.ac.uk/pub/dream/newest/CSMacOSX.bin.tgz

Para descargar CSounsd para Windows GUI version ftp://ftp.cs.bath.ac.uk/pub/dream/newest/csound_win.zip

Otros http://www.cs.bath.ac.uk/~jpff/dream.html#Csound

Webpage http://www.csounds.com/



No hay comentarios:

Publicar un comentario