Discussion:
Should I Bother Learning Csound?
(too old to reply)
Peter Groves
2004-02-05 17:35:01 UTC
Permalink
Hi Everyone,

I'm a long time musician and am starting to get into electronic/computer
music (actual synthesis, up to now I've just been concerned with
recording physical instruments). I've been looking around at all the
complicated things I could learn and have been considering csound. It
seems like it would be the last thing I'd ever need to learn. I also
like that it's based on text files (I'm a programmer by day, and prefer
to do as much as possible in simple tools I already understand). I'm not
sure I would use all of it's features, though. Here's what I think I'd
like to use it for:

-Effects-
I was thinking it would be nice to use csound filters as LADSPA plugins.
Then I recently saw that someone had started a project doing just that.
Has anyone used this? All that was available was a tarball of the
source, with little documentation. Can you use csound 'effects'
directly, or do you have to write a complicated wrapper to have a
particular effect appear as a proper plugin?

-Instruments-
Can csound instruments be used as midi instruments or maybe soundfonts?
I really don't know how midi, midi instruments, soundfonts, etc work, or
what the differences are, so I don't know if this is even a reasonable
question.

So that's it, I guess. I'd rather do the actual arranging and composing
(of synthesized parts) in something like muse or rosegarden, and be able
to apply effects to 'real' instruments through jack-rack (or something
similar). I think that would be much more flexible than doing it in
csound, as it would be easier, for instance, to change the tempo of all
the tracks of a song at once.

Thanks for any opinions,
Peter
Paul Winkler
2004-02-05 18:09:13 UTC
Permalink
Post by Peter Groves
Hi Everyone,
I'm a long time musician and am starting to get into electronic/computer
music (actual synthesis, up to now I've just been concerned with
recording physical instruments). I've been looking around at all the
complicated things I could learn and have been considering csound. It
seems like it would be the last thing I'd ever need to learn.
Maybe. IMHO it's a bit of a crap language. SAOL/SASL is much
nicer in a lot of ways - e.g. there is branching other than "goto" :-O
and you can actually make reusable bits of code which is very painful
in csound.

The selling points of csound are 1) lots of great examples on the net,
and 2) lots of nice built-in "opcodes". SAOL is way behind on both
of those.
Post by Peter Groves
-Effects-
I was thinking it would be nice to use csound filters as LADSPA plugins.
Then I recently saw that someone had started a project doing just that.
Has anyone used this? All that was available was a tarball of the
source, with little documentation. Can you use csound 'effects'
directly, or do you have to write a complicated wrapper to have a
particular effect appear as a proper plugin?
dunno. last i heard (years ago) you couldn't do this with csound.
Post by Peter Groves
-Instruments-
Can csound instruments be used as midi instruments
yes.
--
Paul Winkler
http://www.slinkp.com
Look! Up in the sky! It's HEMI SCORPION!
(random hero from isometric.spaceninja.com)
Julien Claassen
2004-02-05 22:20:05 UTC
Permalink
Hi!
As mentioned: Csound has a lot of components (opcodes) and a lot of
examples. Besides that it is powerful. Even if SAOL might have some better
features. But another good possibility (I think as powerful as csound) is clm
(common lisp music). The language might be better (if you like lisp). the
advantage of ths is: you have a real programming language, with a lot of
typical features (mathematics and the like). I've never used it though... Only
talked to a guy, who did.
I used csound a couple of times and it is great, once you get to know it. It
is a crappy language (1967 was its point of origin). Still it's simple enough
to learn, if you get the hang of it.
Another alternative might be: PureData (PD), if you like GUIs. But I think
this baby is more useful for DJing.
As to effects: there are the plugins, which you can find at the
alsamodular-synth page at sourceforge.net. To create such plugins you must do
some transformation. Csound opcodes can't be used as plugins directly.
Kindest regards
Julien

--------
Music was my first love and it will be my last (John Miles)

