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 ]