| It is possible to drive Csound from Python, Java, C, C++, Lua, or Lisp, either in real time or not in real time.
Reasons for choosing one language over another might include your personal preference for a particular language, the general power of the language, the availability of compositional and musical software in that language, and so on. All of the languages mentioned are high-level, general-purpose programming languages that are widely used and have extensive third-party libraries. I would say Python (CsoundAC, athenaCL), Lisp (Common Music, OpenMusic), and Java (blue) have the most music composition facilities. Note that CsoundAC is part of Csound and is available in the Windows installers. Note also that Common Music does not use the Csound API directly from Python, as far as I know, but simply "shells out" to run Csound. I am not sure about blue. CsoundAC definitely uses Csound from the Python Csound API, and this makes for a tight integration between composing and performing.
There is an easy tutorial for using Python with Csound in the Python Scripting section of "A Csound Tutorial" which is downloadable from SourceForge. There also are a number of examples of composing with Python and Csound in the examples directory of a Csound installation.
The authors of the systems I mentioned (myself for CsoundAC, Christopher Ariza for athenaCL, Rick Taube for Common Music, and Steven Yi for blue) are, not surprisingly, using those systems for composing.
To sum up my own experience, I over the years I have used many languages for composing (in temporal order: FORTRAN, BASIC, C, C++, Pascal, Java, Python, Lua). I now mostly use Python because I find I can write better code faster in Python.
At a sheer guess, I would say that probably blue (Java) and Common Music (Lisp) have the most users. I would also guess that there are considerably more people doing algorithmic composition in SuperCollider or Max/MSP.
Hope this helps,
Mike
-----Original Message-----
>From: Panos Katergiathis
>Sent: Dec 11, 2007 3:21 AM
>To: csound@lists.bath.ac.uk
>Subject: [Csnd] Driving Csound from an external programming language
>
>Hello all
>
>For a while, i've been studying java and python, trying to become fluent
>in these languages, having a sole purpose in mind : the construction of
>a system able to produce generative music via midi or csound (and
>learning some oo programming along the way).
>
>So, i feel i am ready to start experimenting and the questions are:
>
>a) i assume it is possible to "drive" csound from java and/or python, in
>real time, yes?
>
>b) if so, are there reasons (apart from personal ones) to choose among
>these languages for such a task?
>
>c) can someone point me to tutorials for this, that is, driving csound
>from python or java? (hint: easy ones are preffered at this point)
>
>d) is anyone else currently involved in such activities, at a level
>similar to mine?
>
>Thank you all in advance
>
>Panos
>
>
>Send bugs reports to this list.
>To unsubscribe, send email sympa@lists.bath.ac.uk with body "unsubscribe csound"
|