======== FIND MY WEB-PROJECT AT: ========
http://ltsb.sourceforge.net - the Linux TextBased Studio guide
Frank Barknecht
2004-02-06 14:51:37 UTC
Permalink
Hallo,
Post by Julien Claassen
I used csound a couple of times and it is great, once you get to know it. It
is a crappy language (1967 was its point of origin). Still it's simple enough
to learn, if you get the hang of it.
Another very choice would be Supercollider. It is text based
and thus similar to Csound, but uses a much more object oriented and
modern approach. Csound is really very old-fashioned.

Csound is a bit like K&R-C, whereas Supercollider is more like
Smalltalk or even Python spiritually.
Post by Julien Claassen
Another alternative might be: PureData (PD), if you like GUIs. But I think
this baby is more useful for DJing.
I guess you're referring to my LAD conference talk here. ;) It is
possible to use Pd for other, more serious things as well. But it is
heavily GUI dependent, so really different from text based languages.

ciao
--
Frank Barknecht _ ______footils.org__
Dave Phillips
2004-02-06 15:43:51 UTC
Permalink
Greetings:

I'm putting finishing touches to a very long chapter on software sound
synthesis languages in which I've profiled current versions of Csound,
RTcmix, and SuperCollider3. IMHO I'd still recommend Csound to a novice,
particularly to a programming novice. I prefer the more modern language
elements in RTcmix and SC3, but the one is heavily C-like (fine with me)
and the other is a Smalltalk derivative. Csound also wins in its
abundance of helper applications, e.g., FJenie, nGen, Common Music,
blue, Cecilia, Csound Blocks, and others. However, RTcmix will see a new
release Real Soon Now, and there may be some more GUI stuff included.
SC3 for Linux lacks the neat graphic elements of the OSX version, but
it's still quite an interesting environment. I should also note that
Csound and RTcmix have no special requirements WRT editors, whereas with
SC3 you definitely want to learn how to use emacs. (Note that both emacs
and vi have Csound editing modes available to them.)

Considering the low cost of each of these systems, why not try them
all ? You might also want to consider Common Lisp Music, a Lisp-based
system. Btw, both CLM and SC3 are very much object-oriented languages,
while Csound and RTcmix are modeled after more procedural languages.

Finally I would urge the beginner to make a real study of some other
language, i.e., C/C++, Java, whatever, along with learning a sound &
music programming language. That assumes the time for such study, but
consider it time well spent, you'll learn a lot by the inevitable
comparisons.

Best regards,

dp
Peter Groves
2004-02-06 17:26:34 UTC
Permalink
On Fri, 6 Feb 2004 linux-audio-user-***@music.columbia.edu wrote:
| From: Dave Phillips <***@bright.net>
| Subject: Re: [linux-audio-user] Should I Bother Learning Csound?

| Considering the low cost of each of these systems, why not try them
| all ? You might also want to consider Common Lisp Music, a Lisp-based
| system. Btw, both CLM and SC3 are very much object-oriented languages,
| while Csound and RTcmix are modeled after more procedural languages.

Well, that would be ideal, but I'm trying to get the most power for the
smallest amount of time spent learning it. Given all the comments, I
think I will give Csound a shot. I use java at work, so I'm used to
using a crappy language just because it has good libraries. When writing
similar code over and over, I have resorted to writing my own
template/preprocessor before. If I really end up liking what csound can
do, but hate the language constructs, I might go down that road. I think
I might have seen something like that done already Python, but I can't
recall where right now.


| Finally I would urge the beginner to make a real study of some other
| language, i.e., C/C++, Java, whatever, along with learning a sound &
| music programming language. That assumes the time for such study, but
| consider it time well spent, you'll learn a lot by the inevitable
| comparisons.
|
agreed.
Paul Winkler
2004-02-06 19:39:12 UTC
Permalink
Post by Peter Groves
| Subject: Re: [linux-audio-user] Should I Bother Learning Csound?
| Considering the low cost of each of these systems, why not try them
| all ? You might also want to consider Common Lisp Music, a Lisp-based
| system. Btw, both CLM and SC3 are very much object-oriented languages,
| while Csound and RTcmix are modeled after more procedural languages.
Well, that would be ideal, but I'm trying to get the most power for the
smallest amount of time spent learning it. Given all the comments, I
think I will give Csound a shot. I use java at work, so I'm used to
using a crappy language just because it has good libraries
ok. but realize going in that csound is really severely crippled as a
high-level programming language. You can't make functions, subroutines, or
anything of that ilk. There are no for or while loops. The *only*
kind of conditional branching requires a "goto" target.
There are macros, but they are horrible. In other words,
you can't really do structured programming at all.
You end up doing tons of copy/paste and spaghetti.

