Re: [linux-audio-dev] Linux audio questions...

New Message Reply About this list Date view Thread view Subject view Author view Other groups

Subject: Re: [linux-audio-dev] Linux audio questions...
From: Paul Winkler (slinkp_AT_ulster.net)
Date: pe loka   29 1999 - 13:18:15 EDT


jiva_AT_mindless.com wrote:
>
> > > - most music will probably be coded
> > >in csound.
> >
> > fairly restrictive :)

I get the impression you haven't actually used csound much (or at
all?). I'll take the liberty of commenting a little:

csound is actually very versatile at processing sound. It just takes
some time to learn how to get simple sounds out of it, then some
more time to stop making the same mistakes over and over, then some
more time learning something about synthesis to understand how to
translate ideas into csound, then some more time browsing the manual
trying to find the "opcodes" that will enable you to do the things
you want, then lots more time to get your instruments to actually
please you. In short, it takes lots ... and lots... of time.

Where I think csound is _very_ restrictive is in two places:

1) The score language is very flexible and very primitive. It's way
too cumbersome to actually compose music "by hand" with it. Many
people use MIDI and convert to csound one way or another. Other
options are using a spreadsheet, or using "helper" apps or languages
such as Silence, common music, sybil, cscore, etc. to generate
csound scores.

2) The orc language is really pretty dumb when looked at as a
programming language. There will be times when you want instruments
that behave one way some of the time, and another way under other
conditions. In csound you have to learn to understand a pretty
ancient kind of programming logic: the only tools are "if" and
"goto", which you generally use like this:

if <some_condition> goto some_label_name
   <here you put things to do if some_condition is NOT true>
   goto end_of_tests
some_label_name:
  <here you put things to do if some_condition IS true>
end_of_tests:
   <we end up here after either condition>

This looks weird to anyone who knows even a little of any
programming language invented since, oh, say, 1970, because in C,
perl, python, java, and I don't know how many other languages, the
"if" is followed immediately by what you want to do if the condition
IS true. So in csound you have to learn to think in this peculiar
"backwards" manner.

Now imagine trying to write a csound instrument with conditional
tests nested inside other conditional tests. I haven't been brave
enough to try that yet.

> Yes, that's true. Actually, I understand there are other languages such
> as cmix and common music, I just haven't found as extensive reference
> for creation of music using these languages.

I used cmix a bit a long time ago. It's probably quicker to learn
than csound if you just want to process soundfiles, but for
synthesizing whole pieces with it, you probably need some sort of
external tool such as Common Music or maybe some prog to translate
midi files to cmix? (does anything like that exist?)

common music as I understand it is basically a dialect of LISP
optimized for making music. I don't know if it can do realtime, but
it's almost certainly a more powerful language than csound, though
it comes with fewer built-in "opcodes" or whatever you want to call
them.

> Also, Arts, SLab, AUBE,
> gAlan and so on look extremely promising and being as they run under
> Linux I'm sure I'll work with them.

I've tried AUBE and while it's a fun idea, it was also extremely
buggy and crash-prone last time I tried it (6 months ago?). I don't
think there's been many updates to it since then.

I also tried SLab. I found the user interface to be overly
cumbersome -- too much crap I didn't care about on the screen all
the time. I just don't think you can effectively cram a
full-featured analog mixer into the space of a 15" monitor; the
computer screen calls for different ways of using space. And I never
did get full duplex working with SLab so I gave up. On a P133 I
found the interface was very slow to do redraws and stuff (it's
written in tcl/tk); it might be OK on a celeron-300A.

I have not tried Arts or gAlan yet.

> Originally I was thinking of working
> with csound exclusively this seems a bit restrictive as you've observed.
> Also, I'm wondering perhaps if Stomper, Orangator and other freeware
> soft synths I have experience with run under WINE.
>
> > > What I am particularly curious about is the use of csound in
> > >realtime when driven by a sequencer, I'm hoping to use KeyKit. Is this
> > >possible or has it been known to work?
> >
> > it can be done (i've done it), but i would not call it particularly
> > nice. csound isn't really all that fast, and its handling of real-time
> > MIDI is not its greatest asset. But it can be made to work, either
> > using a special kind of file called a FIFO to act as the MIDI output
> > for KeyKit and the input for csound, or using the default sound driver
> > set's "virtual MIDI port".
> >
> > if you want csound to do complex stuff, you'd better plan on doing
> > quite a bit of non-real-time synthesis.
> >
>
> What I'm planning on doing is completing long passages of fairly simple
> ambience - say two and a half minutes of arpeggios in 7/8 with a couple
> of very slow lfos and envelopes creating modulation sweeps - printing
> the audio files, adding fx later and then ultimately merging them in a
> program such as SLab. I don't want to send it so much information it
> patches out. That's the idea right now I suppose...

This is doable. One way to do more realtime work in csound is, when
things get too complex to render in realtime, render what you've got
so far into a soundfile, then read it in to a new orc / sco using a
simple "diskin" instrument, then add more instruments or voices or
whatever. You can always go back later and change the orc/sco that
created the rendered file if you want to modify it.

(stuff about soundcards snipped)
If you haven't yet, you should check my Audio-Quality-HOWTO at:
http://www.ulster.net/~abigoo/pw_linux/Audio-Quality-HOWTO.html

It's not always the most up to date information, but I try. :)
 
> > >I'm very curious also if anyone has completed any commercially released
> > >CDs using Linux as the sole platform for composing and recording.

Hmm, I'd better get moving. I kind of wanted to be the first guy to
be able to say he did this, but I haven't really got anywhere with
it yet. I'll race ya. :)

> Thanks again, I'm planning on keeping a diary of my experiences with
> Linux and Linux sound apps during the course of this project.

This is a good idea -- you should put it online so other linux sound
newbies can read it.. I meant to do something like this but I
haven't found the time.

---------------- paul winkler ------------------
slinkP arts: music, sound, illustration, design, etc.
email=========================slinkp AT ulster DOT net
ARMS online=======================http://reacharms.com
personal page===========http://www.ulster.net/~abigoo/


New Message Reply About this list Date view Thread view Subject view Author view Other groups

This archive was generated by hypermail 2b28 : pe maalis 10 2000 - 07:28:00 EST