Frontaux

Les frontaux sont des programmes fournissant une sorte d'interface utilisateur pour Csound. Avec ces programmes, Csound est utilisé comme générateur de son, et il faut donc avoir une certaine familiarité avec le code de Csound pour les utiliser. Les frontaux apportent habituellement des facilités comme la coloration syntaxique, des widgets graphiques, ou des outils de génération algorithmique de partition, qui ne font pas partie de Csound lui-même. La plupart de ces programmes sont créés par une seul personne, ce qui fait que certains d'entre eux ne sont pas maintenus. Ci-dessous, une liste (sans doute incomplète et pas forcément à jour) des frontaux disponibles pour Csound.

La plupart du temps, on téléchargera et on installera Csound lui-même avant de télécharger et d'installer un frontal. Certains frontaux nécessitent des versions particulières de Csound. Il est donc recommandé, si l'on veut utiliser un frontal, de vérifier sa compatibilité avant d'installer Csound.

CsoundQt

CsoundQt est un programme GUI (interface utilisateur graphique) multi plates-formes aux fonctions variées qui est fourni avec la distribution standard de Csound. Créé et maintenu par Andrés Cabrera, CsoundQt comprend un éditeur à plusieurs onglets, des widgets graphiques pour le contrôle du son en temps réel, et un système d'aide des opcodes qui pointe dans ce manuel. A l'heure actuelle (2013), CsoundQt est dans une phase active de développement, ce qui fait que la version installée sur votre système avec Csound peut ne pas être la plus récente. On peut trouver la dernière version à http://qutecsound.sourceforge.net/.

Blue

Frontal multi plates-formes orienté composition, écrit en Java par Steven Yi. L'interface utilisateur fournit une structure de ligne temporelle comme sur un multipiste numérique, mais en diffère en ce que les lignes temporelles peuvent être intégrées dans d'autres lignes temporelles (polyObjects). Cela permet une organisation compositionnelle dans le temps que beaucoup trouveront intuitive, compréhensible et flexible. Chaque instrument et chaque section de partition dans un projet blue ont leur propre fenêtre d'édition, ce qui facilite l'organisation des projets de grande taille. On peut télécharger Blue à la Blue Home Page.

Cabbage

Cabbage est un frontal de Csound qui permet de développer des greffons audio et des logiciels autonomes sur les trois principaux systèmes d'exploitation. Bien que Cabbage utilise des technologies sous-jacentes de greffon telles que le SDK VST de Steinberg, ASIO, etc, Csound est utilisé pour traiter les flux audio entrant et sortant. Cabbage fournit aussi une collection croissante de contrôles graphiques allant de la simple réglette aux surfaces XY programmables. Tous les contrôles graphiques dans un greffon de Cabbage peuvent être contrôlés via des automatismes de l'hôte du greffon, fournissant ainsi un moyen rapide et efficace d'automatiser les paramètres d'instrument de Csound dans des station audionumériques commerciales ou non. On peut télécharger Cabbage sur la page d'accueil de Cabbage.

WinXound

WinXound est un éditeur graphique frontal libre et open-source avec coloration syntaxique pour Csound6, CSoundAV, CSoundAC, avec le support de Python et de Lua. Il est développé par Stefano Bonetti. Il fonctionne sous Windows de Microsoft, Mac OsX d'Apple et Linux. On peut le télécharger sur la page principale de WinXsound.

Winsound

Winsound appartenait à la branche principale de Csound. Il n'est plus maintenant disponible que sous forme de code source. Winsound est un portage multi plates-formes en FLTK du frontal original de Barry Vercoe pour Csound. Certains utilisateurs mal-voyants ou aveugles ont rapporté que Winsound fonctionne bien avec des logiciels de traduction texte-parole.

CsoundAC

Programmation Python

Vous pouvez utiliser CsoundAC comme un module d'extension de Python. Vous pouvez faire cela dans un interpréteur Python standard tel que la ligne de commande Python ou le Idle Python GUI.

Pour utiliser CsoundAC dans un interpréteur Python standard, importez CsoundAC.

        import CsoundAC

