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.

Cecilia

Utilise Csound et comprend aussi son propre langage de génération de partition. Pas mis à jour depuis 2004, mais devrait fonctionner sur Mac OSX et Linux. Disponible sur http://www.jeanpiche.com/software.htm.

MacCsound

Frontal pour le Macintosh, MacCsound fournit un éditeur de texte, l'édition graphique de signaux de contrôle et d'autres éléments. Disponible sur la Page de MacCsound. MacCsound nécessite la version Universal de Csound, pas la version Intel, et avec OS 10.6, il faut aussi Rosetta, qui se trouve sur le DVD d'installation d'OSX pour 10.6, mais n'est pas installé par défaut.

WinXound

Un frontal commmode pour Windows avec coloration syntaxique. On peut l'obtenir à WinXsound Front Page.

Cabel

Cabel est une interface utilisateur graphique pour construire des instruments Csound en interconnectant des modules comme on le fait dans les synthétiseurs modulaires et dans les environnements de programmation graphique tels que Pd. Multi plates-formes, écrit en Python. Bien qu'il semble (en 2011) que Cabel n'ait pas été mis à jour depuis quatre ans, il fonctionne toujours avec les versions actuelles de Csound. Disponible à http://cabel.sourceforge.net/.

Csound5GUI

Csound5GUI est une interface utilisateur graphique (GUI) multi plates-formes. Après avoir fait partie de la distribution standard de Csound, il est maintenant disponible sous forme de code source et peut-être aussi téléchargeable comme un .exe pour Windows. Il implémente la plupart des options de configuration de Csound.

CSDplayer

C'est un simple programme java pour jouer des fichiers csd. Il est inclus dans la distribution standard, et intéressera principalement les programmeurs Java.

Winsound

Comme Csound5GUI, 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.

Csound Editor

CsoundEditor n'est plus maintenu, mais il est toujours disponible à Flavio Tordini's Home Page. Pour systèmes Windows, comprend la coloration syntaxique.

En plus des principaux frontaux listés ci-dessus, voici quelques autres programmes pouvant éventuellement être qualifiés de frontaux, selon vos propres critères :

GeoMaestro: http://www.zogotounga.net/GM/eGM0.html
Csound-x: http://www.zogotounga.net/comp/csoundx.html
AthenaCL: http://www.flexatone.net/athena.html
GRACE/Common Music: http://commonmusic.sourceforge.net/
AlgoScore: http://kymatica.com/Software/AlgoScore
nGen: http://mustec.bgsu.edu/~mkuehn/ngen/
ImproSculpt: http://improsculpt.sourceforge.net/pmwiki/pmwiki.php

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()