Articulo de referencia

Arrojar

"},"latest release version":{"wt":"1.5.2.4"},"latest release date":{"wt":"{{start date and age|2024|04}} {{Cite web|url=https://github.com/ccrma/chuck/blob/main/notes/VERSIONS|t...

ChucK es un lenguaje de programación de audio concurrente y de alta precisión temporal para síntesis, composición e interpretación en tiempo real, [ 3 ] que se ejecuta en Linux , Mac OS X , Microsoft Windows e iOS . Está diseñado para priorizar la legibilidad y la flexibilidad del programador sobre otras consideraciones como el rendimiento puro. Admite de forma nativa la concurrencia determinista y múltiples velocidades de control dinámicas y simultáneas. Otra característica clave es la capacidad de programar en vivo ; agregar, eliminar y modificar código sobre la marcha, mientras el programa se está ejecutando, sin detenerlo ni reiniciarlo. Tiene un modelo de concurrencia/temporización de alta precisión, que permite una granularidad arbitrariamente fina. Ofrece a compositores e investigadores una herramienta de programación potente y flexible para construir y experimentar con programas complejos de síntesis de audio y control interactivo en tiempo real. [ 4 ]

ChucK fue creado y diseñado principalmente por Ge Wang como estudiante de posgrado que trabajaba con Perry R. Cook . [ 1 ] ChucK se distribuye gratuitamente bajo los términos de la Licencia Pública General de GNU en Mac OS X , Linux y Microsoft Windows . En iPhone y iPad , ChiP (ChucK para iPhone) se distribuye bajo una licencia limitada de código cerrado y actualmente no está licenciado al público. Sin embargo, el equipo principal ha declarado que le gustaría explorar "formas de abrir ChiP creando un entorno beneficioso para todos". [ 5 ]

Características del idioma

El lenguaje de programación ChucK es un lenguaje orientado a objetos con ciertas similitudes con C, pero con tipado estático estricto .

ChucK se distingue por las siguientes características: [ 6 ]

Las bibliotecas estándar de ChucK proporcionan:

Ejemplo de código

El siguiente es un programa sencillo de ChucK que genera sonido y música:

// gráfico de señal (parche) SinOsc s => JCRev r => dac; .2 => s.ganancia; // mezcla seco/húmedo (para reverberación) .1 => r.mix; // un array de clases de tono (semitonos) [ 0, 2, 4, 7, 9, 11 ] @=> int hi[]; // hacer para siempre: mientras ( verdadero ) { // elige una nota, cambia los registros, conviértela a frecuencia Std.mtof( 45 + Std.rand2(0,3) * 12 + hi[Std.rand2(0,hi.cap()-1)] ) => s.freq; // adelantar el tiempo 120:: ms => ahora ; }

Usos

ChucK se ha utilizado en actuaciones de la Princeton Laptop Orchestra (PLOrk) y para desarrollar aplicaciones Smule , incluido su emulador de ocarina . [ 8 ]

Los organizadores de PLOrk atribuyen parte de la singularidad de sus actuaciones a la programación en vivo que pueden realizar con ChucK. [ 9 ]

Véase también

Referencias

  1. 1 2 Dean, RT (2009). The Oxford handbook of computer music . Oxford Handbooks in Music Series. Oxford University Press US. p.  57. ISBN 0-19-533161-3.
  2. "github.com/ccrma/chuck" . Consultado el 18 de enero de 2021 .
  3. Wang, Ge (2008). El lenguaje de programación de audio ChucK: un entorno/mentalidad fuertemente temporizado y sobre la marcha (Ph.D.). Universidad de Princeton.
  4. "ChucK : Lenguaje de programación musical concurrente, de sincronización fuerte y en tiempo real" . Archivado del original el 18 de noviembre de 2003. Consultado el 6 de septiembre de 2013. ... ofrece a compositores, investigadores e intérpretes una potente herramienta de programación para crear y experimentar con programas complejos de síntesis/análisis de audio y música interactiva en tiempo real. 
  5. Wang, Ge. "¡Saludos y actualizaciones de ChuckKian!" . Lista de correo chuck-users . Universidad de Princeton . Consultado el 24 de mayo de 2011 .
  6. Wang, G. y P. Cook (2003). "ChucK: Un lenguaje de programación de audio concurrente y sobre la marcha" (PDF) . Actas de la Conferencia Internacional de Música por Computadora .
  7. "Manual FLOSS" . Flossmanuals . Consultado el 18 de enero de 2021 .
  8. Kirn, Peter (22 de julio de 2009). "Entrevista: Ge Wang de Smule sobre aplicaciones para iPhone, ocarinas y la democratización de la tecnología musical" . Create Digital Music . Recuperado el 24 de mayo de 2011 .
  9. Petersen, Brittany (11 de junio de 2008). "Laptop Orchestra Makes (Sound) Waves" . PC Magazine . Archivado del original el 11 de julio de 2017. Recuperado el 25 de agosto de 2017. Otra cosa que diferenció a PLOrk desde el principio fue su uso de un programa basado en texto llamado ChucK, desarrollado por un estudiante de posgrado de Princeton. ChucK permite al usuario programar rápidamente, de forma similar a la programación en vivo, y "sobre la marcha" para una actuación, lo que permite la espontaneidad y la interacción en tiempo real que son importantes en la interpretación de música en vivo. "ChucK es el único lenguaje que conozco que fue diseñado desde el principio para facilitar eso", dice Trueman. El programa también es "concurrente", lo que significa que puede manejar muchos procesos diferentes que se ejecutan a la vez. Según explica, su "sentido innato del tiempo" permite a los intérpretes comunicarse durante los ensayos y las actuaciones en directo, y añade que muchos otros músicos que utilizan ordenadores portátiles probablemente usen un programa como Max/MSP (que PLOrk utiliza además de ChucK) u otro programa comercial de amplia disponibilidad. Actualmente, otras orquestas de ordenadores portátiles, como la Stanford Laptop Orchestra (SLOrk), inspirada directamente en PLOrk, también emplean ChucK.

Lecturas adicionales

Literatura de sus autores

  • Wang, G. (2018). Diseño ingenioso: La tecnología en busca de lo sublime . Stanford University Press. ISBN 978-1503600522.
  • Wang, G.; Cook, P.; Salazar, S. (2015). "ChucK: Un lenguaje de música por computadora con sincronización fuerte" (PDF) . Computer Music Journal .
  • Wang, G. (2008). "El lenguaje de programación de audio ChucK" . Tesis doctoral, Universidad de Princeton .
  • Wang, G; Fiebrink, R; Cook, P (2007). "Combinación de análisis y síntesis en el lenguaje de programación ChucK" (PDF) . Actas de la Conferencia Internacional de Música por Computadora .
  • Wang, G; Misra, A.; Kapur, A; Cook, P (2005). "Yeah ChucK it! => Mapeo de interfaz dinámico y controlable" (PDF) . Actas de la Conferencia Internacional sobre Nuevas Interfaces para la Expresión Musical .
  • Wang, G.; Cook, P.; Misra, A (2005). "Diseño e implementación del lenguaje de programación ChucK" (PDF) . Actas de la Conferencia Internacional de Música por Computadora .
  • Wang, G.; Cook, P. (2004). "The Audicle: Un entorno/mentalidad de programación de audio sensible al contexto y sobre la marcha" (PDF) . En Actas de la Conferencia Internacional de Música por Computadora .
  • Wang, G.; Cook, P. (2004). "Programación sobre la marcha: el uso del código como instrumento musical expresivo" (PDF) . Actas de la Conferencia Internacional sobre Nuevas Interfaces para la Expresión Musical .
  • Wang, G.; Cook, P. (2003). "ChucK: Un lenguaje de programación de audio concurrente y sobre la marcha" (PDF) . Actas de la Conferencia Internacional de Música por Computadora .

Cobertura aparentemente independiente

  • Graham Morrison, (2009) Genera canciones con Chuck . Cansados ​​de la misma música de siempre en las listas de éxitos, creamos nuestra propia música a partir de una serie de números pseudoaleatorios. Linux Format número 125
  • Alan Blackwell y Nick Collins, El lenguaje de programación como instrumento musical en P. Romero, J. Good, E. Acosta Chaparro y S. Bryant (Eds.). Actas de PPIG 17, págs.  120–130
  • RT Dean , ed. (2009). The Oxford Handbook of Computer Music . Oxford University Press. pp.  27 y 580. ISBN 978-0-19-533161-5.
  • Página principal de Chuck en la Universidad de Princeton
  • Espejo de Chuck en la Universidad de Stanford
  • Manual de hilo dental de Chuck

Obtenido de " https://en.wikipedia.org/w/index.php?title=ChucK&oldid=1342030553 "