Utiliser Csound

On peut faire fonctionner Csound dans divers modes et configurations. La méthode originale pour lancer Csound était un programme de console (invite DOS pour Windows, Terminal pour Mac OS X). Bien sûr, ceci fonctionne toujours. Lancer csound sans argument retourne une liste d'options de commande en ligne, qui sont expliquées plus en détail dans la section options de ligne de commande (par catégorie). Normallement, l'utilisateur exécute quelque chose comme :

csound monfichier.csd

ou si l'on utilise des fichiers d'orchestre (orc) et de partition (sco) séparés :

csound monorchestre.orc mapartition.sco

On peut trouver plusieurs fichiers .csd dans le répertoire des exemples. La plupart des articles de ce manuel sur les opcodes incluent également des fichiers .csd simples montrant l'utilisation de l'opcode.

Il y a aussi plusieurs frontaux que l'on peut utiliser pour lancer csound. Un frontal est un programme graphique qui facilite la tâche de lancer csound, et qui fournit parfois des fonctionnalités d'édition et de composition.

Csound a aussi plusieurs moyens de produire une sortie. Il peut :

Sortie console de Csound

[Note] Note
Cette sortie vient de csound5 ; les versions ultérieures peuvent différer légèrement.

Pendant son exécution, Csound écrit une sortie texte sur la console, qui montre des données sur cette exécution. Une sortie console ressemble à ceci :

time resolution is 0.455 ns                                  
PortMIDI real time MIDI greffon for Csound                    
virtual_keyboard real time MIDI greffon for Csound                                       
PortAudio real-time audio module for Csound                                              
0dBFS level = 32768.0                                                                    
Csound version 5.10 beta (float samples) Apr 19 2009                                     
libsndfile-1.0.17                                                                        
Reading options from $HOME/.csoundrc                                                     
UnifiedCSD:  oscil.csd                                                                   
STARTING FILE                                                                            
Creating options                                                                         
Creating orchestra                                                                       
Creating score                                                                           
orchname:  /tmp/csound-XYACV6.orc                                                        
scorename: /tmp/csound-IYtLAJ.sco                                                        
rtaudio: ALSA module enabled                                                             
rtmidi: PortMIDI module enabled                                                          
orch compiler:                                                                           
17 lines read                                                                            
        instr   1                                                                        
Elapsed time at end of orchestra compile: real: 0.129s, CPU: 0.020s                      
sorting score ...                                                                        
        ... done                                                                         
Elapsed time at end of score sort: real: 0.130s, CPU: 0.020s                             
Csound version 5.10 beta (float samples) Apr 19 2009                                     
displays suppressed                                                                      
0dBFS level = 32768.0
orch now loaded
audio buffered in 256 sample-frame blocks
ALSA input: total buffer size: 1024, period size: 256
reading 1024-byte blks of shorts from adc (RAW)
ALSA output: total buffer size: 1024, period size: 256
writing 1024-byte blks of shorts to dac
SECTION 1:
ftable 1:
new alloc for instr 1:
B  0.000 ..  2.000 T  2.000 TT  2.000 M:  10000.0  10000.0
Score finished in csoundPerform().
inactive allocs returned to freespace
end of score.              overall amps:  10000.0  10000.0
           overall samples out of range:        0        0
0 errors in performance
Elapsed time at end of performance: real: 2.341s, CPU: 0.050s
345 1024-byte soundblks of shorts written to dac
Removing temporary file /tmp/csound-CoVcrm.srt ...
Removing temporary file /tmp/csound-IYtLAJ.sco ...
Removing temporary file /tmp/csound-XYACV6.orc ...

La sortie console de Csound est assez fournie, particulièrement avant le début de l'exécution proprement dite (version, greffons chargés, etc.). L'exécution commence lorqu'apparaît sur la console :

SECTION 1:

Dans cette exécution particulière, les lignes :

new alloc for instr 1:
B  0.000 ..  2.000 T  2.000 TT  2.000 M:  10000.0  10000.0

montrent qu'une note pour l'instrument 1, durant 2 secondes et commençant à la date 0.000, a été produite avec une amplitude de 10000 sur les canaux 1 et 2. Une section importante de la sortie console est :

end of score.              overall amps:  10000.0  10000.0
           overall samples out of range:        0        0

qui montre l'amplitude globale et le nombre d'échantillons qui ont été rognés parce qu'ils étaient hors limites.

La ligne :

Elapsed time at end of performance: real: 2.341s, CPU: 0.050s

montre le temps d'horloge et le temps CPU utilisés par le processeur pour compléter le travail. Si le temps CPU est inférieur au temps d'horloge, cela veut dire que le csd peut être exécuté en temps réel (à moins qu'il ne contienne certaines sections très gourmandes en ressources CPU). La valeur "real time" est le temps total de traitement et il est supérieur car il comprend les accès disque, le chargement de modules, etc. (le temps CPU ne comptabilise que les calculs numériques). Si vous avez un son qui dure 100 secondes et que sa génération hors ligne ne dure que 5 secondes, cela veut dire que vous n'utilisez qu'environ 5% du CPU, et que son exécution ne nécessite que 0.05 du temps réel.