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
> http://lists.laptop.org/listinfo/devel
> 

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 
years ago.

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 
Connection Kit.

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 mailing list