Le module CsoundAC crée automatiquement une instance de CppSound nommée csound, qui fournit une interface orientée objet à l'API de Csound. Dans un interpréteur Python standard, vous pouvez charger un fichier Csound .csd et l'exécuter de cette manière :

  C:\Documents and Settings\mkg>python
  Python 2.3.3 (#51, Dec 18 2003, 20:22:39) [MSC v.1200 32 bit (Intel)] on win32
  Type "help", "copyright", "credits" or "license" for more information.
  >>> import CsoundAC
  >>> csound.load("c:/projects/csound5/examples/trapped.csd")
  1
  >>> csound.exportForPerformance()
  1
  >>> csound.perform()
  BEGAN CppSound::perform(5, 988ee0)...
  BEGAN CppSound::compile(5, 988ee0)...
  Using default language
  0dBFS level = 32767.0
  Csound version 5.00 beta (float samples) Jun  7 2004
  libsndfile-1.0.10pre6
  orchname:  temp.orc
  scorename: temp.sco
  orch compiler:
  398 lines read
  instr   1
  instr   2
  instr   3
  instr   4
  instr   5
  instr   6
  instr   7
  instr   8
  instr   9
  instr   10
  instr   11
  instr   12
  instr   13
  instr   98
  instr   99
  sorting score ...
  ... done
  Csound version 5.00 beta (float samples) Jun  6 2004
  displays suppressed
  0dBFS level = 32767.0
  orch now loaded
  audio buffered in 16384 sample-frame blocks
  SFDIR undefined.  using current directory
  writing 131072-byte blks of shorts to test.wav
  WAV
  SECTION 1:
  ENDED CppSound::compile.
  ftable 1:
  ftable 2:
  ftable 3:
  ftable 4:
  ftable 5:
  ftable 6:
  ftable 7:
  ftable 8:
  ftable 9:
  ftable 10:
  ftable 11:
  ftable 12:
  ftable 13:
  ftable 14:
  ftable 15:
  ftable 16:
  ftable 17:
  ftable 18:
  ftable 19:
  ftable 20:
  ftable 21:
  ftable 22:
  new alloc for instr 1:
  B  0.000 ..  1.000 T  1.000 TT  1.000 M:     32.7      0.0
  new alloc for instr 1:
  B  1.000 ..  3.600 T  3.600 TT  3.600 M:    207.6      0.1

  ...

  B 93.940 .. 94.418 T 98.799 TT281.799 M:    477.6     85.0
  B 94.418 ..100.000 T107.172 TT290.172 M:    118.9     11.5
  end of section 4         sect peak amps:  25950.8  26877.4
  inactive allocs returned to freespace
  end of score.              overall amps:  32204.8  31469.6
  overall samples out of range:        0        0
  0 errors in performance
  782 131072-byte soundblks of shorts written to test.wav WAV
  Elapsed time = 13.469000 seconds.
  ENDED CppSound::perform.
  1
  >>>

Le script koch.py montre comment utiliser Python pour faire une composition algorithmique pour Csound. Vous pouvez utiliser des chaînes de caractères litérales à triples guillemets pour incorporer vos fichiers Csound directement dans votre script, et les assigner à Csound :

  csound.setOrchestra('''sr = 44100
  kr = 441
  ksmps = 100
  nchnls = 2
  0dbfs = .1
  instr 1,2,3,4,5 ; FluidSynth General MID
  I; INITIALIZATION
  ; Channel, bank, and program determine the preset, that is, the actual sound.
  ichannel		=			p1
  iprogram		=			p6
  ikey	 		= 			p4
  ivelocity 		= 			p5 + 12
  ijunk6 			= 			p6
  ijunk7			=			p7
  ; AUDIO
  istatus			=			144;
  print			iprogram, istatus, ichannel, ikey, ivelocityaleft, aright
  fluid			"c:/projects/csound5/samples/VintageDreamsWaves-v2.sf2", \\
  iprogram, istatus, ichannel, ikey, ivelocity, 1
  outs 			aleft, arightendin''')
  csound.setCommand("csound --opcode-lib=c:/projects/csound5/fluid.dll \\
  -RWdfo ./koch.wav ./temp.orc ./temp.sco")
  csound.exportForPerformance()
  csound.perform()