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