Développements récents

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.