Toma y únete a la programación musical: idiomas que te ayudarán a hacer esto

En uno de los materiales anteriores, escribimos sobre Sporth, desarrollado para realizar sesiones de música en vivo. Hoy hablaremos de otra herramienta para la "programación musical": el lenguaje Csound . Y hablemos de sus contrapartes: SuperCollider y Pure Data .


Photo Escape Artiste / Unsplash

Cómo apareció Csound


Este lenguaje le permite resolver los problemas de procesamiento de señales de audio y es una herramienta popular para la " programación musical ". Este término se refiere al proceso de escribir pistas utilizando dispositivos electrónicos: secuenciadores, sintetizadores y software.

La historia de Csound se remonta a mediados del siglo pasado. Es descendiente directo de la familia de idiomas MUSIC-N , cuya primera versión fue presentada en 1957 por el ingeniero Max Mathews de Bell Labs. MUSIC es considerada una de las primeras soluciones para la generación de ondas de sonido digitales. Con su ayuda, se escribieron las composiciones " The Silver Scale " y " The Pitch Variations ". Ambas obras pertenecen a ingeniero acústico y lingüista Newman Guttman, quien fue el primer programador musical de la historia.


Con el tiempo, las posibilidades de MUSIC se expandieron: aparecieron nuevas versiones del lenguaje y aumentó la base de usuarios. A mediados de los años 80, las capacidades del sistema atrajeron a Barry Vercoe, un especialista de MIT Media Labs. Utilizando los logros de colegas de Bell Labs, se dio cuenta de su lenguaje y lo llamó Csound . Escribió el compilador en C y decidió distribuir todo bajo la licencia GNU LGPL. El sistema todavía es compatible y ampliado por módulos para el procesamiento de señales.

Características del lenguaje


Para generar sonido , aquí se utilizan códigos de operación especiales . Estos códigos son necesarios para identificar instrumentos en un archivo de orquesta digital . Por ejemplo, para incluir un oscilador en una orquesta, simplemente escriba el siguiente comando:

a1 oscil 10000, 440, 1

Tres argumentos son amplitud, frecuencia y forma de onda, respectivamente.

La lista de notas a reproducir se coloca en un archivo de partitura separado , creado en un editor de texto normal. A continuación, el compilador organiza la partitura por tiempo, calcula los valores para las tablas de ondas y reproduce la música.

Si lo desea, los archivos de orquesta y partitura se pueden combinar en uno con etiquetas especiales. La wiki proporciona un ejemplo del contenido de dicho documento: genera una onda sinusoidal que dura un segundo con una frecuencia de 1 kHz.

<CsoundSynthesizer>

  <CsOptions>
    csound -W -d -o tone.wav
  </CsOptions>

  <CsInstruments>
    sr     = 96000           ; Sample rate.
    kr     = 9600            ; Control signal rate.
    ksmps  = 10              ; Samples per control signal.
    nchnls = 1               ; Number of output channels.

    instr 1
    a1     oscil p4, p5, 1   ; Oscillator: p4 and p5 are the arguments from the score, 1 is the table number.
    out a1                   ; Output.
    endin
  </CsInstruments>

  <CsScore>
    f1 0 8192 10 1           ; Table containing a sine wave. Built-in generator 10 produces a sum of sinusoids, here only one.
    i1 0 1 20000 1000        ; Play one second of one kHz at amplitude 20000.
    e
  </CsScore>

</CsoundSynthesizer>

Si desea conocer este lenguaje más cerca, entonces, de acuerdo a los residentes de Hacker News, hacer esto es bastante fácil. Puede comenzar con documentación oficial detallada o consultar la literatura del tema .

Quien usa


El DJ estadounidense Brian Transeau trabaja con Csound , quien escribió música para Need for Speed: Underground y las películas Blade 2, The Fast and the Furious. Con la ayuda de este PL, escribió la canción " All That Makes Us Human Continues " del álbum "This Binary Universe".


Este PL también fue utilizado por el compositor sueco Tobias Enhus, cuyo trabajo se puede escuchar en la película Black Hawk. Usando este sistema, escribió la canción " Electric Priest ".

El lenguaje también fue útil para la implementación de proyectos científicos y de investigación. Los especialistas de la Universidad Noruega de Ciencias de la Vida e Ingeniería han desarrollado efectos personalizados para descubrir nuevos métodos de escritura musical.

Soluciones alternativas


La familia de PL MUSIC se ha convertido en el progenitor no solo de Csound, sino también de otros sistemas de generación de sonido. Entre ellos están SuperCollider y Pure Data .

SuperCollider es un entorno virtual para la síntesis de audio en tiempo real. En 1996, fue desarrollado por James McCartney (James McCartney) y publicado en el dominio público . Con el tiempo, varios ingenieros más se unieron al proyecto, que aún lo respaldan: en GitHub, SuperCollider tiene más de 3 mil estrellas .

SuperCollider tiene amplias oportunidades para la autoexpresión, por lo que es utilizado por un gran número de compositores . Por ejemplo, el músico estadounidense Jeremy van Buskirk (Jeremy Van Buskirk ) escribió " A Sigh Felt Across The Earth " en SuperCollider , y Mark Ballora, profesor de la escuela de música de la Universidad de Pennsylvania, presentó la canción " Singularity ".

Se cree que el desarrollo completo de SuperCollider llevará mucho tiempo. Aunque los videos tutoriales oficiales en YouTube y otras guías definitivamente ayudarán con esta tarea .


Photo Escape Artiste / Unsplash

Con respecto aPure Data, es un lenguaje de programación visual para implementar trabajos multimedia interactivos. Este es un análogo abierto de la utilidadMax / MSP. Se basa en flujos de datos que pasan a través de objetos y las conexiones entre ellos. Por esta razón, un programa en Pure Data se llama un parche, similar a los sintetizadores modulares, donde las conexiones se hicieron con cables de conexión.

Se pueden encontrar ejemplos de trabajos vendidos con Pure Data en YouTube. Por ejemplo, el trabajo de Rino Petrozziello (Rino Petrozziello), que se llama "Música algorítmica". Más ejemplos estánen el sitio web oficial.



« Hi-Fi»:

Sporth — live-
:

:
:



:




All Articles