Il s'agit d'un langage de programmation qui permet de synthétiser des sons. Le langage peut être assez rebutant, car parfois peu lisible. Ainsi, "f1 0 4096 10 1" initialise une table n°1 avec une fonction sinus (fonction n°10)... En terme de clarté, je pense qu'il était possible de faire mieux. En revanche, le langage est assez puissant. Il y a des codes pour pas mal de chose déjà intégrés. Ainsi on trouve pour la synthèse :
Basic Oscillators
Dynamic Spectrum Oscillators
FM Synthesis
Granular Synthesis
Hyper Vectorial Synthesis
Linear and Exponential Generators
Envelope Generators
Models and Emulations
Phasors
Random (Noise) Generators
Sample Playback
Soundfonts
Scanned Synthesis
Table Access
Wave Terrain Synthesis
Waveguide Physical Modeling
À la base, Csound s'utilise en ligne de commande et génère un fichier WAV. Il peut soit utiliser un fichier MIDI en entrée, soit une section "score" intégrée au fichier. (Les premières versions séparaient dans deux fichiers la définition de l'instrument (dite orchestra) de la partition (dite score). Un usage en temps-réel avec clavier maitre est aussi possible.
On a aussi des environnements qui facilite la saisie (mise en couleur des codes Csound reconnu, index, aide en ligne intégrant la doc de Csound). Il y a deux tels environnements qui valent le détour : CsoundQt (que l'on récupère naturellement avec Csound) et WinXound (https://winxound.codeplex.com/), merci deb
WinXound est très abouti, la présentation est claire, le produit est fonctionnel.
CsoundQt semble moins stable. Ainsi, je n'ai eu qu'une fois les icônes dans la barre des boutons... maintenant, je dois me contenter du texte. La réinstallation n'y fait rien. En revanche, le produit va plus loin. Il intègre nativement le temps réel (on y arrive avec WinXound et les "options" que l'on peut saisir dans le fichier de description, mais c'est moins direct). Mais surtout, il dispose d'un éditeur d'interface graphique qui permet ensuite le contrôle en temps réel du synthétiseur. Accessoirement un clavier virtuel. Par ailleurs, CsoundQt offre aussi d'emblée une bonne série d'exemples : soit des exemples ciblés sur des fonctions pour débuter, soit des exemples plus aboutis (dont un B6 Hammond intéressant. La synthèse FM proposée est pas mal : 2 oscillateurs seulement (porteur+modulateur), mais enveloppe, affichage du scope et de spectre). Petit point gênant : CsoundQt ne supporte pas les répertoire accentués. Il me faut travailler dans un répertoire hors de mon "home directory" (et y recopier aussi les exemples).
Pour l'instant, à part la reprise d'exemples de CsoundQt, je n'ai pas fait grand chose... juste jouer la 1ère invention de Bach avec une fonction sinus... J'envisage d'essayer avec le B6 Hammond de CsoundQt... mais il y a quelques problèmes d'intégration.
Il existe une version VSTi de Csound... mais impossible de la faire reconnaitre ni par Reaper, ni par Cubase AI. C'est bien dommage.
Commentaire