Csound
Csound | |
Date de première version | 1986 |
---|---|
Auteur | Barry Vercoe |
Dernière version | 6.16 () |
Influencé par | MUSIC IV-BF, MUSIC 11 |
Écrit en | C |
Système d'exploitation | Multiplate-forme |
Licence | LGPL |
Site web | csounds.com |
modifier ![]() |
Csound est un langage de programmation de création sonore, son compilateur portant le même nom qui provient du langage C, avec lequel il a été écrit au MIT par Barry Vercoe. C'est un logiciel libre disponible sous la licence LGPL.
Il peut être utilisé indépendamment ou pour faire des plugins audio au format les plus standard (AU, LV2, VST, etc.).
Historique
[modifier | modifier le code]Ce langage est inspiré de MUSIC, une série de programmes plus anciens développés par Max Mathews.
Son développement s'est poursuivi durant les années 1990 et 2000 sous la conduite de John Fitch à l'université de Bath, donnant ainsi naissance à la version Csound 5 en . Beaucoup de développeurs ont contribué à ce projet, notamment Istvan Varga, Gabriel Maldonado (qui a développé une variante CsoundAV), Robin Whittle, Richard Karpen, Michael Gogins, Matt Ingalls, Steven Yi et Victor Lazzarini.
Description
[modifier | modifier le code]Dans son utilisation la plus simple, le programmeur rédige deux fichiers texte selon un modèle spécifié et prédéfini : le fichier orchestra (orchestre) qui décrit la nature des instruments et le fichier score (partition) qui décrit les notes, ainsi que d'autres paramètres temporels. Csound procède ensuite à la compilation de ces fichiers et génère un fichier audio. Les versions récentes de Csound peuvent recevoir, traiter et produire, éventuellement en temps réel, des flux audio et des flux MIDI.
Les fichiers orchestra et score peuvent être réunis dans un seul et même fichier en utilisant une structure avec des balises XML. Voici un exemple très simple d'un fichier Csound unifié, lequel produit après compilation un fichier Wave contenant un signal sinusoïdal d'une durée de 1 seconde, et d'une fréquence de 1 kHz à un taux d'échantillonnage de 44,1 kHz :
<CsoundSynthesizer>;
<CsOptions>
csound -W -d -o tone.wav
</CsOptions>
<CsInstruments>
sr = 44100 ; Sample rate.
kr = 4410 ; Control signal rate.
ksmps = 10 ; Samples pr. control signal.
nchnls = 1 ; Number of output channels.
instr 1
a1 oscil p4, p5, 1 ; Simple oscillator.
out a1 ; Output.
endin
</CsInstruments>
<CsScore>
f1 0 8192 10 1 ; Table containing a sine wave.
i1 0 1 20000 1000 ; Play one second of one kHz tone.
e
</CsScore>
</CsoundSynthesizer>
Distribution et intégration
[modifier | modifier le code]La dernière version, Csound 6, est disponible sous forme de fichier binaire ou de code source pour Linux, MacOS, Windows et Android[2]. Elle peut également être utilisée sous forme de bibliothèque logicielle ou d'API, pouvant donc être partie intégrante d'un autre logiciel. Les bibliothèques logicielles sont disponibles en C, Python, Java, LISP, Tcl, et C++.
Notes et références
[modifier | modifier le code]- « Release 6.18.1 », (consulté le )
- « Download | Csound Community », sur csound.com (consulté le )
Voir aussi
[modifier | modifier le code]Liens externes
[modifier | modifier le code]- Introduction à la création sonore avec Csound par Richard Boulanger.
- Csound sur GitHub Page du projet sur GitHub.
- Manuel de référence canonique de Csound en français.
- Csound Editor est un environnement de programmation pour CSound.
- WinXound est un autre environnement de programmation pour Csound.
- Blue, un environnement de composition musicale basé sur Csound.
- Cabbage environnement de programmation pour Csound et création VSTI.
- Bol Processor environnement de programmation pour Csound et MIDI.