Except for all that, csound is great ;-)
Post by Peter Groves
When writing
similar code over and over, I have resorted to writing my own
template/preprocessor before. If I really end up liking what csound can
do, but hate the language constructs, I might go down that road. I think
I might have seen something like that done already Python, but I can't
recall where right now.
pythonsound.sf.net.
Be aware that its author abandoned it in favor of CLM,
and I'm the only other developer and I haven't touched it in at
least a year.

Maurizio, the pythonsound/omde/pymask creator, told me (paraphrasing)
"I spent months of my spare time trying to invent a python library that
would enable me to compose. I learned enough Lisp to compose
in two days."
--
Paul Winkler
http://www.slinkp.com
Look! Up in the sky! It's SNAIL-DOG CREAM!
(random hero from isometric.spaceninja.com)
Atte André Jensen
2004-02-06 22:11:49 UTC
Permalink
Post by Paul Winkler
In other words,
you can't really do structured programming at all.
You end up doing tons of copy/paste and spaghetti.
Except for all that, csound is great ;-)
Very interresting thread! I'm a long term csounder and before giving in
to the tempation of downloading a bunch of new software I'd like to know
how these other text-based synthesizers compares to csound in terms of:

* sound-quality.

* midi-implementation. I use csound almost exclusively in realtime live
controlled from midi keyboards. Csound has dynamic voice allocation,
handles polyphony and 16 midi channels well.

* stability.

* efficiency. I need to generate everything in realtime on my PIV2.4G
laptop.

* ability to handle samples. With csound I mostly assemble multi-samples
in soundfonts.
--
peace, love & harmony
Atte

http://www.atte.dk
micro.ispretty
2004-02-07 04:43:15 UTC
Permalink
hi
let me take advantage of this thread

since sfront was much easiler to install .bin-ly
on my slow promt-mode-oriented-slackware-machine
am about to stick to saol instead of csound
when @ linux

mr lazzlo is kind enough to answer to my newbie
oriented quentions
but
when i try to find things -related to saol- floating
on the net
there are very few hits and
most of them are out of date

is there any good community
(ml wound be best if possible)
that i can join
which is active at this moment?
Post by Peter Groves
Post by Peter Groves
complicated things I could learn and have been
considering csound. It
Post by Peter Groves
seems like it would be the last thing I'd ever
need to learn.
Maybe. IMHO it's a bit of a crap language. SAOL/SASL
is much
nicer in a lot of ways - e.g. there is branching
other than "goto" :-O
and you can actually make reusable bits of code
which is very painful
in csound.
__________________________________
Do you Yahoo!?
Yahoo! Finance: Get your refund fast by filing online.
http://taxes.yahoo.com/filing.html
Paul Winkler
2004-02-07 20:11:11 UTC
Permalink
Post by micro.ispretty
hi
let me take advantage of this thread
since sfront was much easiler to install .bin-ly
on my slow promt-mode-oriented-slackware-machine
am about to stick to saol instead of csound
mr lazzlo is kind enough to answer to my newbie
oriented quentions
but
when i try to find things -related to saol- floating
on the net
there are very few hits and
most of them are out of date
is there any good community
(ml wound be best if possible)
that i can join
which is active at this moment?
Not that I've found. Would be interested to hear otherwise.
--
Paul Winkler
http://www.slinkp.com
Look! Up in the sky! It's BODACIOUS BLADE VENTRILOQUIST!
(random hero from isometric.spaceninja.com)
Kjetil Svalastog Matheussen
2004-02-10 12:00:57 UTC
Permalink
Post by Dave Phillips
I'm putting finishing touches to a very long chapter on software sound
synthesis languages in which I've profiled current versions of Csound,
RTcmix, and SuperCollider3. IMHO I'd still recommend Csound to a novice,
particularly to a programming novice. I prefer the more modern language
elements in RTcmix and SC3, but the one is heavily C-like (fine with me)
and the other is a Smalltalk derivative. Csound also wins in its
abundance of helper applications, e.g., FJenie, nGen, Common Music,
blue, Cecilia, Csound Blocks, and others. However, RTcmix will see a new
release Real Soon Now, and there may be some more GUI stuff included.
SC3 for Linux lacks the neat graphic elements of the OSX version, but
it's still quite an interesting environment. I should also note that
Csound and RTcmix have no special requirements WRT editors, whereas with
SC3 you definitely want to learn how to use emacs. (Note that both emacs
and vi have Csound editing modes available to them.)
I'm currently accessing the supercollider synth fromwithin pure data
using the python PD external. I'd say its a supergreat combination
where you get easy/clean programming with python, functional programming
with the guile pd-external, sound processing power with SC3, and
GUI with pd. Check out the supercollider module in the pure-data
CVS.
Post by Dave Phillips
Finally I would urge the beginner to make a real study of some other
language, i.e., C/C++, Java, whatever, along with learning a sound &
music programming language. That assumes the time for such study, but
consider it time well spent, you'll learn a lot by the inevitable
comparisons.
Hmm, I would rather reccomend common lisp/scheme or python than
c/c++ and java for music purposes. C are fine for making hardware drivers,
c++ can be fine if you need OO to C, and java is horrible in all possible
ways. My opinion. :)



