Nyquist (langage)

langage de programmation

Nyquist est un langage de programmation destiné à la synthèse sonore, la composition musicale et l'analyse. Basé sur le langage Lisp, c'est une extension de la famille XLISP de Lisp.

Nyquist
Date de première version 1997
Auteur Roger Dannenberg
Développeur Roger Dannenberg
Dernière version 3.0.3 ()
Influencé par Lisp
Système d'exploitation Multiplate-forme
Site web [1]
Extension de fichier lsp et salVoir et modifier les données sur Wikidata

Présentation modifier

Avec Nyquist, le programmeur définit, au moyen d'expressions simples, des instruments de musique qu'il utilise pour générer des sons. Il peut alors les combiner en expressions plus complexes pour créer une composition entière, manipuler ou générer une grande variété d'autres sons.

Le langage interprété Nyquist permet de lire et d'enregistrer des fichiers de sons, des fichiers MIDI et des fichiers texte de partitions basés sur Adagio[1]. Sur de nombreux systèmes, il permet aussi de générer des sons en temps réel.

Ce langage de programmation est aussi utilisé dans le logiciel Audacity pour créer des greffons d'effet ("plug-ins").

Une différence importante entre Nyquist et les langages traditionnels de type MUSIC-N est que Nyquist n'isole pas les fonctions de synthèse sonore et les fonctions de composition. Par exemple, le langage Csound comprend deux sous-langages, un pour définir l'« orchestre » (orchestra) et l'autre pour définir la partition (score). Nyquist combine ces deux parties.

Nyquist tourne sous Linux et d'autres environnements Unix, Mac OS et Microsoft Windows.

Le langage de programmation Nyquist et l'interpréteur ont été écrits par Roger Dannenberg de l'université Carnegie-Mellon, avec le soutien de Yamaha et IBM.

Exemples modifier

Synthèse modifier

(sine frequence [duree])
(noise)
  • Application d'une enveloppe temporelle à un son :
(mult son (env 0.1 0.1 0.2 1.0 0.5 0.3 1.0))

Traitement modifier

(hp son frequence_coupure)
  • Changement du niveau sonore d'un son, d'un nombre de décibels donné :
(loud dB (cue son))
  • Modification de la durée d'un son, par un facteur donné :
(stretch facteur (cue son))
  • Enchaînement (séquentiel) de deux sons :
(seq (cue son1) (cue son2))
  • Combinaison simultanée de deux sons :
(sim (cue son1) (cue son2))

Annexes modifier

Articles connexes modifier

Notes et références modifier

Liens externes modifier