CSound est un langage de programmation musicale.
Plus précisément, il permet à l’aide de fichiers de description sonore de synthétiser des instruments puis de décrire des morceaux.
Il repose sur l’utilisation d’un compilateur et de 2 types de fichiers source :
- un fichier orchestre
- un fichier partition
le tout permettant de décrire les notes, le comportement des instruments au cours du temps, etc …
L’utilisation est complexe mais très puissante.
Un exemple extrait de wikipedia :
<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>
(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).
Parmi les possibilités avancées de Csound, on trouve une API de programmation permettant d’appeler CSound depuis un programme. Bienvenue à la musique procédurale
[ cSounds.com ]
[ tutoriaux ]
[ Introduction à la création sonore avec Csound ]
[ Lettuce : une interface graphique à CSound ]