Nyquist (langage)
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 sal |
modifier |
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.
Présentation
[modifier | modifier le code]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 | modifier le code]Synthèse
[modifier | modifier le code]- Génération d'un signal sinusoïdal :
(sine frequence [duree])
- Génération d'un bruit blanc :
(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 | modifier le code]- Filtre passe-haut, dont la fréquence de coupure peut être une valeur constante ou un signal variable dans le temps :
(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 | modifier le code]Articles connexes
[modifier | modifier le code]Notes et références
[modifier | modifier le code]Liens externes
[modifier | modifier le code]- (en) Computer Music Project de l'université Carnegie-Mellon, origine du langage Nyquist.
- Aide d'Audacity sur les greffons Nyquist.
- Wiki d'Audacity sur les greffons Nyquist.
- Exemples de greffons Nyquist pour Audacity.