Depuis l'époque à laquelle Barry Vercoe écrivit la Préface originale de
ce manuel, imprimée ci-dessus, de nombreuses nouvelles contributions ont été
apportées à Csound. CsoundAC est une version étendue de Csound5.
Caractéristiques de Csound 5
Csound 5 débute une nouvelle version majeure de Csound qui inclut les
nouvelles caractéristiques suivantes :
- Autorisé maintenant sous la GNU Lesser General Public License,
une licence de code source libre (open source).
- Un nouveau système de construction, plus facile à mettre en œuvre,
utilisant SCons.
-
L'utilisation de bibliothèques de code source libre largement acceptées :
- libsndfile pour les entrées et les sorties dans
les fichiers son.
- PortAudio avec les pilotes ASIO pour les entrées et les sorties
en à faible latence.
- FLTK pour les contrôles graphiques que l'on peut programmer
dans le code de l'orchestre.
- PortMidi pour les entrées et les sorties MIDI
en .
De plus, Istvan Varga a écrit des pilotes natifs MIDI et audio
pour Windows et Linux.
- Un système simplifié de tampons audio.
- Des valeurs d'état retournées par toutes les fonctions internes,
y compris les fonctions des opérateurs.
- Des opérateurs MIDI interopérables, ce qui permet d'utiliser
les mêmes définitions d'instrument de façon interchangeable pour une exécution
MIDI live ou une exécution différée commandée par une partition.
-
Les opérateurs en greffon (module externe) sont opérationnels
et sont acceptés plus largement. De nombreux opérateurs ont été déplacés dans des
greffons. La plupart des nouveaux opérateurs sont des greffons, notamment :
- Les opérateurs SoundFont basés sur FluidSynth.
- Les opérateurs Python qui permettent d'exécuter du code Python dans
l'en-tête d'un orchestre ou dans le code d'un instrument à cadence-
i
ou à cadence-k
.
- Les opérateurs Loris pour l'analyse temps/fréquence et
la resynthèse.
- Les opérateurs du bus de contrôle.
- Les opérateur de mélangeur audio.
- Les opérateurs de conversion de chaîne de caractères.
- Les opérateurs Open Sound Control (OSC) améliorés.
- Les opérateurs vectoriels.
- Les opérateurs pvs pour le traitement
fréquentiel du signal en , un portage du code du vocodeur de phase
de Mark Dolson.
- Les opérateurs ATS pour l'analyse spectrale,
la transformation, et la synthèse du son basée sur un modèle sinusoïdal avec bruit de bande
critique. Un son dans ATS est un objet symbolique représentant un modèle spectral
qu'on peut sculpter au moyen de diverses fonctions de transformation. Ces opérateurs
peuvent lire, transformer et resynthétiser des fichiers d'analyse ATS. Il faut noter
que l'application ATS est nécessaire pour produire les fichiers d'analyse.
- Les opérateurs STK, constitués par les instruments du Synthesis Toolkit
original de Perry Cook en C++, adaptés en opérateurs.
- Les opérateurs d'adaptation DSSI et
LADSPA pour accueillir des modules externes
DSSI et LADSPA
dans Csound.
- Les opérateurs d'adaptation vst4csVST
pour accueillir des modules externes VST dans Csound. (Distribués seulement sous la
forme de sources à cause des restrictions de la licence du SDK de VST.)
- Le fichier d'en-tête
OpcodeBase.hpp
pour
écrire des modules externes en C++. C'est basé sur la technique du
polymorphisme statique via l'héritage de template.
- le frontal csound5gui d'Istvan Varga pour Csound, qui simplifie
l'édition de Csound et son utilisation spécialement pour les exécutions en direct,
et le suivi de contrôle des exécutions.
- Les frontaux en Tcl/Tk de Victor Lazzarini pour Csound,
cstclsh et cswish.
-
L'API de Csound devient plus normalisée et est plus largement utilisée.
Il existe des interfaces encapsulant l'API dans les langages suivants :
- C (include
csound.h
).
- C++ (include
csound.hpp)
). Cette API contient
les fonctions conteneur des fichiers de partition et d'orchestre
de Csound.
- Python (
import csnd
).
- Java (
import csnd.*;
).
- Lua (
require "csnd";
).
- Lisp (utiliser le fichier CFFI
csound5.lisp
).
- Csound est maintenant totalement ré-entrant, ce qui veut dire que l'on peut
exécuter plusieurs instances de Csound en même temps, dans le même processus.
John ffitch projette de remplacer l'analyseur syntaxique écrit à la main par un
analyseur syntaxique produit à l'aide d'un générateur d'analyseur syntaxique, ce qui
le rendrait moins sensible aux bogues et sans doute plus efficace.