Here's a (far from complete) list of front-ends available for Csound.
Csound5GUI is a cross-platform, versatile GUI which is part of the standard Csound distribution. It implements most configuration features of Csound.
This is a simple java program to play csd files. It is included in the standard distribution.
Also part of the main Csound tree (though not available in all distributions), Winsound is cross-platform FLTK port of Barry Vercoe's original front-end for csound.
A convenient front-end for windows with syntax highlighting. You can get it at the WinXsound Front Page.
A convenient front-end for windows with syntax highlighting. You can get it at the Flavio Tordini's Home Page.
More than a front-end for the Mac at MacCsound Page.
Cabel is a graphical user interface for building csound instruments by patching modules similar to modular synthesizers. Cross-platform, written in Python. At http://cabel.sourceforge.net/.
Composition oriented front-end written in Java. It's interface is much like a digital multitrack, but differs in that there timelines within timelines (polyObjects). This allows for a compositional organization in time that seems to me to be very intuitive, informative, and flexible. Get it at: Blue Home Page.
You can use CsoundAC as a Python extension module. You can do this in a standard Python interpreter, such as Python command line or the Idle Python GUI.
To use CsoundAC in a standard Python interpreter, import CsoundAC.
import CsoundAC
The CsoundAC module automatically creates an instance of
CppSound named csound, which provides an object-oriented
interface to the Csound API. In a standard Python interpreter, you can
load a Csound .csd
file and perform it like this:
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 >>>
The koch.py
script shows how to use Python
to do algorithmic composition for Csound. You can use Python
triple-quoted string literals to hold your Csound files right in your
script, and assign them to 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()