--
Dave Phillips
2004-02-10 15:05:23 UTC
Permalink
Post by Kjetil Svalastog Matheussen
I'm currently accessing the supercollider synth fromwithin pure data
using the python PD external. I'd say its a supergreat combination
where you get easy/clean programming with python, functional programming
with the guile pd-external, sound processing power with SC3, and
GUI with pd. Check out the supercollider module in the pure-data
CVS.
I'll check it out.

Great, now I can start learning Python. Great. ;-)
Post by Kjetil Svalastog Matheussen
Post by Dave Phillips
Finally I would urge the beginner to make a real study of some other
language, i.e., C/C++, Java, whatever, along with learning a sound &
music programming language. That assumes the time for such study, but
consider it time well spent, you'll learn a lot by the inevitable
comparisons.
Hmm, I would rather reccomend common lisp/scheme or python than
c/c++ and java for music purposes. C are fine for making hardware drivers,
c++ can be fine if you need OO to C, and java is horrible in all possible
ways. My opinion. :)
Note that I'm not recommending them for music purposes (that's what the
sound & music languages are for anyway) and that I purposely omitted the
scripting languages.

And yes, I would agree re: Lisp. In fact, on an extreme day I might say
"Forget all the rest and just go learn Lisp"... ;)

Best,

dp
Immanuel Litzroth
2004-02-10 16:31:40 UTC
Permalink
Post by Dave Phillips
Post by Kjetil Svalastog Matheussen
Hmm, I would rather reccomend common lisp/scheme or python than
c/c++ and java for music purposes. C are fine for making hardware drivers,
c++ can be fine if you need OO to C, and java is horrible in all possible
ways. My opinion. :)
Note that I'm not recommending them for music purposes (that's what
the sound & music languages are for anyway) and that I purposely
omitted the scripting languages.
And yes, I would agree re: Lisp. In fact, on an extreme day I might
say "Forget all the rest and just go learn Lisp"... ;)
The problem with lisp and other modern languages are the issues with garbage
collection which might arise in real time use.
Immanuel
--
***************************************************************************
I can, I can't.
Tubbs Tattsyrup

--
Immanuel Litzroth
Software Development Engineer
Enfocus Software
Kleindokkaai 3-5
B-9000 Gent
Belgium
Voice: +32 9 269 23 90
Fax : +32 9 269 16 91
Email: ***@enfocus.be
web : www.enfocus.be
***************************************************************************
stefan kersten
2004-02-10 17:36:50 UTC
Permalink
Post by Immanuel Litzroth
The problem with lisp and other modern languages are the issues with garbage
collection which might arise in real time use.
that's why SuperCollider uses a realtime garbage collector
with bounded scan and flip operations. there's also a
realtime scheme implementation at http://www.rscheme.org.

<sk>

Continue reading on narkive:
Loading...