Why can't i access /dev/dsp or /dev/snd on my XO
M. Edward (Ed) Borasky
znmeb at cesmail.net
Mon Jan 21 22:43:47 EST 2008
Albert Cahalan wrote:
> On Jan 21, 2008 12:27 PM, Walter Bender <walter at laptop.org> wrote:
>> (b) as has been pointed out repeatedly, CSound is an open standard
>> (which incidentally predates the MIDI standard).
> It may be open, but it isn't much of a standard.
> I've only found one implementation, csound itself.
> There are no hardware implementations.
> Pushing this kind of thing is **wrong**.
>> (c) Victor gave some very compelling reasons as to why CSound is a
>> better choice, especially for a program that is reaching out to
>> non-Western musical sensibilities.
> MIDI does non-Western stuff, including unusual
> tuning systems.
> Devel mailing list
> Devel at lists.laptop.org
Well ... I can't speak for the children of the developing world, nor do
I have much experience with Tam Tam as wrapped around CSound. But as
someone who has devoted a fair amount of his spare time over the past
few decades in pursuit of algorithmic composition and synthesis
(henceforth abbreviated algocompsynth) of music, I think I'm qualified
to lay down some opinions here.
1. MIDI is limited but more or less universally spoken. Serious
algocompsynth *must* involve support of MIDI. CSound recognized this
2. There have been numerous attempts to improve on CSound, but nothing
else has come forth that's as comprehensive. The orchestras read like
assembler code and the scores like a 1960s FORTRAN input card deck, but
just about every working algocompsynth practitioner has it and knows it.
So, serious algocompsynth *must* involve support of CSound.
3. There are a number of specialized Linux distros for audio. The three
that I know the most about are Studio64, Jack Audio Distribution (JAD)
and dyne:bolic. Almost all of them have a patched low-latency kernel,
and all of them use something called the Jack Audio Connection Kit. They
may still have to support both OSS and ALSA, but as I noted in another
post, ALSA had support years ago for sound cards that weren't supported
by free-as-in-freedom OSS drivers. So, serious algocompsynth on Linux
*must* have a low-latency patched kernel, ALSA, and the Jack Audio
4. Finally, there are three languages now in common use in
algocompsynth. In historical order, they are Lisp/Scheme, Java and
Python. Forth was prominent at one time as well, but the major Forth
algocompsynth codes have mostly been ported to one of the other
languages. So, serious algocompsynth *must* provide Python, Lisp/Scheme
and Java support.
So the question in my mind is, "Should the XO be a platform for serious
algocompsynth, or should it be what the project says it is -- an
educational project for children to explore and discover?" Do children
need MIDI, CSound, low-latency kernels, Jack, Lisp and Java? I don't
really think so. The fact that Tam Tam has CSound and Python "under the
hood" is only a convenience for the implementers. There are many fewer
wheels that need to be re-invented as a result.
By the way, one other note here. A number of the more advanced synthesis
algorithms edge upon some rather well-defended patents by Yamaha and
others. It's a similar issue to those around media codecs -- even though
technically such things are "software" or "formulas" that can't be
patented, once they get embodied in pieces of gear that you can buy in a
music store, things change.
By the way -- as far as microtonal and xentonal and "world music scales"
are concerned, MIDI's pitch bends are an awkward hack. Serious
*microtonal* algocompsynth practitioners either have to spend time
working around MIDI or use something else.
More information about the Devel