fbpx
Wikipedia

Nyquist (lenguaje de programación)

Nyquist es un lenguaje de programación para composición y síntesis de sonido. Desciende del lenguaje Fuge, creado por Chris Fraley. Uno de los desarrolladores posteriores de Fugue , Roger Dannenberg, implementó Nyquist como extensión sonora, del intérprente de Xlisp de David Michael Betz.

Como dialecto de Lisp, incluye todas las bendiciones y dificultades de la programación funcional. Siendo una característica relevante, que incluye el control del tiempo en la semántica misma del lenguaje. Además, es extensible mediante la programación orientada a objeto, implementeada en Xlisp.

Actualmente funciona en las plataformas de Unix/linux, MacOS y Windows.

Rudimentos de Xlisp

Xlisp es una variante eXperimental de common lisp. El autor se propuso añadir la potencia de la programación orientada a objetos, en el entorno lisp, corriendo en una máquina pequeña. Excepto en algunos detalles sintácticos, lo aprendido en Xlisp, puede extenderse a Common Lisp.

El entorno de Nyquist, es en concreto un intérprete de xlisp, ya que aquel es una extensión de este. Una simple suma de variables, típica de los tutoriales de cualquier lenguaje de programación, quedariá así:

 >;esto es una etiqueta no tenida en cuenta >(setf a 5) 5 >(setf b 3) 3 >(+ a b) 8 

O una definición de una función genérica, que sume dos pares de números

 >(defun suma-par (a b) (+ a b)) SUMA-PAR >(suma-par 5 3) 8 

En general, la programación en Lisp, y en concreto en Nyquist, es muy intuitiva, y permite muchos grados de abstracción, propiciando proyectos de cierta complejidad en programas sencillos y legibles. Si bien no puede obviarse, la dificutad visual del manejo de paréntesis.

Proceso de sonido y composición

Dentro de Nyquist, los procesos y sonidos son usados en contexto de listas de lisp. Por ejemplo, para hacer sonar un oscilador con la frecuencia de la nota c4, no hay más que escribir:

 >(play (osc c4)) 

o también

 >(setf mi-sonido (osc c4)) MI-SONIDO >(play mi-sonido) 

Un ejemplo de función sencilla definida para tocar, n notas al azar entre c4 y c5, es esta:

 ;definimos la función n-notas (defun n-notas (n) (seqrep (i n) (osc (+ 60 (random 12))))) ;llamamos a la función para que toque 10 notas (play (n-notas 10)) 

Sin embargo el grado de complejidad no se queda evidentemente aquí, sino que recorre desde el proceso de sonido en bajo nivel, hasta el uso de distintas primitivas específicas de síntesis sonora. La plasticidad de lisp, lo hace un entorno especialmente versátil.

Nyquist en Audacity

Audacity es un editor de sonidos tan ligero como potente. Entre sus opciones está precisamente, la posibilidad de programar en una versión especial del lenguaje Nyquist. Para comprobarlo, vaya al menú efecto, tras crear una pista de audio y seleccionar una porción de tiempo. Allí seleccione "Comando Nyquist...", lo cual le permitirá programar en Nyquist, dentro del entorno de Audacity. (Para probar los ejemplos anteriores, omita la función play)

Otra característica muy interesante de la relación Nyquist-Audacity es la posibilidad de desarrollar plugins con interfaz visual, de manera rápida y sencilla.

Enlaces

  • Nyquist Software (en inglés)
  • (en inglés)
  • (en inglés)
  • Tutorial de Nyquist en Audacity (en inglés)
  • Tutoriales e instrumentos
  •   Datos: Q1788197

nyquist, lenguaje, programación, nyquist, lenguaje, programación, para, composición, síntesis, sonido, desciende, lenguaje, fuge, creado, chris, fraley, desarrolladores, posteriores, fugue, roger, dannenberg, implementó, nyquist, como, extensión, sonora, intér. Nyquist es un lenguaje de programacion para composicion y sintesis de sonido Desciende del lenguaje Fuge creado por Chris Fraley Uno de los desarrolladores posteriores de Fugue Roger Dannenberg implemento Nyquist como extension sonora del interprente de Xlisp de David Michael Betz Como dialecto de Lisp incluye todas las bendiciones y dificultades de la programacion funcional Siendo una caracteristica relevante que incluye el control del tiempo en la semantica misma del lenguaje Ademas es extensible mediante la programacion orientada a objeto implementeada en Xlisp Actualmente funciona en las plataformas de Unix linux MacOS y Windows Indice 1 Rudimentos de Xlisp 2 Proceso de sonido y composicion 3 Nyquist en Audacity 4 EnlacesRudimentos de Xlisp EditarXlisp es una variante eXperimental de common lisp El autor se propuso anadir la potencia de la programacion orientada a objetos en el entorno lisp corriendo en una maquina pequena Excepto en algunos detalles sintacticos lo aprendido en Xlisp puede extenderse a Common Lisp El entorno de Nyquist es en concreto un interprete de xlisp ya que aquel es una extension de este Una simple suma de variables tipica de los tutoriales de cualquier lenguaje de programacion quedaria asi gt esto es una etiqueta no tenida en cuenta gt setf a 5 5 gt setf b 3 3 gt a b 8 O una definicion de una funcion generica que sume dos pares de numeros gt defun suma par a b a b SUMA PAR gt suma par 5 3 8 En general la programacion en Lisp y en concreto en Nyquist es muy intuitiva y permite muchos grados de abstraccion propiciando proyectos de cierta complejidad en programas sencillos y legibles Si bien no puede obviarse la dificutad visual del manejo de parentesis Proceso de sonido y composicion EditarDentro de Nyquist los procesos y sonidos son usados en contexto de listas de lisp Por ejemplo para hacer sonar un oscilador con la frecuencia de la nota c4 no hay mas que escribir gt play osc c4 o tambien gt setf mi sonido osc c4 MI SONIDO gt play mi sonido Un ejemplo de funcion sencilla definida para tocar n notas al azar entre c4 y c5 es esta definimos la funcion n notas defun n notas n seqrep i n osc 60 random 12 llamamos a la funcion para que toque 10 notas play n notas 10 Sin embargo el grado de complejidad no se queda evidentemente aqui sino que recorre desde el proceso de sonido en bajo nivel hasta el uso de distintas primitivas especificas de sintesis sonora La plasticidad de lisp lo hace un entorno especialmente versatil Nyquist en Audacity EditarAudacity es un editor de sonidos tan ligero como potente Entre sus opciones esta precisamente la posibilidad de programar en una version especial del lenguaje Nyquist Para comprobarlo vaya al menu efecto tras crear una pista de audio y seleccionar una porcion de tiempo Alli seleccione Comando Nyquist lo cual le permitira programar en Nyquist dentro del entorno de Audacity Para probar los ejemplos anteriores omita la funcion play Otra caracteristica muy interesante de la relacion Nyquist Audacity es la posibilidad de desarrollar plugins con interfaz visual de manera rapida y sencilla Enlaces EditarNyquist Software en ingles Nyquist para Linux en ingles Manual de Nyquist en ingles Tutorial de Nyquist en Audacity en ingles Tutorial de Nyquist Audacity en espanol Tutoriales e instrumentos Datos Q1788197Obtenido de https es wikipedia org w index php title Nyquist lenguaje de programacion amp oldid 123618785, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos