| Again I mount my soapbox to rant about desired changes in Csound. Before you
say I just talk about them but don't do them, take note that I have done
some of them in AXCsound/JCsound, which are open source.
This particular rant is occasioned by my audition of Buzz and Generator.
Buzz, for those of you who don't follow software synthesis on the Web, is a
"tracker" synthesizer, and is free. Generator is a commercial modular
software synthesizer, and costs money. Both programs run on Windows. Other
programs of note that I don't talk about here are SuperCollider and
GrainWave.
Buzz is a software synthesizer for tracker files. The tracker files are
similar to MIDI files except that they can contain embedded sound samples.
It appears to be an idiosyncratic binary file format. I don't know where it
comes from (but I will find out). Buzz can be found at http://www.buzz2.com.
Buzz has a simple but effective graphical user interface for (a) editing
sequences, (b) editing loops for sequences, (c) cataloging samples, and last
but not least, (d) wiring unit generators together. The unit generators
(called "machines" generically or "generators" and "effects" for signal
sources and signal processors) are Windows DLLs, plugins in other words, and
can be written by anybody with the latest Microsoft compilers; they have a
fairly simple design. Buzz automatically generates their simple-minded
little GUIs for them.
Buzz has an active community including developers of plugins as well as
composers of songs, with a number of Web sites, you can get CDs containing
tracker files and machines, and the thing actually sounds pretty good (it
uses DirectX sound drivers and can accept soundfile input and write
soundfile output as well as play in real time). There is no realtime MIDI
note on performance (although there are realtime MIDI control messages) and
no external API for programmatic control. Buzz's DSP capabilities have now
gotten as far as the Karplus-Strong plucked string and some pretty extensive
filtering, chorusing, delaying, and reverberating.
Generator is a software emulation of analog patch-cord synthesizers. It is a
very high quality product. It does low-latency real-time performance with
MIDI note on control, can read and write input and output soundfiles, and
has extensive facilities for user wiring of unit generators with a fancy,
fancy GUI that emulates a Moog-style modular synthesizer. Generator's DSP
facilities are very roughly comparable to Buzz's. Generator is VERY good at
making interactive patches (not as powerful as Max/MSP, but much easier to
"get" and use). Generator is planned to be able to act as a VST or ActiveX
plugin.
Currently, Csound offers substantially more musical capabilities than either
of these products, which probably are fairly representative of the current
state of the art, but it is looking increasingly creaky in the software
engineering department. Csound is particarly strong in score format,
time/frequency analysis and resynthesis, and physical modeling.
Csound would quickly fall to the rear of the class if (a) Buzz got note on
control and a simpler input file format, or (b) Generator got plugin unit
generators and a more flexible input file format. At that point, people like
me would scarf up Csound's unit generators and add them to a synthesizer
framework that is more functional and easier to use, resulting in a best of
breed musical instrument.
Csound could be put firmly back at the leading edge of the state of the art
if:
Csound gets plugin unit generators and function tables with a SIMPLE, I mean
REALLY simple, API.
Csound gets double-precision signal processing (Buzz and Generator use
floats).
Csound gets low-latency MIDI and audio input and output that works more or
less the same on its major platforms.
Csound gets an at least semi-snazzy GUI including unit generator wiring.
Csound gets an external API for programmatic control.
Csound can act as a VST plugin.
These features could be provided at moderate effort by:
Making Csound into the DSP kernel of a Java software synthesizer.
Evaluating JavaSound for all audio and MIDI input and output. Currently
JavaSound lacks MIDI input but some independent developers are working on
it.
Adapting Russell Pinkston's PatchWork program (16 bit Windows program) to
Java as a unit generator wiring form.
The VST part is easy.
What is needed here is a reasonable compromise between the power and
amenability for experimentation of a bare-bones piece of academic UNIX
software, and a user-friendly GUI and user-extensible plugin architecture,
with realtime performance AND non-realtime soundfile rendering. This is the
wonderful musical instrument that is evolving before our very eyes (and
ears), and Csound already contains all the necessary guts for the thing.
Received: from wallace.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa05205;
16 Jun 99 13:42 BST
Received: from [156.3.140.104] (helo=shoko.calarts.edu)
by wallace.maths.bath.ac.uk with esmtp (Exim 2.12 #1)
id 10uF1c-0001bD-00
for jpff@maths.bath.ac.uk; Wed, 16 Jun 1999 13:42:41 +0100
Received: (from majordom@localhost)
by shoko.calarts.edu (8.9.3/8.9.3) id FAA01922
for music-dsp-outgoing; Wed, 16 Jun 1999 05:26:56 -0700 (PDT)
X-Authentication-Warning: shoko.calarts.edu: majordom set sender to owner-music-dsp@shoko.calarts.edu using -f
Received: from smtp0.mindspring.com (smtp0.mindspring.com [207.69.200.30])
by shoko.calarts.edu (8.9.3/8.9.3) with ESMTP id FAA01917
for ; Wed, 16 Jun 1999 05:26:54 -0700 (PDT)
Received: from Realizer (user-2ive0lp.dialup.mindspring.com [165.247.2.185])
by smtp0.mindspring.com (8.8.5/8.8.5) with SMTP id IAA20595;
Wed, 16 Jun 1999 08:26:43 -0400 (EDT)
Message-ID: <004701beb7f3$941829a0$79d496c0@Realizer.ngt.sungard.com>
From: Michael Gogins
To: music-dsp , CSOUND
Subject: Csound and other synthesis systems
Date: Wed, 16 Jun 1999 08:26:42 -0400
MIME-Version: 1.0
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.3110.1
X-MimeOLE: Produced By Microsoft MimeOLE V4.72.3110.3
Sender: owner-music-dsp@shoko.calarts.edu
Precedence: bulk
Reply-To: music-dsp@shoko.calarts.edu
Again I mount my soapbox to rant about desired changes in Csound. Before you
say I just talk about them but don't do them, take note that I have done
some of them in AXCsound/JCsound, which are open source.
This particular rant is occasioned by my audition of Buzz and Generator.
Buzz, for those of you who don't follow software synthesis on the Web, is a
"tracker" synthesizer, and is free. Generator is a commercial modular
software synthesizer, and costs money. Both programs run on Windows. Other
programs of note that I don't talk about here are SuperCollider and
GrainWave.
Buzz is a software synthesizer for tracker files. The tracker files are
similar to MIDI files except that they can contain embedded sound samples.
It appears to be an idiosyncratic binary file format. I don't know where it
comes from (but I will find out). Buzz can be found at http://www.buzz2.com.
Buzz has a simple but effective graphical user interface for (a) editing
sequences, (b) editing loops for sequences, (c) cataloging samples, and last
but not least, (d) wiring unit generators together. The unit generators
(called "machines" generically or "generators" and "effects" for signal
sources and signal processors) are Windows DLLs, plugins in other words, and
can be written by anybody with the latest Microsoft compilers; they have a
fairly simple design. Buzz automatically generates their simple-minded
little GUIs for them.
Buzz has an active community including developers of plugins as well as
composers of songs, with a number of Web sites, you can get CDs containing
tracker files and machines, and the thing actually sounds pretty good (it
uses DirectX sound drivers and can accept soundfile input and write
soundfile output as well as play in real time). There is no realtime MIDI
note on performance (although there are realtime MIDI control messages) and
no external API for programmatic control. Buzz's DSP capabilities have now
gotten as far as the Karplus-Strong plucked string and some pretty extensive
filtering, chorusing, delaying, and reverberating.
Generator is a software emulation of analog patch-cord synthesizers. It is a
very high quality product. It does low-latency real-time performance with
MIDI note on control, can read and write input and output soundfiles, and
has extensive facilities for user wiring of unit generators with a fancy,
fancy GUI that emulates a Moog-style modular synthesizer. Generator's DSP
facilities are very roughly comparable to Buzz's. Generator is VERY good at
making interactive patches (not as powerful as Max/MSP, but much easier to
"get" and use). Generator is planned to be able to act as a VST or ActiveX
plugin.
Currently, Csound offers substantially more musical capabilities than either
of these products, which probably are fairly representative of the current
state of the art, but it is looking increasingly creaky in the software
engineering department. Csound is particarly strong in score format,
time/frequency analysis and resynthesis, and physical modeling.
Csound would quickly fall to the rear of the class if (a) Buzz got note on
control and a simpler input file format, or (b) Generator got plugin unit
generators and a more flexible input file format. At that point, people like
me would scarf up Csound's unit generators and add them to a synthesizer
framework that is more functional and easier to use, resulting in a best of
breed musical instrument.
Csound could be put firmly back at the leading edge of the state of the art
if:
Csound gets plugin unit generators and function tables with a SIMPLE, I mean
REALLY simple, API.
Csound gets double-precision signal processing (Buzz and Generator use
floats).
Csound gets low-latency MIDI and audio input and output that works more or
less the same on its major platforms.
Csound gets an at least semi-snazzy GUI including unit generator wiring.
Csound gets an external API for programmatic control.
Csound can act as a VST plugin.
These features could be provided at moderate effort by:
Making Csound into the DSP kernel of a Java software synthesizer.
Evaluating JavaSound for all audio and MIDI input and output. Currently
JavaSound lacks MIDI input but some independent developers are working on
it.
Adapting Russell Pinkston's PatchWork program (16 bit Windows program) to
Java as a unit generator wiring form.
The VST part is easy.
What is needed here is a reasonable compromise between the power and
amenability for experimentation of a bare-bones piece of academic UNIX
software, and a user-friendly GUI and user-extensible plugin architecture,
with realtime performance AND non-realtime soundfile rendering. This is the
wonderful musical instrument that is evolving before our very eyes (and
ears), and Csound already contains all the necessary guts for the thing.
dupswapdrop: the music-dsp mailing list and website
http://shoko.calarts.edu/~glmrboy/musicdsp/music-dsp.html
Received: from shaun.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa05328;
16 Jun 99 14:42 BST
Received: from [144.173.6.14] (helo=exeter.ac.uk)
by shaun.maths.bath.ac.uk with esmtp (Exim 2.12 #1)
id 10uFxH-0007Oi-00
for jpff@maths.bath.ac.uk; Wed, 16 Jun 1999 14:42:15 +0100
Received: from noether [144.173.8.10] by hermes via SMTP (OAA14388); Wed, 16 Jun 1999 14:32:55 +0100 (BST)
Received: from exeter.ac.uk by maths.ex.ac.uk; Wed, 16 Jun 1999 14:32:31 +0100
Received: from root@smtp-out-004.wanadoo.fr [193.252.19.87] by hermes via ESMTP (OAA06059); Wed, 16 Jun 1999 14:32:29 +0100 (BST)
Received: from bmpl1-2-97.abo.wanadoo.fr [193.250.226.97] by wanadoo.fr
for
Paris Wed, 16 Jun 1999 15:32:30 +0200 (MET DST)
Message-ID: <3767C406.2254ACDB@exbang.com>
Date: Wed, 16 Jun 1999 15:34:35 +0000
From: Michel Jullian
Reply-To: mj@exbang.com
X-Mailer: Mozilla 4.04 (Macintosh; I; PPC)
MIME-Version: 1.0
To: Michael Gogins
CC: music-dsp , CSOUND
Subject: Re: Csound and other synthesis systems
References: <004701beb7f3$941829a0$79d496c0@Realizer.ngt.sungard.com>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk
Michael Gogins wrote:
> Csound could be put firmly back at the leading edge of the state of the art
> if:
>
> Csound gets plugin unit generators and function tables with a SIMPLE, I mean
> REALLY simple, API.
> Csound gets double-precision signal processing (Buzz and Generator use
> floats).
> Csound gets low-latency MIDI and audio input and output that works more or
> less the same on its major platforms.
> Csound gets an at least semi-snazzy GUI including unit generator wiring.
> Csound gets an external API for programmatic control.
> Csound can act as a VST plugin.
This last point is _very_ good idea (the other points too). The VST 2 sdk,
featuring full midi control of plugin synths (AFAIK it's the only plugin
architecture with this feature) and a multiplatform GUI API, is due out any
day now (watch out for it on steinberg's vst devs list
). Furthermore it is open not only to plugin
developers but also to host developers, which should help it become a standard.
What would be really nice would be if csound could "compile" orcs as vst
plugins, somehow, instead of (or as well as) acting as a vst plugin.
--
Greetings,
Michel
.........................................................................
Michel Jullian Directeur General email mj@exbang.com
Exbang Industries S.A.
Mas Chauvain route de Villeneuve tel +33(0) 499 529 878
Maurin 34970 Lattes France fax +33(0) 499 529 879
.........................................................................
Received: from shaun.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa05352;
16 Jun 99 14:53 BST
Received: from [156.3.140.104] (helo=shoko.calarts.edu)
by shaun.maths.bath.ac.uk with esmtp (Exim 2.12 #1)
id 10uG7c-0007Oz-00
for jpff@maths.bath.ac.uk; Wed, 16 Jun 1999 14:52:56 +0100
Received: (from majordom@localhost)
by shoko.calarts.edu (8.9.3/8.9.3) id GAA02972
for music-dsp-outgoing; Wed, 16 Jun 1999 06:32:39 -0700 (PDT)
X-Authentication-Warning: shoko.calarts.edu: majordom set sender to owner-music-dsp@shoko.calarts.edu using -f
Received: from wanadoo.fr (root@smtp-out-004.wanadoo.fr [193.252.19.87])
by shoko.calarts.edu (8.9.3/8.9.3) with ESMTP id GAA02968
for ; Wed, 16 Jun 1999 06:32:37 -0700 (PDT)
Received: from bmpl1-2-97.abo.wanadoo.fr [193.250.226.97] by wanadoo.fr
for
Paris Wed, 16 Jun 1999 15:32:30 +0200 (MET DST)
Message-ID: <3767C406.2254ACDB@exbang.com>
Date: Wed, 16 Jun 1999 15:34:35 +0000
From: Michel Jullian
X-Mailer: Mozilla 4.04 (Macintosh; I; PPC)
MIME-Version: 1.0
To: Michael Gogins
CC: music-dsp , CSOUND
Subject: Re: Csound and other synthesis systems
References: <004701beb7f3$941829a0$79d496c0@Realizer.ngt.sungard.com>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-music-dsp@shoko.calarts.edu
Precedence: bulk
Reply-To: music-dsp@shoko.calarts.edu
Michael Gogins wrote:
> Csound could be put firmly back at the leading edge of the state of the art
> if:
>
> Csound gets plugin unit generators and function tables with a SIMPLE, I mean
> REALLY simple, API.
> Csound gets double-precision signal processing (Buzz and Generator use
> floats).
> Csound gets low-latency MIDI and audio input and output that works more or
> less the same on its major platforms.
> Csound gets an at least semi-snazzy GUI including unit generator wiring.
> Csound gets an external API for programmatic control.
> Csound can act as a VST plugin.
This last point is _very_ good idea (the other points too). The VST 2 sdk,
featuring full midi control of plugin synths (AFAIK it's the only plugin
architecture with this feature) and a multiplatform GUI API, is due out any
day now (watch out for it on steinberg's vst devs list
). Furthermore it is open not only to plugin
developers but also to host developers, which should help it become a standard.
What would be really nice would be if csound could "compile" orcs as vst
plugins, somehow, instead of (or as well as) acting as a vst plugin.
--
Greetings,
Michel
.........................................................................
Michel Jullian Directeur General email mj@exbang.com
Exbang Industries S.A.
Mas Chauvain route de Villeneuve tel +33(0) 499 529 878
Maurin 34970 Lattes France fax +33(0) 499 529 879
.........................................................................
dupswapdrop: the music-dsp mailing list and website
http://shoko.calarts.edu/~glmrboy/musicdsp/music-dsp.html
Received: from shaun.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa05407;
16 Jun 99 15:19 BST
Received: from [144.173.6.14] (helo=exeter.ac.uk)
by shaun.maths.bath.ac.uk with esmtp (Exim 2.12 #1)
id 10uGXM-0007Px-00
for jpff@maths.bath.ac.uk; Wed, 16 Jun 1999 15:19:32 +0100
Received: from noether [144.173.8.10] by hermes via SMTP (PAA15789); Wed, 16 Jun 1999 15:11:18 +0100 (BST)
Received: from exeter.ac.uk by maths.ex.ac.uk; Wed, 16 Jun 1999 15:11:04 +0100
Received: from root@smtp-out-005.wanadoo.fr [193.252.19.88] by hermes via ESMTP (PAA12608); Wed, 16 Jun 1999 15:11:02 +0100 (BST)
Received: from bmpl1-1-203.abo.wanadoo.fr [193.250.98.203] by wanadoo.fr
for
Paris Wed, 16 Jun 1999 16:10:59 +0200 (MET DST)
Message-ID: <3767CC76.141BF852@exbang.com>
Date: Wed, 16 Jun 1999 16:10:36 +0000
From: Michel Jullian
Reply-To: mj@exbang.com
X-Mailer: Mozilla 4.04 (Macintosh; I; PPC)
MIME-Version: 1.0
To: Jim Stevenson ,
music-dsp list ,
csound list
Subject: Re: Csound and other synthesis systems
References: <199906161344.GAA28889@eos.arc.nasa.gov>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk
Jim Stevenson wrote:
>
> Many of these suggestions would restrict csound to gui at best, and to
> windows gui at worst.
>
> Please *do not* lock out those of us who prefer or need commands to program!
Of course not. Allowing UG wiring via a GUI doesnt mean proscribing text
editing of orcs : GUI and text could just be 2 ways to edit an orc file, IMO.
As for the platform-specificity of the GUI, the author of these suggestions
Michael Gogins suggested coding it in Java. Why not, a GUI doesnt have to be
very fast.
--
Greetings,
Michel
.........................................................................
Michel Jullian Directeur General email mj@exbang.com
Exbang Industries S.A.
Mas Chauvain route de Villeneuve tel +33(0) 499 529 878
Maurin 34970 Lattes France fax +33(0) 499 529 879
.........................................................................
Received: from shaun.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa05427;
16 Jun 99 15:24 BST
Received: from [144.173.6.14] (helo=exeter.ac.uk)
by shaun.maths.bath.ac.uk with esmtp (Exim 2.12 #1)
id 10uGbt-0007QK-00
for jpff@maths.bath.ac.uk; Wed, 16 Jun 1999 15:24:13 +0100
Received: from noether [144.173.8.10] by hermes via SMTP (PAA11779); Wed, 16 Jun 1999 15:20:13 +0100 (BST)
Received: from exeter.ac.uk by maths.ex.ac.uk; Wed, 16 Jun 1999 15:19:49 +0100
Received: from root@renoir.op.net [209.152.193.4] by hermes via ESMTP (PAA10378); Wed, 16 Jun 1999 15:19:46 +0100 (BST)
Received: from someip.ppp.op.net (d-bm2-0d.ppp.op.net [209.152.194.45]) by renoir.op.net (o1/$Revision: 1.18 $) with ESMTP id KAA05406 for ; Wed, 16 Jun 1999 10:19:48 -0400 (EDT)
Message-Id: <199906161419.KAA05406@renoir.op.net>
To: csound@maths.ex.ac.uk
Subject: Re: [quasimodo] version 0.1.6 released
In-reply-to: Your message of "Tue, 15 Jun 1999 23:08:32 +0200."
<3766C0D0.C0F98A98@intercom.es>
Date: Wed, 16 Jun 1999 10:28:06 -0400
From: Paul Barton-Davis
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk
Josep M Comajuncosas wrote:
[ Re Quasimodo ]
>Hey that seems an interesting idea, but I'd rather suggest to
>concentrate on improving the efficiency of existing software rather
>than porting it to another (not multiplatform?) implementation. I'm
>too used to Csound to learn another language to do approximately the
>same thing.
I don't think you understand. Quasimodo "is" Csound. It uses the same
language. It uses the same opcode source code (with some minor
tweaks). It uses the same score file language. It so happens that it
can also support other languages too, but thats not relevant to your
point.
There isn't a reasonable way to "improve" Csound to run as a
multithreaded application without tearing it to pieces (call Analog
Devices if you want to talk to them about what thats like). If its not
multithreaded, it can't ever have a decent UI and run in real time.
It also can't use multi-processor systems effectively, and such
systems are now very competitively priced (e.g. my dual PII-450 with
the 9GB of the fastest SCSI disks around, CD-RW, 21" monitor, Jaz
drive and SCSI tape drive cost less than my wife's 300MHz G3
powerbook).
As for multiplatform, Quasimodo already runs on more platforms than
any Windows or Mac program. It just doesn't run on Windows or Mac
platforms. Thats because (1) those operating systems are proprietary
and I don't write software for proprietary operating systems and (2)
those operating systems don't offer all the services needed by a
sophisticated real time multithreaded application.
If the Csound source code offered a more incremental way to move to
the kind of architecture that a program like Quasimodo needs, I would
not have reimplemented the language(s), but it doesn't. You can make
tweaks here and there, but its fundamentally limited by the
assumptions that Vercoe made when he started, and by the coding
approach used since then.
--p
Received: from shaun.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa05435;
16 Jun 99 15:27 BST
Received: from [156.3.140.104] (helo=shoko.calarts.edu)
by shaun.maths.bath.ac.uk with esmtp (Exim 2.12 #1)
id 10uGeg-0007Qd-00
for jpff@maths.bath.ac.uk; Wed, 16 Jun 1999 15:27:07 +0100
Received: (from majordom@localhost)
by shoko.calarts.edu (8.9.3/8.9.3) id HAA03949
for music-dsp-outgoing; Wed, 16 Jun 1999 07:11:15 -0700 (PDT)
X-Authentication-Warning: shoko.calarts.edu: majordom set sender to owner-music-dsp@shoko.calarts.edu using -f
Received: from wanadoo.fr (root@smtp-out-005.wanadoo.fr [193.252.19.88])
by shoko.calarts.edu (8.9.3/8.9.3) with ESMTP id HAA03929
for ; Wed, 16 Jun 1999 07:11:09 -0700 (PDT)
Received: from bmpl1-1-203.abo.wanadoo.fr [193.250.98.203] by wanadoo.fr
for
Paris Wed, 16 Jun 1999 16:10:59 +0200 (MET DST)
Message-ID: <3767CC76.141BF852@exbang.com>
Date: Wed, 16 Jun 1999 16:10:36 +0000
From: Michel Jullian
X-Mailer: Mozilla 4.04 (Macintosh; I; PPC)
MIME-Version: 1.0
To: Jim Stevenson ,
music-dsp list ,
csound list
Subject: Re: Csound and other synthesis systems
References: <199906161344.GAA28889@eos.arc.nasa.gov>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-music-dsp@shoko.calarts.edu
Precedence: bulk
Reply-To: music-dsp@shoko.calarts.edu
Jim Stevenson wrote:
>
> Many of these suggestions would restrict csound to gui at best, and to
> windows gui at worst.
>
> Please *do not* lock out those of us who prefer or need commands to program!
Of course not. Allowing UG wiring via a GUI doesnt mean proscribing text
editing of orcs : GUI and text could just be 2 ways to edit an orc file, IMO.
As for the platform-specificity of the GUI, the author of these suggestions
Michael Gogins suggested coding it in Java. Why not, a GUI doesnt have to be
very fast.
--
Greetings,
Michel
.........................................................................
Michel Jullian Directeur General email mj@exbang.com
Exbang Industries S.A.
Mas Chauvain route de Villeneuve tel +33(0) 499 529 878
Maurin 34970 Lattes France fax +33(0) 499 529 879
.........................................................................
dupswapdrop: the music-dsp mailing list and website
http://shoko.calarts.edu/~glmrboy/musicdsp/music-dsp.html
Received: from shaun.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa05454;
16 Jun 99 15:32 BST
Received: from [144.173.6.14] (helo=exeter.ac.uk)
by shaun.maths.bath.ac.uk with esmtp (Exim 2.12 #1)
id 10uGk3-0007RA-00
for jpff@maths.bath.ac.uk; Wed, 16 Jun 1999 15:32:39 +0100
Received: from noether [144.173.8.10] by hermes via SMTP (PAA04050); Wed, 16 Jun 1999 15:27:51 +0100 (BST)
Received: from exeter.ac.uk by maths.ex.ac.uk; Wed, 16 Jun 1999 15:27:19 +0100
Received: from jaguars-int.cableinet.net [193.38.113.9] by hermes via SMTP (PAA07182); Wed, 16 Jun 1999 15:27:17 +0100 (BST)
Received: (qmail 22118 invoked from network); 16 Jun 1999 14:23:16 -0000
Received: from unknown (HELO cableinet.co.uk) (194.117.146.59)
by jaguars with SMTP; 16 Jun 1999 14:23:16 -0000
Message-ID: <3767C392.AD59CDAC@cableinet.co.uk>
Date: Wed, 16 Jun 1999 15:32:34 +0000
From: rdbr03035
Organization: Composers Desktop Project
X-Mailer: Mozilla 4.5 [en] (X11; I; Linux 2.0.36 i686)
X-Accept-Language: en
MIME-Version: 1.0
CC: music-dsp , CSOUND
Subject: Re: Csound and other synthesis systems
References: <004701beb7f3$941829a0$79d496c0@Realizer.ngt.sungard.com> <3767C406.2254ACDB@exbang.com>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk
I agree that, taken direfctly in the conext of newer softsynths, Csound
can look 'creaky', and it is indeed a tempting thought to revamp the
whole thing to exploit the best of modern GUI/Plugin techniques. I have
long thought about doing this myself 'as an exercise'. However, one
vital aspect of Csound it it's extremely wide cross-platform character;
and indeed it's core functionality as a console program has advantages
for visually-impaired users.
I don't think this could be done piece-meal. Basically, one would have
to take the score and orc syntax and create a new engine from scratch,
with multiple thread, dynamic libraries, and all the superstructure of a
modern GUI-based application.
Set against this is SAOL, which is ~fully~ public domain, and which is
open for adaptation in any number of ways, has a more up-to-date
language, and even has a means of compiling into a stand-alone
application, thanks to 'cfront'. The legacy of SAOL scores is also
arguably less significant, so compatibility at the command-line level is
scarcely an issue. After all, SAOL is expected to be embedded in set-top
boxes ere long!
In the end, it depends how stronly the moral imperative that Csound
~should~ be at the 'leading edge' as a functioning softsynth, in the
terms described. As it stands, it is a treasure-trove of dsp ideas, of
unique educational value, a feature that I value highly. The issue then
is one of modernity v fragmentation (unless it can be done exclusively
using Java and/or TCL/TK), an issue which simply does not arise for
SAOL. Csound ~is~ it's source code, but that is not strictly true of
SAOL - 'saolc' is merely an example implementation.
If we treat the score and orc syntax similarly, as a specification (as
we can reasonably do), there is no reason why some new program cannot be
written which implements it in a more modern form. The sticking point is
then the title (in the legal sense), as my understanding is that
ultimately this still belongs to MIT and Barry Vercoe.
Richard Dobson
Michel Jullian wrote:
>
> Michael Gogins wrote:
>
> > Csound could be put firmly back at the leading edge of the state of the art
> > if:
> >
> > Csound gets plugin unit generators and function tables with a SIMPLE, I mean
> > REALLY simple, API.
> > Csound gets double-precision signal processing (Buzz and Generator use
> > floats).
> > Csound gets low-latency MIDI and audio input and output that works more or
> > less the same on its major platforms.
> > Csound gets an at least semi-snazzy GUI including unit generator wiring.
> > Csound gets an external API for programmatic control.
> > Csound can act as a VST plugin.
>
> This last point is _very_ good idea (the other points too). The VST 2 sdk,
> featuring full midi control of plugin synths (AFAIK it's the only plugin
> architecture with this feature) and a multiplatform GUI API, is due out any
> day now (watch out for it on steinberg's vst devs list
> ). Furthermore it is open not only to plugin
> developers but also to host developers, which should help it become a standard.
>
> What would be really nice would be if csound could "compile" orcs as vst
> plugins, somehow, instead of (or as well as) acting as a vst plugin.
>
> --
> Greetings,
> Michel
> .........................................................................
> Michel Jullian Directeur General email mj@exbang.com
> Exbang Industries S.A.
> Mas Chauvain route de Villeneuve tel +33(0) 499 529 878
> Maurin 34970 Lattes France fax +33(0) 499 529 879
> .........................................................................
Received: from wallace.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa05470;
16 Jun 99 15:37 BST
Received: from [144.173.6.14] (helo=exeter.ac.uk)
by wallace.maths.bath.ac.uk with esmtp (Exim 2.12 #1)
id 10uGoH-0001hZ-00
for jpff@maths.bath.ac.uk; Wed, 16 Jun 1999 15:37:01 +0100
Received: from noether [144.173.8.10] by hermes via SMTP (PAA09275); Wed, 16 Jun 1999 15:32:51 +0100 (BST)
Received: from exeter.ac.uk by maths.ex.ac.uk; Wed, 16 Jun 1999 15:32:33 +0100
Received: from root@renoir.op.net [209.152.193.4] by hermes via ESMTP (PAA05800); Wed, 16 Jun 1999 15:32:30 +0100 (BST)
Received: from someip.ppp.op.net (d-bm2-0d.ppp.op.net [209.152.194.45]) by renoir.op.net (o1/$Revision: 1.18 $) with ESMTP id KAA06644 for ; Wed, 16 Jun 1999 10:32:36 -0400 (EDT)
Message-Id: <199906161432.KAA06644@renoir.op.net>
To: csound@maths.ex.ac.uk
Subject: Re: Csound and other synthesis systems
In-reply-to: Your message of "Wed, 16 Jun 1999 08:26:42 EDT."
Date: Wed, 16 Jun 1999 10:40:54 -0400
From: Paul Barton-Davis
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk
Michael Gogins writes:
>Csound could be put firmly back at the leading edge of the state of the art
>if:
>
>Csound gets plugin unit generators and function tables with a SIMPLE, I mean
>REALLY simple, API.
this already exists for unit generators. I don't understand how you
could want a simpler interface than the one they have
already. Someone, I think it was you, actually allowed the Windows
version to dynamically load opcodes. What more are you thinking of ?
as for function tables, they are close, but the routines in Csound
rely so totally on global variables that a plugin API for generators
can't easily be concocted. I was suprised how much I had to rewrite of
the table stuff for Quasimodo. But the way function tables are used
within opcodes, for example, doesn't suffer from these problems.
>Csound gets double-precision signal processing (Buzz and Generator use
>floats).
this has been discussed to death already.
>Csound gets low-latency MIDI and audio input and output that works more or
>less the same on its major platforms.
this is a function of the platforms. the Linux version, for example,
has approx 1ms latency for MIDI and audio input you ask it the right
questions. the idea that Csound should try to take these matters into
its own hands is terrifying.
>Csound gets an at least semi-snazzy GUI including unit generator wiring.
What cross-platform GUI kit do you propose for this ? Let me guess, it
begins with a "J", right ?
>Csound can act as a VST plugin.
I could care less :) But I understand the interest in this.
>What is needed here is a reasonable compromise between the power and
>amenability for experimentation of a bare-bones piece of academic UNIX
>software, and a user-friendly GUI and user-extensible plugin architecture,
>with realtime performance AND non-realtime soundfile rendering. This is the
>wonderful musical instrument that is evolving before our very eyes (and
>ears), and Csound already contains all the necessary guts for the thing.
Michael - I'm in full agreement with you, with the major exception
that I have no interest in seeing Csound subsumed into a Java
environment. I think that you see Java as a way to go truly
cross-platform, which is admirable; I see Java as a way to limit the
possibilites and hurt performance. I also don't share your interest in
Windows and Mac platforms, for reasons I've outlined elsewhere, and so
you have a set of goals with respect to things like VST that I don't
share.
However, for reasons I also outlined in a previous message, I don't
believe that Csound as it is currently written is the right place to
begin from. The opcodes are pure gold, but the rest of the scaffolding
that holds them together is not what we should be working with. Thats
at least part of why I wrote/am writing Quasimodo.
--p
Received: from shaun.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa05546;
16 Jun 99 16:13 BST
Received: from [144.173.6.14] (helo=exeter.ac.uk)
by shaun.maths.bath.ac.uk with esmtp (Exim 2.12 #1)
id 10uHN2-0007So-00
for jpff@maths.bath.ac.uk; Wed, 16 Jun 1999 16:12:56 +0100
Received: from noether [144.173.8.10] by hermes via SMTP (QAA10620); Wed, 16 Jun 1999 16:07:38 +0100 (BST)
Received: from exeter.ac.uk by maths.ex.ac.uk; Wed, 16 Jun 1999 16:07:26 +0100
Received: from neptune.lyrick.com [38.227.100.46] by hermes via ESMTP (QAA08892); Wed, 16 Jun 1999 16:07:25 +0100 (BST)
Received: by neptune.lyrick.com with Internet Mail Service (5.5.2448.0)
id ; Wed, 16 Jun 1999 10:07:33 -0500
Message-ID: <283AABB8FD0DD21187C200A0C995F5DEECAFEB@neptune.lyrick.com>
From: David Boothe
To: 'MiS' , csound@maths.ex.ac.uk
Subject: RE: tablew business
Date: Wed, 16 Jun 1999 10:07:29 -0500
MIME-Version: 1.0
X-Mailer: Internet Mail Service (5.5.2448.0)
Content-Type: multipart/alternative;
boundary="----_=_NextPart_001_01BEB809.F59310A8"
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk
This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.
------_=_NextPart_001_01BEB809.F59310A8
Content-Type: text/plain;
charset="iso-8859-1"
Initialize an empty table in the score with GEN02. Then use tablew to write
to that table. Now, I've never used tablew myself, but if I were to try it,
that is how I would start.
-David.
> -----Original Message-----
> From: MiS [mailto:mseta@yahoo.com]
> Sent: Wednesday, June 16, 1999 12:45 AM
> To: csound@maths.ex.ac.uk
> Subject: tablew business
>
>
> He,
>
> According to the manual tablew is supposed to write continuously to a
> table (I want to to do it at a-rate). I would like to recycle that
> table using sndwarp.
>
> since tablew needs to write to an existing table is there a
> GEN routine
> that should be used ?
>
> I don't seem to be successful. An example would be appreciated.
>
> Michal.
> _________________________________________________________
> Do You Yahoo!?
> Get your free @yahoo.com address at http://mail.yahoo.com
>
------_=_NextPart_001_01BEB809.F59310A8
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
RE: tablew business
Initialize an empty table in the score with GEN02. =
Then use tablew to write to that table. Now, I've never used tablew =
myself, but if I were to try it, that is how I would start.
-David.
> -----Original Message-----
> From: MiS [mailto:mseta@yahoo.com]
> Sent: Wednesday, June 16, 1999 12:45 AM
> To: csound@maths.ex.ac.uk
> Subject: tablew business
>
>
> He,
>
> According to the manual tablew is supposed to =
write continuously to a
> table (I want to to do it at a-rate). I =
would like to recycle that
> table using sndwarp.
>
> since tablew needs to write to an existing =
table is there a
> GEN routine
> that should be used ?
>
> I don't seem to be successful. An example =
would be appreciated.
>
> Michal.
> =
_________________________________________________________
> Do You Yahoo!?
> Get your free @yahoo.com address at http://mail.yahoo.com
>
------_=_NextPart_001_01BEB809.F59310A8--
Received: from wallace.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa05572;
16 Jun 99 16:31 BST
Received: from [144.173.6.14] (helo=exeter.ac.uk)
by wallace.maths.bath.ac.uk with esmtp (Exim 2.12 #1)
id 10uHf3-0001kh-00
for jpff@maths.bath.ac.uk; Wed, 16 Jun 1999 16:31:33 +0100
Received: from noether [144.173.8.10] by hermes via SMTP (QAA17673); Wed, 16 Jun 1999 16:26:04 +0100 (BST)
Received: from exeter.ac.uk by maths.ex.ac.uk; Wed, 16 Jun 1999 16:25:50 +0100
Received: from root@renoir.op.net [209.152.193.4] by hermes via ESMTP (QAA15911); Wed, 16 Jun 1999 16:25:48 +0100 (BST)
Received: from someip.ppp.op.net (d-bm2-0d.ppp.op.net [209.152.194.45]) by renoir.op.net (o1/$Revision: 1.18 $) with ESMTP id LAA12726 for ; Wed, 16 Jun 1999 11:25:54 -0400 (EDT)
Message-Id: <199906161525.LAA12726@renoir.op.net>
To: csound@maths.ex.ac.uk
Subject: Re: Csound and other synthesis systems
In-reply-to: Your message of "Wed, 16 Jun 1999 15:32:34 -0000."
<3767C392.AD59CDAC@cableinet.co.uk>
Date: Wed, 16 Jun 1999 11:34:13 -0400
From: Paul Barton-Davis
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk
>I don't think this could be done piece-meal. Basically, one would have
>to take the score and orc syntax and create a new engine from scratch,
>with multiple thread, dynamic libraries, and all the superstructure of a
>modern GUI-based application.
I sound like a stuck record, but ... exactly what you describe can be
found at http://www.op.net/~pbd/quasimodo :) It uses POSIX P.1003
threads for portability, and a (fast) GUI toolkit (GTK+) that has been
ported to all major POSIX-like operating systems and recently to
Windows as well.
>Set against this is SAOL, which is ~fully~ public domain, and which is
>open for adaptation in any number of ways, has a more up-to-date
>language, and even has a means of compiling into a stand-alone
>application, thanks to 'cfront'. The legacy of SAOL scores is also
>arguably less significant, so compatibility at the command-line level is
>scarcely an issue. After all, SAOL is expected to be embedded in set-top
>boxes ere long!
you refer to its adoption as part of MPEG-4. there are still some
pretty theoretical substantial issues to deal with before MPEG-4
becomes a reality in set top boxes. In particular, there is no method
at this time for MPEG-4 coding of existing music, other than its
implicit use of non-MPEG-4 methods.
>using Java and/or TCL/TK), an issue which simply does not arise for
>SAOL. Csound ~is~ it's source code, but that is not strictly true of
>SAOL - 'saolc' is merely an example implementation.
and, as Eric has freely pointed out, not a particularly fast one. In
my spare moments, such as they are, I have been working on merging the
SAOL yacc grammar into Quasimodo, so that it will support SAOL as
well. Its not terribly hard to do, given that I already have two
languages parsers there already.
>If we treat the score and orc syntax similarly, as a specification (as
>we can reasonably do), there is no reason why some new program cannot be
>written which implements it in a more modern form.
Which is precisely what Nicola tried to do when he began work on his
Yacc parser for Csound orchestras, and precisely what I finished as
part of Quasimodo. Its worth noting that you *cannot* parse Csound
orchestras without a complete list of known opcodes - a serious
limitation of its Music N inheritance. I got close to getting away
without the list, but some orc's by Russel Pinkston and Hans Mikelson
soon blew that idea out the window.
I have also done some work on the yacc grammar for scores, and it
supports basic scores, but not more complex features such as ramping,
np, pp etc. I also have no plans to ever add the macro systems to the
parsers. There are much better macro processors out there like m4 that
can be used to do the same thing (although they can't do floating
point expression evaluation, but this should be part of Csound itself,
not its macro language).
--p
Received: from wallace.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa05672;
16 Jun 99 17:02 BST
Received: from [144.173.6.14] (helo=exeter.ac.uk)
by wallace.maths.bath.ac.uk with esmtp (Exim 2.12 #1)
id 10uI8u-0001m0-00
for jpff@maths.bath.ac.uk; Wed, 16 Jun 1999 17:02:24 +0100
Received: from noether [144.173.8.10] by hermes via SMTP (QAA13649); Wed, 16 Jun 1999 16:58:34 +0100 (BST)
Received: from exeter.ac.uk by maths.ex.ac.uk; Wed, 16 Jun 1999 16:58:20 +0100
Received: from [139.130.48.118] by hermes via ESMTP (QAA04521); Wed, 16 Jun 1999 16:58:16 +0100 (BST)
Received: from firstpr.com.au (wira.firstpr.com.au [203.36.57.201])
by gair.firstpr.com.au (8.8.7/8.8.7) with ESMTP id CAA12839;
Thu, 17 Jun 1999 02:03:57 +1000
Message-ID: <3767C895.4B7F857A@firstpr.com.au>
Date: Thu, 17 Jun 1999 01:53:57 +1000
From: Robin Whittle
Organization: First Principles & Real World Interfaces
X-Mailer: Mozilla 4.6 [en] (Win98; I)
X-Accept-Language: en
MIME-Version: 1.0
To: music-dsp@shoko.calarts.edu
CC: CSOUND
Subject: Re: Csound and other synthesis systems
References: <004701beb7f3$941829a0$79d496c0@Realizer.ngt.sungard.com>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk
Michael Gogins mounted his soapbox on the limitations of Csound. He
seemed to be focused on a Windows-based patchable-synthesiser view of
software synthesis.
Here's the view from my particular soapbox.
There is much more to software synthesis and Csound than being like a
Moog modular on MIDI, but such a thing would certainly be a marvel and
would be widely used, including by me!
There are those of us who do not want to run things on Windows if we
can help it. (I find Windows a seriously unreliable and frustrating
operating system, despite its creature comforts which I know and
love. I have no interest in owning a Mac - too expensive and weird.)
We want open-source free software which runs on an open-source
operating system - most obviously Linux. We want all the compilers
etc. to be open-source too.
See these sites for more on "free" and "open-source" software:
http://www.fsf.org/philosophy/philosophy.html
http://www.opensource.org
With a sufficiently motivated user community, the tools evolve well
and are typically the best available at any price.
This way, unless the code base is badly writen, we can modify and
extend the programs as we choose, and feed those improvements back
into the mainstream versions of that program. This is what has been
done with Csound in recent years (with John Fitch doing a lot of the
work), but there are limits beyond which it cannot be improved or
changed.
Don't even think about any significant changes to the Csound code
base. Many who have looked closely at it have come away shaking their
heads. It works at what it does. In many respects it is an elegant
and unbeatably fast system. Parts of it can be tweaked. However it
is not sufficiently well structured or well documented to allow any
major conceptual change in its operation - internally or in terms of
score, orchestra file, or unit-generator sructure. Although the
unit-generator concept is a highly object oriented approach, the code
itself is written in plain C (originally not ANSI C) to low standards
of internal documentation. Csound's copyright is more restrictive
than the the full GPL open-source arrangement which is being adopted
for many of the most significant software projects today.
The only attempt I am aware of to produce a Csound-compatible
real-time graphic and MIDI controlled software synthesis system is
Paul Barton-Davis' so-far solitary work on Quasimodo:
http://www.op.net/~pbd/quasimodo/
It is early days yet. I did get a sound out of it two days ago -
real-time GUI control of instrument parameters. This can be done via
MIDI too, and it can output MIDI and input sound too . . . Paul is
making rapid progress. We have just established a mailing list for
those who are interested. It is a "hackers only" source code release
- you have to compile it yourself, and there is a list of things you
need to install beforehand.
Quasimodo does not run on Windows or Mac and probably never will. It
is a multi-threaded application ready for symmetrical mulitprocessing
dual CPU machines (enabling the DSP stuff to run on one CPU and the
user interface to run on another). It uses the latest techniques in
C++ programming, including STL (Standard Container Library). My
initial impression is that the structure is sound and the code-writing
and documentation values are high.
There seem to be types of people who are interested in investing the
immense effort required to develop a usable software synthesis
language / GUI real-time-synth:
1 - People like Paul Barton-Davis, a few other people and probably me
who would only consider doing this in a purely open-source
arrangement, and therefore not to sell the program on the
shrink-wrap market. We rely on collaboration and other sources
of funds.
2 - Those who are prepared to develop their own products alone,
in Windows or Mac environments, and sell them to the masses
who currently typically prefer these types of computer.
These people need to raise capital, work alone, keep their
source code secret and be concerned about musicians pirating
their software. Their environment for software is not so
flash in many respects. They are generally dependent on
commercial compilers. Is the Mac ready for multiple CPUs?
Windows NT supposedly is - but it is a crash-prone as
Win98. They can only occasionally release updates to their
software, while open-source people can release updates
without any significant cost, delay or impediment.
Only two of Michael's suggestions seem practical to me:
> Csound gets low-latency MIDI and audio input and output that works
> more or less the same on its major platforms.
Hasn't this already been achieved by Gabriel Maldonado and John Fitch
in the standard version of Csound? What latency problems are there?
Csound is very tighly coded in its central loops. Maybe Windows
ActiveX (I don't really know what this is) can provide sufficiently
finely-diced and reliable CPU resources to make it run reliably with
short buffers.
> Adapting Russell Pinkston's PatchWork program (16 bit Windows
> program) to Java as a unit generator wiring form.
I guess such a patching system can be done in any language - but I
would much rather write orchestra code than muck around with a GUI on
that level! Patching instruments together, as Quasimodo does, with
the GUI interface for each instrument defined it its part of the
orchestra file . . . . yes I think can be very useful.
Personally I think the Csound orchestra and score language should be
left behind. If I was writing a system from scratch it would not use
any special language at all - it would be a special framework for
writing C++ to get on with real-time sound synthesis and all I/O and
GUI things you might like to hang of that. It would do non-real-time
work as well, and the same principles would probably apply to
generating video images too. The C++ core elements would interface to
things in other languages, for instance novel score languages or
whatever you liked to create.
I have a name for it: Topsy. I don't expect to start on it for some
years to come - because I am involved in other things, and the
knowlege I would require is immense: C++, STL, CORBA, GTK, SMP,
P-Threads, not to mention some more DSP theory . . . .
So I suggest looking at Quasimodo (and hence at Linux), or going
against the flow on Windows and Mac and attempting an open-source
project there.
For those who make bold proposals about super-charging Csound itself
with major changes to its functionality . . . did you ever see the
movie "Repo Man"? Remember what happened shortly after the policeman
is told "No . . . you don't want to look in the trunk!"?
- Robin
===============================================================
Robin Whittle rw@firstpr.com.au http://www.firstpr.com.au
Heidelberg Heights, Melbourne, Australia
First Principles Research and expression: Consulting and
technical writing. Music. Internet music
marketing. Telecommunications. Consumer
advocacy in telecommunications, especially
privacy. M-F relationships. Kinetic sculpture.
Real World Electronics and software for music including:
Interfaces Devil Fish mods for the TB-303, Akai sampler
memory and Csound synthesis software.
===============================================================
Received: from shaun.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa05761;
16 Jun 99 17:33 BST
Received: from [144.173.6.14] (helo=exeter.ac.uk)
by shaun.maths.bath.ac.uk with esmtp (Exim 2.12 #1)
id 10uId7-0007Vk-00
for jpff@maths.bath.ac.uk; Wed, 16 Jun 1999 17:33:37 +0100
Received: from noether [144.173.8.10] by hermes via SMTP (RAA02333); Wed, 16 Jun 1999 17:30:03 +0100 (BST)
Received: from exeter.ac.uk by maths.ex.ac.uk; Wed, 16 Jun 1999 17:29:48 +0100
Received: from front5.grolier.fr [194.158.96.55] by hermes via ESMTP (RAA14762); Wed, 16 Jun 1999 17:29:47 +0100 (BST)
Received: from club-internet.fr (ppp-112-73.villette.club-internet.fr [194.158.112.73])
by front5.grolier.fr (8.9.3/No_Relay+No_Spam_MGC990224) with ESMTP id SAA03866
for ; Wed, 16 Jun 1999 18:29:56 +0200 (MET DST)
Message-ID: <3767D24F.3B8CFD95@club-internet.fr>
Date: Wed, 16 Jun 1999 18:35:28 +0200
From: KH
Reply-To: karmha@club-internet.fr
X-Mailer: Mozilla 4.04 (Macintosh; I; PPC)
MIME-Version: 1.0
To: "csound@maths.ex.ac.uk"
Subject: Re: problem rescaling
Content-Type: text/plain; charset=us-ascii; x-mac-type="54455854"; x-mac-creator="4D4F5353"
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk
Hi Mikhail
I tried out oscil1i with the same result...
I think it must be the score, will try to fix it up with the most
excellent "OpenMusic"!
Ciao
Karim
Received: from wallace.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa05769;
16 Jun 99 17:36 BST
Received: from [156.3.140.104] (helo=shoko.calarts.edu)
by wallace.maths.bath.ac.uk with esmtp (Exim 2.12 #1)
id 10uIdy-0001na-00
for jpff@maths.bath.ac.uk; Wed, 16 Jun 1999 17:36:04 +0100
Received: (from majordom@localhost)
by shoko.calarts.edu (8.9.3/8.9.3) id IAA05912
for music-dsp-outgoing; Wed, 16 Jun 1999 08:57:41 -0700 (PDT)
X-Authentication-Warning: shoko.calarts.edu: majordom set sender to owner-music-dsp@shoko.calarts.edu using -f
Received: from gair.firstpr.com.au ([139.130.48.118])
by shoko.calarts.edu (8.9.3/8.9.3) with ESMTP id IAA05905
for ; Wed, 16 Jun 1999 08:57:23 -0700 (PDT)
Received: from firstpr.com.au (wira.firstpr.com.au [203.36.57.201])
by gair.firstpr.com.au (8.8.7/8.8.7) with ESMTP id CAA12839;
Thu, 17 Jun 1999 02:03:57 +1000
Message-ID: <3767C895.4B7F857A@firstpr.com.au>
Date: Thu, 17 Jun 1999 01:53:57 +1000
From: Robin Whittle
Organization: First Principles & Real World Interfaces
X-Mailer: Mozilla 4.6 [en] (Win98; I)
X-Accept-Language: en
MIME-Version: 1.0
To: music-dsp@shoko.calarts.edu
CC: CSOUND
Subject: Re: Csound and other synthesis systems
References: <004701beb7f3$941829a0$79d496c0@Realizer.ngt.sungard.com>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-music-dsp@shoko.calarts.edu
Precedence: bulk
Reply-To: music-dsp@shoko.calarts.edu
Michael Gogins mounted his soapbox on the limitations of Csound. He
seemed to be focused on a Windows-based patchable-synthesiser view of
software synthesis.
Here's the view from my particular soapbox.
There is much more to software synthesis and Csound than being like a
Moog modular on MIDI, but such a thing would certainly be a marvel and
would be widely used, including by me!
There are those of us who do not want to run things on Windows if we
can help it. (I find Windows a seriously unreliable and frustrating
operating system, despite its creature comforts which I know and
love. I have no interest in owning a Mac - too expensive and weird.)
We want open-source free software which runs on an open-source
operating system - most obviously Linux. We want all the compilers
etc. to be open-source too.
See these sites for more on "free" and "open-source" software:
http://www.fsf.org/philosophy/philosophy.html
http://www.opensource.org
With a sufficiently motivated user community, the tools evolve well
and are typically the best available at any price.
This way, unless the code base is badly writen, we can modify and
extend the programs as we choose, and feed those improvements back
into the mainstream versions of that program. This is what has been
done with Csound in recent years (with John Fitch doing a lot of the
work), but there are limits beyond which it cannot be improved or
changed.
Don't even think about any significant changes to the Csound code
base. Many who have looked closely at it have come away shaking their
heads. It works at what it does. In many respects it is an elegant
and unbeatably fast system. Parts of it can be tweaked. However it
is not sufficiently well structured or well documented to allow any
major conceptual change in its operation - internally or in terms of
score, orchestra file, or unit-generator sructure. Although the
unit-generator concept is a highly object oriented approach, the code
itself is written in plain C (originally not ANSI C) to low standards
of internal documentation. Csound's copyright is more restrictive
than the the full GPL open-source arrangement which is being adopted
for many of the most significant software projects today.
The only attempt I am aware of to produce a Csound-compatible
real-time graphic and MIDI controlled software synthesis system is
Paul Barton-Davis' so-far solitary work on Quasimodo:
http://www.op.net/~pbd/quasimodo/
It is early days yet. I did get a sound out of it two days ago -
real-time GUI control of instrument parameters. This can be done via
MIDI too, and it can output MIDI and input sound too . . . Paul is
making rapid progress. We have just established a mailing list for
those who are interested. It is a "hackers only" source code release
- you have to compile it yourself, and there is a list of things you
need to install beforehand.
Quasimodo does not run on Windows or Mac and probably never will. It
is a multi-threaded application ready for symmetrical mulitprocessing
dual CPU machines (enabling the DSP stuff to run on one CPU and the
user interface to run on another). It uses the latest techniques in
C++ programming, including STL (Standard Container Library). My
initial impression is that the structure is sound and the code-writing
and documentation values are high.
There seem to be types of people who are interested in investing the
immense effort required to develop a usable software synthesis
language / GUI real-time-synth:
1 - People like Paul Barton-Davis, a few other people and probably me
who would only consider doing this in a purely open-source
arrangement, and therefore not to sell the program on the
shrink-wrap market. We rely on collaboration and other sources
of funds.
2 - Those who are prepared to develop their own products alone,
in Windows or Mac environments, and sell them to the masses
who currently typically prefer these types of computer.
These people need to raise capital, work alone, keep their
source code secret and be concerned about musicians pirating
their software. Their environment for software is not so
flash in many respects. They are generally dependent on
commercial compilers. Is the Mac ready for multiple CPUs?
Windows NT supposedly is - but it is a crash-prone as
Win98. They can only occasionally release updates to their
software, while open-source people can release updates
without any significant cost, delay or impediment.
Only two of Michael's suggestions seem practical to me:
> Csound gets low-latency MIDI and audio input and output that works
> more or less the same on its major platforms.
Hasn't this already been achieved by Gabriel Maldonado and John Fitch
in the standard version of Csound? What latency problems are there?
Csound is very tighly coded in its central loops. Maybe Windows
ActiveX (I don't really know what this is) can provide sufficiently
finely-diced and reliable CPU resources to make it run reliably with
short buffers.
> Adapting Russell Pinkston's PatchWork program (16 bit Windows
> program) to Java as a unit generator wiring form.
I guess such a patching system can be done in any language - but I
would much rather write orchestra code than muck around with a GUI on
that level! Patching instruments together, as Quasimodo does, with
the GUI interface for each instrument defined it its part of the
orchestra file . . . . yes I think can be very useful.
Personally I think the Csound orchestra and score language should be
left behind. If I was writing a system from scratch it would not use
any special language at all - it would be a special framework for
writing C++ to get on with real-time sound synthesis and all I/O and
GUI things you might like to hang of that. It would do non-real-time
work as well, and the same principles would probably apply to
generating video images too. The C++ core elements would interface to
things in other languages, for instance novel score languages or
whatever you liked to create.
I have a name for it: Topsy. I don't expect to start on it for some
years to come - because I am involved in other things, and the
knowlege I would require is immense: C++, STL, CORBA, GTK, SMP,
P-Threads, not to mention some more DSP theory . . . .
So I suggest looking at Quasimodo (and hence at Linux), or going
against the flow on Windows and Mac and attempting an open-source
project there.
For those who make bold proposals about super-charging Csound itself
with major changes to its functionality . . . did you ever see the
movie "Repo Man"? Remember what happened shortly after the policeman
is told "No . . . you don't want to look in the trunk!"?
- Robin
===============================================================
Robin Whittle rw@firstpr.com.au http://www.firstpr.com.au
Heidelberg Heights, Melbourne, Australia
First Principles Research and expression: Consulting and
technical writing. Music. Internet music
marketing. Telecommunications. Consumer
advocacy in telecommunications, especially
privacy. M-F relationships. Kinetic sculpture.
Real World Electronics and software for music including:
Interfaces Devil Fish mods for the TB-303, Akai sampler
memory and Csound synthesis software.
===============================================================
dupswapdrop: the music-dsp mailing list and website
http://shoko.calarts.edu/~glmrboy/musicdsp/music-dsp.html
Received: from shaun.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa05940;
16 Jun 99 18:45 BST
Received: from [156.3.140.104] (helo=shoko.calarts.edu)
by shaun.maths.bath.ac.uk with esmtp (Exim 2.12 #1)
id 10uJkV-0007XO-00
for jpff@maths.bath.ac.uk; Wed, 16 Jun 1999 18:45:20 +0100
Received: (from majordom@localhost)
by shoko.calarts.edu (8.9.3/8.9.3) id NAA11467
for music-dsp-outgoing; Tue, 15 Jun 1999 13:45:20 -0700 (PDT)
X-Authentication-Warning: shoko.calarts.edu: majordom set sender to owner-music-dsp@shoko.calarts.edu using -f
Received: from renoir.op.net (renoir.op.net [209.152.193.4])
by shoko.calarts.edu (8.9.3/8.9.3) with ESMTP id NAA11459
for ; Tue, 15 Jun 1999 13:45:08 -0700 (PDT)
Received: from op.net (d-bm2-1d.ppp.op.net [209.152.194.61]) by renoir.op.net (o1/$Revision: 1.18 $) with ESMTP id QAA25100; Tue, 15 Jun 1999 16:44:17 -0400 (EDT)
Received: (from pbd@localhost) by op.net ($Revision: 1.2 $) id QAA02163; Tue, 15 Jun 1999 16:52:24 -0400
Date: Tue, 15 Jun 1999 16:52:24 -0400
Message-Id: <199906152052.QAA02163@op.net>
From: Paul Barton-Davis
To: csound-unix-dev@ilogic.com.au, csound@maths.ex.ac.uk,
music-dsp@shoko.calarts.edu
Subject: [quasimodo] quasimodo development mailing list now running
Sender: owner-music-dsp@shoko.calarts.edu
Precedence: bulk
Reply-To: music-dsp@shoko.calarts.edu
To subscribe, send me your email address. The forum is not moderated,
but membership is.
--pbd
dupswapdrop: the music-dsp mailing list and website
http://shoko.calarts.edu/~glmrboy/musicdsp/music-dsp.html
Received: from shaun.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa05969;
16 Jun 99 18:57 BST
Received: from [144.173.6.14] (helo=exeter.ac.uk)
by shaun.maths.bath.ac.uk with esmtp (Exim 2.12 #1)
id 10uJwG-0007Xm-00
for jpff@maths.bath.ac.uk; Wed, 16 Jun 1999 18:57:28 +0100
Received: from noether [144.173.8.10] by hermes via SMTP (SAA04218); Wed, 16 Jun 1999 18:52:41 +0100 (BST)
Received: from exeter.ac.uk by maths.ex.ac.uk; Wed, 16 Jun 1999 18:52:30 +0100
Received: from ares.flash.net [209.30.0.41] by hermes via ESMTP (SAA01784); Wed, 16 Jun 1999 18:52:28 +0100 (BST)
Received: from bigfoot.com (p234-122.atnt1.dialup.ftw1.flash.net [209.30.234.122])
by ares.flash.net (8.9.3/8.9.3) with ESMTP id MAA21867;
Wed, 16 Jun 1999 12:51:36 -0500 (CDT)
Message-ID: <3767E49F.E1679F6B@bigfoot.com>
Date: Wed, 16 Jun 1999 12:53:35 -0500
From: pete moss
Organization: pete moss GmbH
X-Mailer: Mozilla 4.6 [en] (Win98; I)
X-Accept-Language: en
MIME-Version: 1.0
To: Robin Whittle
CC: music-dsp@shoko.calarts.edu, CSOUND
Subject: Re: Csound and other synthesis systems
References: <004701beb7f3$941829a0$79d496c0@Realizer.ngt.sungard.com> <3767C895.4B7F857A@firstpr.com.au>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk
isnt that what cmusic does? except with c, (no ++).
:P
Robin Whittle wrote:
> Personally I think the Csound orchestra and score language should be
> left behind. If I was writing a system from scratch it would not use
> any special language at all - it would be a special framework for
> writing C++ to get on with real-time sound synthesis and all I/O and
> GUI things you might like to hang of that. It would do non-real-time
> work as well, and the same principles would probably apply to
> generating video images too. The C++ core elements would interface to
> things in other languages, for instance novel score languages or
> whatever you liked to create.
Received: from wallace.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa06113;
16 Jun 99 19:18 BST
Received: from [156.3.140.104] (helo=shoko.calarts.edu)
by wallace.maths.bath.ac.uk with esmtp (Exim 2.12 #1)
id 10uKGE-0001r9-00
for jpff@maths.bath.ac.uk; Wed, 16 Jun 1999 19:18:06 +0100
Received: (from majordom@localhost)
by shoko.calarts.edu (8.9.3/8.9.3) id KAA09923
for music-dsp-outgoing; Wed, 16 Jun 1999 10:52:39 -0700 (PDT)
X-Authentication-Warning: shoko.calarts.edu: majordom set sender to owner-music-dsp@shoko.calarts.edu using -f
Received: from ares.flash.net (ares.flash.net [209.30.0.41])
by shoko.calarts.edu (8.9.3/8.9.3) with ESMTP id KAA09918
for ; Wed, 16 Jun 1999 10:52:36 -0700 (PDT)
Received: from bigfoot.com (p234-122.atnt1.dialup.ftw1.flash.net [209.30.234.122])
by ares.flash.net (8.9.3/8.9.3) with ESMTP id MAA21867;
Wed, 16 Jun 1999 12:51:36 -0500 (CDT)
Message-ID: <3767E49F.E1679F6B@bigfoot.com>
Date: Wed, 16 Jun 1999 12:53:35 -0500
From: pete moss
Organization: pete moss GmbH
X-Mailer: Mozilla 4.6 [en] (Win98; I)
X-Accept-Language: en
MIME-Version: 1.0
To: Robin Whittle
CC: music-dsp@shoko.calarts.edu, CSOUND
Subject: Re: Csound and other synthesis systems
References: <004701beb7f3$941829a0$79d496c0@Realizer.ngt.sungard.com> <3767C895.4B7F857A@firstpr.com.au>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-music-dsp@shoko.calarts.edu
Precedence: bulk
Reply-To: music-dsp@shoko.calarts.edu
isnt that what cmusic does? except with c, (no ++).
:P
Robin Whittle wrote:
> Personally I think the Csound orchestra and score language should be
> left behind. If I was writing a system from scratch it would not use
> any special language at all - it would be a special framework for
> writing C++ to get on with real-time sound synthesis and all I/O and
> GUI things you might like to hang of that. It would do non-real-time
> work as well, and the same principles would probably apply to
> generating video images too. The C++ core elements would interface to
> things in other languages, for instance novel score languages or
> whatever you liked to create.
dupswapdrop: the music-dsp mailing list and website
http://shoko.calarts.edu/~glmrboy/musicdsp/music-dsp.html
Received: from shaun.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa06385;
16 Jun 99 20:47 BST
Received: from [156.3.140.104] (helo=shoko.calarts.edu)
by shaun.maths.bath.ac.uk with esmtp (Exim 2.12 #1)
id 10uLeY-0007aV-00
for jpff@maths.bath.ac.uk; Wed, 16 Jun 1999 20:47:18 +0100
Received: (from majordom@localhost)
by shoko.calarts.edu (8.9.3/8.9.3) id MAA12155
for music-dsp-outgoing; Wed, 16 Jun 1999 12:26:40 -0700 (PDT)
X-Authentication-Warning: shoko.calarts.edu: majordom set sender to owner-music-dsp@shoko.calarts.edu using -f
Received: from Mail.austin.rr.com (sm2.texas.rr.com [24.93.35.55])
by shoko.calarts.edu (8.9.3/8.9.3) with ESMTP id MAA12148
for ; Wed, 16 Jun 1999 12:26:38 -0700 (PDT)
Received: from [24.93.53.130] ([24.93.53.130]) by Mail.austin.rr.com with Microsoft SMTPSVC(5.5.1875.185.18);
Wed, 16 Jun 1999 14:23:39 -0500
X-Sender: asynth@mail.io.com
Message-Id:
In-Reply-To: <3767C895.4B7F857A@firstpr.com.au>
References: <004701beb7f3$941829a0$79d496c0@Realizer.ngt.sungard.com>
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Date: Wed, 16 Jun 1999 14:29:27 -0600
To: music-dsp@shoko.calarts.edu
From: James McCartney
Subject: Re: Csound and other synthesis systems
Cc: CSOUND
Sender: owner-music-dsp@shoko.calarts.edu
Precedence: bulk
Reply-To: music-dsp@shoko.calarts.edu
At 9:53 AM -0600 6/16/99, Robin Whittle wrote:
>I guess such a patching system can be done in any language - but I
>would much rather write orchestra code than muck around with a GUI on
>that level! Patching instruments together, as Quasimodo does, with
>the GUI interface for each instrument defined it its part of the
>orchestra file . . . . yes I think can be very useful.
>
>
>Personally I think the Csound orchestra and score language should be
>left behind. If I was writing a system from scratch it would not use
>any special language at all - it would be a special framework for
>writing C++ to get on with real-time sound synthesis and all I/O and
>GUI things you might like to hang of that.
Computer music software can be a lot more than just a synth engine
of statically allocated ugens attached to a GUI. This framework is
just too limiting compared to what is possible.
If this is the vision of what is ideal then I think you have not brainstormed
enough about what the real interesting problems are.
There is a lot more I want to "hang on" my DSP engine than a GUI.
Once you get your ideal system how will you attach interesting behaviours
to it? Using C++ to write intelligent players or gesture mappings, or
list processing score manipulation would be very painful.
I think many people do not still grok the kind of things you can do
with a dynamic system like SC or Kyma which is why so many of the same
kind of system keep coming out: GUI+DSP but no brains.
In SC, you can write an algorithmic process to build your patch in real
time, e.g. mapping velocity to how complex a patch you build.
Values in your score can themselves be patches that plug into your
instrument input. For example you could have a note in your score
be a patch of ugens. Then that voice's patch will get built with that
sub-patch plugged into its input instead of just a float value.
Instruments can spawn sub patches recursively to any depth. etc..
That is why I think having a language is important. There is only
so much you can do with a static framework. Static frameworks are not
much better than just having cheap sound hardware. A powerful language
gives you a lot more ability to do what computers can be good at which
is manipulating abstractions. And C++ is just not a very highly abstract
language.
--- james mccartney james@audiosynth.com http://www.audiosynth.com
If you have a PowerMac check out SuperCollider2, a real time synth program:
dupswapdrop: the music-dsp mailing list and website
http://shoko.calarts.edu/~glmrboy/musicdsp/music-dsp.html
Received: from wallace.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa06514;
16 Jun 99 21:40 BST
Received: from [144.173.6.14] (helo=exeter.ac.uk)
by wallace.maths.bath.ac.uk with esmtp (Exim 2.12 #1)
id 10uMUA-0001uI-00
for jpff@maths.bath.ac.uk; Wed, 16 Jun 1999 21:40:38 +0100
Received: from noether [144.173.8.10] by hermes via SMTP (VAA06460); Wed, 16 Jun 1999 21:37:02 +0100 (BST)
Received: from exeter.ac.uk by maths.ex.ac.uk; Wed, 16 Jun 1999 21:36:50 +0100
Received: from mtv@pavo-1.U.Arizona.EDU [128.196.137.195] by hermes via ESMTP (VAA08913); Wed, 16 Jun 1999 21:36:49 +0100 (BST)
Received: from localhost (mtv@localhost)
by pavo.U.Arizona.EDU (8.8.6 (PHNE_17135)/8.8.6) with ESMTP id NAA04541;
Wed, 16 Jun 1999 13:36:45 -0700 (MST)
Date: Wed, 16 Jun 1999 13:36:45 -0700 (MST)
From: Mark T Vigorito
To: Michael Gogins
cc: music-dsp , CSOUND
Subject: Re: Csound and other synthesis systems
In-Reply-To: <004701beb7f3$941829a0$79d496c0@Realizer.ngt.sungard.com>
Message-ID:
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk
On Wed, 16 Jun 1999, Michael Gogins wrote:
[...]
> Csound can act as a VST plugin.
> [...]
> The VST part is easy.
>
I am *very* interested in this (I use Samplitude Studio). What else needs
to be done? I was under the impression that your AXCsound was already a
step in that direction...
Cheers,
Mark Vigorito
mtv@u.arizona.edu
Received: from wallace.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa06587;
16 Jun 99 22:24 BST
Received: from [144.173.6.14] (helo=exeter.ac.uk)
by wallace.maths.bath.ac.uk with esmtp (Exim 2.12 #1)
id 10uNAG-0001vI-00
for jpff@maths.bath.ac.uk; Wed, 16 Jun 1999 22:24:08 +0100
Received: from noether [144.173.8.10] by hermes via SMTP (WAA10890); Wed, 16 Jun 1999 22:20:15 +0100 (BST)
Received: from exeter.ac.uk by maths.ex.ac.uk; Wed, 16 Jun 1999 22:20:03 +0100
Received: from mtiwmhc01.worldnet.att.net [204.127.131.36] by hermes via ESMTP (WAA13799); Wed, 16 Jun 1999 22:20:02 +0100 (BST)
Received: from worldnet.att.net ([12.76.97.89])
by mtiwmhc01.worldnet.att.net (InterMail v03.02.07.07 118-134)
with ESMTP id <19990616211941.WJOM12284@worldnet.att.net>;
Wed, 16 Jun 1999 21:19:41 +0000
Message-ID: <37681550.1ACE5367@worldnet.att.net>
Date: Wed, 16 Jun 1999 17:21:22 -0400
From: Kirsh Family
Reply-To: kirsh@worldnet.att.net
Organization: Kirsh Family
X-Mailer: Mozilla 4.5 (Macintosh; U; PPC)
X-Accept-Language: en-US
MIME-Version: 1.0
To: karmha@club-internet.fr, csound@maths.ex.ac.uk
Subject: Re: problem rescaling.
References: <3766E171.BD6C72BD@club-internet.fr>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk
KH wrote:
>
> Yes it's me again...
>
> Well apparently the problem is not with loscil, but simply with the
> first instrument.
> try to run this with rescaling:
> ...
For what it's worth, I ran both scores with the orchestra included in
the email, and they all worked fine for me. I'm running Mac Csound
3.5.1 on an 8500/120 with MacOS 8.1. I've got 8818K allocated to Perf
and ~600MB of free disk. My buffers are set to the maximum size:
blocksize & audio output both set to 32768. I'm rescaling floats to
16-bit ints and using AIFF headers.
David Kirsh
Gahanna, Ohio
Received: from shaun.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa06708;
16 Jun 99 23:32 BST
Received: from [144.173.6.14] (helo=exeter.ac.uk)
by shaun.maths.bath.ac.uk with esmtp (Exim 2.12 #1)
id 10uOE4-0007dd-00
for jpff@maths.bath.ac.uk; Wed, 16 Jun 1999 23:32:08 +0100
Received: from noether [144.173.8.10] by hermes via SMTP (XAA14610); Wed, 16 Jun 1999 23:28:31 +0100 (BST)
Received: from exeter.ac.uk by maths.ex.ac.uk; Wed, 16 Jun 1999 23:28:19 +0100
Received: from front6.grolier.fr [194.158.96.56] by hermes via ESMTP (XAA01543); Wed, 16 Jun 1999 23:28:18 +0100 (BST)
Received: from club-internet.fr (ppp-160-225.villette.club-internet.fr [195.36.160.225])
by front6.grolier.fr (8.9.3/No_Relay+No_Spam_MGC990224) with ESMTP id AAA08093
for ; Thu, 17 Jun 1999 00:28:27 +0200 (MET DST)
Message-ID: <3768263C.F1E8C282@club-internet.fr>
Date: Thu, 17 Jun 1999 00:33:34 +0200
From: KH
Reply-To: karmha@club-internet.fr
X-Mailer: Mozilla 4.04 (Macintosh; I; PPC)
MIME-Version: 1.0
To: "csound@maths.ex.ac.uk"
Subject: No more problem rescaling
Content-Type: text/plain; charset=us-ascii; x-mac-type="54455854"; x-mac-creator="4D4F5353"
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk
Well I finally found out the problem!
It has nothing to do directly with Csound, ouffff...
It's a hard disk problem apparently. I think my external drive
didn't agree with rescaling stuff... although most of the time it works
well! So i tried my internal drive and everything went ok! (SCSI
problem? drive problem who knows??)
Well thanks to everybody who helped out.
PS: the score is not a masterpiece, it's only a part from a part of an
additif stuff. And sorry for those who asked for the samples, i can't
send them first because i don't want to annoy everyone, 2) they are 3
mega each, and i have a slow line out here!
Maybe next time, will send you something worth computing!
Thanks again, and happy Csounding
Karim
Received: from shaun.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa06759;
16 Jun 99 23:54 BST
Received: from [156.3.140.104] (helo=shoko.calarts.edu)
by shaun.maths.bath.ac.uk with esmtp (Exim 2.12 #1)
id 10uOZb-0007e2-00
for jpff@maths.bath.ac.uk; Wed, 16 Jun 1999 23:54:23 +0100
Received: (from majordom@localhost)
by shoko.calarts.edu (8.9.3/8.9.3) id HAA04529
for music-dsp-outgoing; Wed, 16 Jun 1999 07:29:37 -0700 (PDT)
X-Authentication-Warning: shoko.calarts.edu: majordom set sender to owner-music-dsp@shoko.calarts.edu using -f
Received: from Mail.austin.rr.com (sm2.texas.rr.com [24.93.35.55])
by shoko.calarts.edu (8.9.3/8.9.3) with ESMTP id HAA04525
for ; Wed, 16 Jun 1999 07:29:36 -0700 (PDT)
Received: from [24.93.53.130] ([24.93.53.130]) by Mail.austin.rr.com with Microsoft SMTPSVC(5.5.1875.185.18);
Wed, 16 Jun 1999 09:26:37 -0500
X-Sender: asynth@mail.io.com
Message-Id:
In-Reply-To: <004701beb7f3$941829a0$79d496c0@Realizer.ngt.sungard.com>
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Date: Wed, 16 Jun 1999 09:32:24 -0600
To: music-dsp@shoko.calarts.edu, CSOUND
From: James McCartney
Subject: Re: Csound and other synthesis systems
Sender: owner-music-dsp@shoko.calarts.edu
Precedence: bulk
Reply-To: music-dsp@shoko.calarts.edu
At 6:26 AM -0600 6/16/99, Michael Gogins wrote:
>Other
>programs of note that I don't talk about here are SuperCollider and
>GrainWave.
OK, but...
>What is needed here is a reasonable compromise between the power and
>amenability for experimentation of a bare-bones piece of academic UNIX
>software, and a user-friendly GUI and user-extensible plugin architecture,
>with realtime performance AND non-realtime soundfile rendering. This is the
>wonderful musical instrument that is evolving before our very eyes (and
>ears), and Csound already contains all the necessary guts for the thing.
If expressive power is what you want then why go with Csound?
Csound : assembly language :: SuperCollider : Smalltalk
(OK this is crossposted to the Csound list so I can see those
flames rolling in.. 8-0 )
Seriously, I would be interested in any serious proposals for
collaboration on a port of SuperCollider to Linux.
I think a SuperCollider + GTK on Linux would be very cool.
SuperCollider was written from the beginning to be used in real time.
All operations were conceived and written with that in mind. For example
variable delay lines of any maximum length can be allocated and used
immediately without needing to be zeroed out first. (SC can do non
real time just fine too.)
Right now SC is closed source, however I have been considering
opening the source to the language virtual machine.
Plugins of UGens and language primitives are both possible.
SC was designed for easy plugging in of language primitives.
The virtual machine should be easily portable, there is no
Mac specific code in there.
--
SuperCollider is a dynamically typed, real time garbage collected,
fully object oriented language like Smalltalk with support for true closures,
coroutines, positional or keyword arguments, variable length argument
lists, default argument values, etc.
It has a class library of 341 classes including a full set
of Collection classes like Dictionary, Set, SortedList, etc.
There are currently over 200 unit generators.
--
--- james mccartney james@audiosynth.com http://www.audiosynth.com
If you have a PowerMac check out SuperCollider2, a real time synth program:
dupswapdrop: the music-dsp mailing list and website
http://shoko.calarts.edu/~glmrboy/musicdsp/music-dsp.html
Received: from shaun.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa06765;
16 Jun 99 23:54 BST
Received: from [156.3.140.104] (helo=shoko.calarts.edu)
by shaun.maths.bath.ac.uk with esmtp (Exim 2.12 #1)
id 10uOZz-0007e4-00
for jpff@maths.bath.ac.uk; Wed, 16 Jun 1999 23:54:47 +0100
Received: (from majordom@localhost)
by shoko.calarts.edu (8.9.3/8.9.3) id HAA04361
for music-dsp-outgoing; Wed, 16 Jun 1999 07:27:37 -0700 (PDT)
X-Authentication-Warning: shoko.calarts.edu: majordom set sender to owner-music-dsp@shoko.calarts.edu using -f
Received: from jaguars.cableinet.net (jaguars-int.cableinet.net [193.38.113.9])
by shoko.calarts.edu (8.9.3/8.9.3) with SMTP id HAA04357
for ; Wed, 16 Jun 1999 07:27:35 -0700 (PDT)
Received: (qmail 22118 invoked from network); 16 Jun 1999 14:23:16 -0000
Received: from unknown (HELO cableinet.co.uk) (194.117.146.59)
by jaguars with SMTP; 16 Jun 1999 14:23:16 -0000
Message-ID: <3767C392.AD59CDAC@cableinet.co.uk>
Date: Wed, 16 Jun 1999 15:32:34 +0000
From: rdbr03035
Organization: Composers Desktop Project
X-Mailer: Mozilla 4.5 [en] (X11; I; Linux 2.0.36 i686)
X-Accept-Language: en
MIME-Version: 1.0
CC: music-dsp , CSOUND
Subject: Re: Csound and other synthesis systems
References: <004701beb7f3$941829a0$79d496c0@Realizer.ngt.sungard.com> <3767C406.2254ACDB@exbang.com>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-music-dsp@shoko.calarts.edu
Precedence: bulk
Reply-To: music-dsp@shoko.calarts.edu
I agree that, taken direfctly in the conext of newer softsynths, Csound
can look 'creaky', and it is indeed a tempting thought to revamp the
whole thing to exploit the best of modern GUI/Plugin techniques. I have
long thought about doing this myself 'as an exercise'. However, one
vital aspect of Csound it it's extremely wide cross-platform character;
and indeed it's core functionality as a console program has advantages
for visually-impaired users.
I don't think this could be done piece-meal. Basically, one would have
to take the score and orc syntax and create a new engine from scratch,
with multiple thread, dynamic libraries, and all the superstructure of a
modern GUI-based application.
Set against this is SAOL, which is ~fully~ public domain, and which is
open for adaptation in any number of ways, has a more up-to-date
language, and even has a means of compiling into a stand-alone
application, thanks to 'cfront'. The legacy of SAOL scores is also
arguably less significant, so compatibility at the command-line level is
scarcely an issue. After all, SAOL is expected to be embedded in set-top
boxes ere long!
In the end, it depends how stronly the moral imperative that Csound
~should~ be at the 'leading edge' as a functioning softsynth, in the
terms described. As it stands, it is a treasure-trove of dsp ideas, of
unique educational value, a feature that I value highly. The issue then
is one of modernity v fragmentation (unless it can be done exclusively
using Java and/or TCL/TK), an issue which simply does not arise for
SAOL. Csound ~is~ it's source code, but that is not strictly true of
SAOL - 'saolc' is merely an example implementation.
If we treat the score and orc syntax similarly, as a specification (as
we can reasonably do), there is no reason why some new program cannot be
written which implements it in a more modern form. The sticking point is
then the title (in the legal sense), as my understanding is that
ultimately this still belongs to MIT and Barry Vercoe.
Richard Dobson
Michel Jullian wrote:
>
> Michael Gogins wrote:
>
> > Csound could be put firmly back at the leading edge of the state of the art
> > if:
> >
> > Csound gets plugin unit generators and function tables with a SIMPLE, I mean
> > REALLY simple, API.
> > Csound gets double-precision signal processing (Buzz and Generator use
> > floats).
> > Csound gets low-latency MIDI and audio input and output that works more or
> > less the same on its major platforms.
> > Csound gets an at least semi-snazzy GUI including unit generator wiring.
> > Csound gets an external API for programmatic control.
> > Csound can act as a VST plugin.
>
> This last point is _very_ good idea (the other points too). The VST 2 sdk,
> featuring full midi control of plugin synths (AFAIK it's the only plugin
> architecture with this feature) and a multiplatform GUI API, is due out any
> day now (watch out for it on steinberg's vst devs list
> ). Furthermore it is open not only to plugin
> developers but also to host developers, which should help it become a standard.
>
> What would be really nice would be if csound could "compile" orcs as vst
> plugins, somehow, instead of (or as well as) acting as a vst plugin.
>
> --
> Greetings,
> Michel
> .........................................................................
> Michel Jullian Directeur General email mj@exbang.com
> Exbang Industries S.A.
> Mas Chauvain route de Villeneuve tel +33(0) 499 529 878
> Maurin 34970 Lattes France fax +33(0) 499 529 879
> .........................................................................
dupswapdrop: the music-dsp mailing list and website
http://shoko.calarts.edu/~glmrboy/musicdsp/music-dsp.html
Received: from wallace.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa06795;
17 Jun 99 0:07 BST
Received: from [144.173.6.14] (helo=exeter.ac.uk)
by wallace.maths.bath.ac.uk with esmtp (Exim 2.12 #1)
id 10uOmW-0001xw-00
for jpff@maths.bath.ac.uk; Thu, 17 Jun 1999 00:07:45 +0100
Received: from noether [144.173.8.10] by hermes via SMTP (AAA10675); Thu, 17 Jun 1999 00:03:19 +0100 (BST)
Received: from exeter.ac.uk by maths.ex.ac.uk; Thu, 17 Jun 1999 00:03:07 +0100
Received: from smtp2.mindspring.com [207.69.200.32] by hermes via ESMTP (AAA01689); Thu, 17 Jun 1999 00:03:06 +0100 (BST)
Received: from Realizer (user-2ive1m3.dialup.mindspring.com [165.247.6.195])
by smtp2.mindspring.com (8.8.5/8.8.5) with SMTP id TAA01376;
Wed, 16 Jun 1999 19:03:10 -0400 (EDT)
Message-ID: <002501beb84c$78a42080$79d496c0@Realizer.ngt.sungard.com>
From: Michael Gogins
To: rdbr03035
Cc: music-dsp , CSOUND
Subject: Re: Csound and other synthesis systems
Date: Wed, 16 Jun 1999 19:03:37 -0400
MIME-Version: 1.0
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.3110.1
X-MimeOLE: Produced By Microsoft MimeOLE V4.72.3110.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk
I'm glad to have your response, but let me clear up some misconceptions.
I'm calling for Csound to become an engine built in COMPLETELY
cross-platform, lowest-common-denominator, plain old C. Only runtime library
calls, no system calls. There is an abstract interface for each of (1) MIDI
in, (2) MIDI out, (3) audio in, (4) audio out, (5) plugin function tables,
(6) plugin unit generators, and then (7) VST service for clients, and
finally (8) programmatic control.
All graphical goodies are done in Java and use the abstract interfaces to
get at the kernel. If JavaSound is good enough, all the abstract interfaces
above except (5), (6), (7), and (8) are service provider interfaces for
JavaSound - we don't have to implement the other side of those interfaces at
all.
Threading issues can be dealt with by ignoring them, for the most part; the
Java host can spawn a new thread to render a Csound job, but the engine need
only be single-threaded as it now is.
I would repeat my rant as something to do for SAOL - if an efficient
complete implementation existed. Csound exists, and it's DEEP.
-----Original Message-----
From: rdbr03035
Cc: music-dsp ; CSOUND
Date: Wednesday, June 16, 1999 10:32 AM
Subject: Re: Csound and other synthesis systems
>I agree that, taken direfctly in the conext of newer softsynths, Csound
>can look 'creaky', and it is indeed a tempting thought to revamp the
>whole thing to exploit the best of modern GUI/Plugin techniques. I have
>long thought about doing this myself 'as an exercise'. However, one
>vital aspect of Csound it it's extremely wide cross-platform character;
>and indeed it's core functionality as a console program has advantages
>for visually-impaired users.
>
>I don't think this could be done piece-meal. Basically, one would have
>to take the score and orc syntax and create a new engine from scratch,
>with multiple thread, dynamic libraries, and all the superstructure of a
>modern GUI-based application.
>
>Set against this is SAOL, which is ~fully~ public domain, and which is
>open for adaptation in any number of ways, has a more up-to-date
>language, and even has a means of compiling into a stand-alone
>application, thanks to 'cfront'. The legacy of SAOL scores is also
>arguably less significant, so compatibility at the command-line level is
>scarcely an issue. After all, SAOL is expected to be embedded in set-top
>boxes ere long!
>
>In the end, it depends how stronly the moral imperative that Csound
>~should~ be at the 'leading edge' as a functioning softsynth, in the
>terms described. As it stands, it is a treasure-trove of dsp ideas, of
>unique educational value, a feature that I value highly. The issue then
>is one of modernity v fragmentation (unless it can be done exclusively
>using Java and/or TCL/TK), an issue which simply does not arise for
>SAOL. Csound ~is~ it's source code, but that is not strictly true of
>SAOL - 'saolc' is merely an example implementation.
>
>If we treat the score and orc syntax similarly, as a specification (as
>we can reasonably do), there is no reason why some new program cannot be
>written which implements it in a more modern form. The sticking point is
>then the title (in the legal sense), as my understanding is that
>ultimately this still belongs to MIT and Barry Vercoe.
>
>
>Richard Dobson
>
>
>Michel Jullian wrote:
>>
>> Michael Gogins wrote:
>>
>> > Csound could be put firmly back at the leading edge of the state of the
art
>> > if:
>> >
>> > Csound gets plugin unit generators and function tables with a SIMPLE, I
mean
>> > REALLY simple, API.
>> > Csound gets double-precision signal processing (Buzz and Generator use
>> > floats).
>> > Csound gets low-latency MIDI and audio input and output that works more
or
>> > less the same on its major platforms.
>> > Csound gets an at least semi-snazzy GUI including unit generator
wiring.
>> > Csound gets an external API for programmatic control.
>> > Csound can act as a VST plugin.
>>
>> This last point is _very_ good idea (the other points too). The VST 2
sdk,
>> featuring full midi control of plugin synths (AFAIK it's the only plugin
>> architecture with this feature) and a multiplatform GUI API, is due out
any
>> day now (watch out for it on steinberg's vst devs list
>> ). Furthermore it is open not only to plugin
>> developers but also to host developers, which should help it become a
standard.
>>
>> What would be really nice would be if csound could "compile" orcs as vst
>> plugins, somehow, instead of (or as well as) acting as a vst plugin.
>>
>> --
>> Greetings,
>> Michel
>> .........................................................................
>> Michel Jullian Directeur General email mj@exbang.com
>> Exbang Industries S.A.
>> Mas Chauvain route de Villeneuve tel +33(0) 499 529 878
>> Maurin 34970 Lattes France fax +33(0) 499 529 879
>> .........................................................................
Received: from shaun.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa06819;
17 Jun 99 0:13 BST
Received: from [144.173.6.14] (helo=exeter.ac.uk)
by shaun.maths.bath.ac.uk with esmtp (Exim 2.12 #1)
id 10uOsT-0007fj-00
for jpff@maths.bath.ac.uk; Thu, 17 Jun 1999 00:13:53 +0100
Received: from noether [144.173.8.10] by hermes via SMTP (AAA06934); Thu, 17 Jun 1999 00:10:16 +0100 (BST)
Received: from exeter.ac.uk by maths.ex.ac.uk; Thu, 17 Jun 1999 00:10:04 +0100
Received: from smtp2.mindspring.com [207.69.200.32] by hermes via ESMTP (AAA10959); Thu, 17 Jun 1999 00:10:03 +0100 (BST)
Received: from Realizer (user-2ive1m3.dialup.mindspring.com [165.247.6.195])
by smtp2.mindspring.com (8.8.5/8.8.5) with SMTP id TAA24428;
Wed, 16 Jun 1999 19:09:56 -0400 (EDT)
Message-ID: <004001beb84d$6adfd880$79d496c0@Realizer.ngt.sungard.com>
From: Michael Gogins
To: Robin Whittle , music-dsp@shoko.calarts.edu
MMDF-Warning: Parse error in original version of preceding line at UK.AC.Bath.maths.omphalos
Cc: CSOUND
Subject: Re: Csound and other synthesis systems
Date: Wed, 16 Jun 1999 19:10:23 -0400
MIME-Version: 1.0
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.3110.1
X-MimeOLE: Produced By Microsoft MimeOLE V4.72.3110.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk
I'm afraid you missed one major thrust of my message. I am in fact quite
concerned about multi-platform capability. My system Silence runs on both
Windows and Linux (thanks to Dave Pnillips). If Csound is a "pure ANSI C
runtime library" engine and implements Java native methods, and the Csound
GUI and extras are all done in Java, then the whole system is cross-platform
without much, if indeed any, extra work at all.
-----Original Message-----
From: Robin Whittle
To: music-dsp@shoko.calarts.edu
Cc: CSOUND
Date: Wednesday, June 16, 1999 12:01 PM
Subject: Re: Csound and other synthesis systems
>Michael Gogins mounted his soapbox on the limitations of Csound. He
>seemed to be focused on a Windows-based patchable-synthesiser view of
>software synthesis.
>
>Here's the view from my particular soapbox.
>
>There is much more to software synthesis and Csound than being like a
>Moog modular on MIDI, but such a thing would certainly be a marvel and
>would be widely used, including by me!
>
>There are those of us who do not want to run things on Windows if we
>can help it. (I find Windows a seriously unreliable and frustrating
>operating system, despite its creature comforts which I know and
>love. I have no interest in owning a Mac - too expensive and weird.)
>We want open-source free software which runs on an open-source
>operating system - most obviously Linux. We want all the compilers
>etc. to be open-source too.
>
Received: from shaun.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa06831;
17 Jun 99 0:15 BST
Received: from [144.173.6.14] (helo=exeter.ac.uk)
by shaun.maths.bath.ac.uk with esmtp (Exim 2.12 #1)
id 10uOts-0007fq-00
for jpff@maths.bath.ac.uk; Thu, 17 Jun 1999 00:15:20 +0100
Received: from noether [144.173.8.10] by hermes via SMTP (AAA18327); Thu, 17 Jun 1999 00:11:48 +0100 (BST)
Received: from exeter.ac.uk by maths.ex.ac.uk; Thu, 17 Jun 1999 00:11:35 +0100
Received: from smtp2.mindspring.com [207.69.200.32] by hermes via ESMTP (AAA00562); Thu, 17 Jun 1999 00:11:34 +0100 (BST)
Received: from Realizer (user-2ive1m3.dialup.mindspring.com [165.247.6.195])
by smtp2.mindspring.com (8.8.5/8.8.5) with SMTP id TAA15342;
Wed, 16 Jun 1999 19:11:34 -0400 (EDT)
Message-ID: <005201beb84d$a46dbb80$79d496c0@Realizer.ngt.sungard.com>
From: Michael Gogins
To: pete moss , Robin Whittle
Cc: music-dsp@shoko.calarts.edu, CSOUND
MMDF-Warning: Parse error in original version of preceding line at UK.AC.Bath.maths.omphalos
Subject: Re: Csound and other synthesis systems
Date: Wed, 16 Jun 1999 19:12:00 -0400
MIME-Version: 1.0
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.3110.1
X-MimeOLE: Produced By Microsoft MimeOLE V4.72.3110.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk
Correct me if I'm wrong - but doesn't cmusic have many fewer unit generators
than Csound and no real-time MIDI input or audio output?
-----Original Message-----
From: pete moss
To: Robin Whittle
Cc: music-dsp@shoko.calarts.edu ; CSOUND
Date: Wednesday, June 16, 1999 1:54 PM
Subject: Re: Csound and other synthesis systems
>isnt that what cmusic does? except with c, (no ++).
>
>:P
>
>
>Robin Whittle wrote:
>> Personally I think the Csound orchestra and score language should be
>> left behind. If I was writing a system from scratch it would not use
>> any special language at all - it would be a special framework for
>> writing C++ to get on with real-time sound synthesis and all I/O and
>> GUI things you might like to hang of that. It would do non-real-time
>> work as well, and the same principles would probably apply to
>> generating video images too. The C++ core elements would interface to
>> things in other languages, for instance novel score languages or
>> whatever you liked to create.
Received: from shaun.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa06841;
17 Jun 99 0:17 BST
Received: from [156.3.140.104] (helo=shoko.calarts.edu)
by shaun.maths.bath.ac.uk with esmtp (Exim 2.12 #1)
id 10uOw2-0007fs-00
for jpff@maths.bath.ac.uk; Thu, 17 Jun 1999 00:17:36 +0100
Received: (from majordom@localhost)
by shoko.calarts.edu (8.9.3/8.9.3) id QAA03663
for music-dsp-outgoing; Wed, 16 Jun 1999 16:03:17 -0700 (PDT)
X-Authentication-Warning: shoko.calarts.edu: majordom set sender to owner-music-dsp@shoko.calarts.edu using -f
Received: from smtp2.mindspring.com (smtp2.mindspring.com [207.69.200.32])
by shoko.calarts.edu (8.9.3/8.9.3) with ESMTP id QAA03659
for ; Wed, 16 Jun 1999 16:03:15 -0700 (PDT)
Received: from Realizer (user-2ive1m3.dialup.mindspring.com [165.247.6.195])
by smtp2.mindspring.com (8.8.5/8.8.5) with SMTP id TAA01376;
Wed, 16 Jun 1999 19:03:10 -0400 (EDT)
Message-ID: <002501beb84c$78a42080$79d496c0@Realizer.ngt.sungard.com>
From: Michael Gogins
To: rdbr03035
Cc: music-dsp , CSOUND
Subject: Re: Csound and other synthesis systems
Date: Wed, 16 Jun 1999 19:03:37 -0400
MIME-Version: 1.0
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.3110.1
X-MimeOLE: Produced By Microsoft MimeOLE V4.72.3110.3
Sender: owner-music-dsp@shoko.calarts.edu
Precedence: bulk
Reply-To: music-dsp@shoko.calarts.edu
I'm glad to have your response, but let me clear up some misconceptions.
I'm calling for Csound to become an engine built in COMPLETELY
cross-platform, lowest-common-denominator, plain old C. Only runtime library
calls, no system calls. There is an abstract interface for each of (1) MIDI
in, (2) MIDI out, (3) audio in, (4) audio out, (5) plugin function tables,
(6) plugin unit generators, and then (7) VST service for clients, and
finally (8) programmatic control.
All graphical goodies are done in Java and use the abstract interfaces to
get at the kernel. If JavaSound is good enough, all the abstract interfaces
above except (5), (6), (7), and (8) are service provider interfaces for
JavaSound - we don't have to implement the other side of those interfaces at
all.
Threading issues can be dealt with by ignoring them, for the most part; the
Java host can spawn a new thread to render a Csound job, but the engine need
only be single-threaded as it now is.
I would repeat my rant as something to do for SAOL - if an efficient
complete implementation existed. Csound exists, and it's DEEP.
-----Original Message-----
From: rdbr03035
Cc: music-dsp ; CSOUND
Date: Wednesday, June 16, 1999 10:32 AM
Subject: Re: Csound and other synthesis systems
>I agree that, taken direfctly in the conext of newer softsynths, Csound
>can look 'creaky', and it is indeed a tempting thought to revamp the
>whole thing to exploit the best of modern GUI/Plugin techniques. I have
>long thought about doing this myself 'as an exercise'. However, one
>vital aspect of Csound it it's extremely wide cross-platform character;
>and indeed it's core functionality as a console program has advantages
>for visually-impaired users.
>
>I don't think this could be done piece-meal. Basically, one would have
>to take the score and orc syntax and create a new engine from scratch,
>with multiple thread, dynamic libraries, and all the superstructure of a
>modern GUI-based application.
>
>Set against this is SAOL, which is ~fully~ public domain, and which is
>open for adaptation in any number of ways, has a more up-to-date
>language, and even has a means of compiling into a stand-alone
>application, thanks to 'cfront'. The legacy of SAOL scores is also
>arguably less significant, so compatibility at the command-line level is
>scarcely an issue. After all, SAOL is expected to be embedded in set-top
>boxes ere long!
>
>In the end, it depends how stronly the moral imperative that Csound
>~should~ be at the 'leading edge' as a functioning softsynth, in the
>terms described. As it stands, it is a treasure-trove of dsp ideas, of
>unique educational value, a feature that I value highly. The issue then
>is one of modernity v fragmentation (unless it can be done exclusively
>using Java and/or TCL/TK), an issue which simply does not arise for
>SAOL. Csound ~is~ it's source code, but that is not strictly true of
>SAOL - 'saolc' is merely an example implementation.
>
>If we treat the score and orc syntax similarly, as a specification (as
>we can reasonably do), there is no reason why some new program cannot be
>written which implements it in a more modern form. The sticking point is
>then the title (in the legal sense), as my understanding is that
>ultimately this still belongs to MIT and Barry Vercoe.
>
>
>Richard Dobson
>
>
>Michel Jullian wrote:
>>
>> Michael Gogins wrote:
>>
>> > Csound could be put firmly back at the leading edge of the state of the
art
>> > if:
>> >
>> > Csound gets plugin unit generators and function tables with a SIMPLE, I
mean
>> > REALLY simple, API.
>> > Csound gets double-precision signal processing (Buzz and Generator use
>> > floats).
>> > Csound gets low-latency MIDI and audio input and output that works more
or
>> > less the same on its major platforms.
>> > Csound gets an at least semi-snazzy GUI including unit generator
wiring.
>> > Csound gets an external API for programmatic control.
>> > Csound can act as a VST plugin.
>>
>> This last point is _very_ good idea (the other points too). The VST 2
sdk,
>> featuring full midi control of plugin synths (AFAIK it's the only plugin
>> architecture with this feature) and a multiplatform GUI API, is due out
any
>> day now (watch out for it on steinberg's vst devs list
>> ). Furthermore it is open not only to plugin
>> developers but also to host developers, which should help it become a
standard.
>>
>> What would be really nice would be if csound could "compile" orcs as vst
>> plugins, somehow, instead of (or as well as) acting as a vst plugin.
>>
>> --
>> Greetings,
>> Michel
>> .........................................................................
>> Michel Jullian Directeur General email mj@exbang.com
>> Exbang Industries S.A.
>> Mas Chauvain route de Villeneuve tel +33(0) 499 529 878
>> Maurin 34970 Lattes France fax +33(0) 499 529 879
>> .........................................................................
dupswapdrop: the music-dsp mailing list and website
http://shoko.calarts.edu/~glmrboy/musicdsp/music-dsp.html
Received: from shaun.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa06850;
17 Jun 99 0:22 BST
Received: from [144.173.6.14] (helo=exeter.ac.uk)
by shaun.maths.bath.ac.uk with esmtp (Exim 2.12 #1)
id 10uP1A-0007fz-00
for jpff@maths.bath.ac.uk; Thu, 17 Jun 1999 00:22:52 +0100
Received: from noether [144.173.8.10] by hermes via SMTP (AAA16215); Thu, 17 Jun 1999 00:19:16 +0100 (BST)
Received: from exeter.ac.uk by maths.ex.ac.uk; Thu, 17 Jun 1999 00:19:05 +0100
Received: from smtp2.mindspring.com [207.69.200.32] by hermes via ESMTP (AAA04400); Thu, 17 Jun 1999 00:19:04 +0100 (BST)
Received: from Realizer (user-2ive1m3.dialup.mindspring.com [165.247.6.195])
by smtp2.mindspring.com (8.8.5/8.8.5) with SMTP id TAA11507;
Wed, 16 Jun 1999 19:19:11 -0400 (EDT)
Message-ID: <008401beb84e$b4be8fe0$79d496c0@Realizer.ngt.sungard.com>
From: Michael Gogins
To: music-dsp@shoko.calarts.edu
MMDF-Warning: Parse error in original version of preceding line at UK.AC.Bath.maths.omphalos
Cc: CSOUND
Subject: Re: Csound and other synthesis systems
Date: Wed, 16 Jun 1999 19:19:38 -0400
MIME-Version: 1.0
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.3110.1
X-MimeOLE: Produced By Microsoft MimeOLE V4.72.3110.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk
Thanks for your response to this discussion. I remember your exhibition of
SuperCollider at the last ICMC and was quite impressed.
I would love if it SuperCollider:
(a) ran on Windows
(b) had plugin unit generators (or words in its language - is that even
possible?)
(c) had an external API
(d) ran on Windows
-----Original Message-----
From: James McCartney
To: music-dsp@shoko.calarts.edu
Cc: CSOUND
Date: Wednesday, June 16, 1999 3:56 PM
Subject: Re: Csound and other synthesis systems
>At 9:53 AM -0600 6/16/99, Robin Whittle wrote:
>
>>I guess such a patching system can be done in any language - but I
>>would much rather write orchestra code than muck around with a GUI on
>>that level! Patching instruments together, as Quasimodo does, with
>>the GUI interface for each instrument defined it its part of the
>>orchestra file . . . . yes I think can be very useful.
>>
>>
>>Personally I think the Csound orchestra and score language should be
>>left behind. If I was writing a system from scratch it would not use
>>any special language at all - it would be a special framework for
>>writing C++ to get on with real-time sound synthesis and all I/O and
>>GUI things you might like to hang of that.
>
>Computer music software can be a lot more than just a synth engine
>of statically allocated ugens attached to a GUI. This framework is
>just too limiting compared to what is possible.
>If this is the vision of what is ideal then I think you have not
brainstormed
>enough about what the real interesting problems are.
>There is a lot more I want to "hang on" my DSP engine than a GUI.
>Once you get your ideal system how will you attach interesting behaviours
>to it? Using C++ to write intelligent players or gesture mappings, or
>list processing score manipulation would be very painful.
>
>I think many people do not still grok the kind of things you can do
>with a dynamic system like SC or Kyma which is why so many of the same
>kind of system keep coming out: GUI+DSP but no brains.
>In SC, you can write an algorithmic process to build your patch in real
>time, e.g. mapping velocity to how complex a patch you build.
>Values in your score can themselves be patches that plug into your
>instrument input. For example you could have a note in your score
>be a patch of ugens. Then that voice's patch will get built with that
>sub-patch plugged into its input instead of just a float value.
>Instruments can spawn sub patches recursively to any depth. etc..
>
>That is why I think having a language is important. There is only
>so much you can do with a static framework. Static frameworks are not
>much better than just having cheap sound hardware. A powerful language
>gives you a lot more ability to do what computers can be good at which
>is manipulating abstractions. And C++ is just not a very highly abstract
>language.
>
>
> --- james mccartney james@audiosynth.com http://www.audiosynth.com
>If you have a PowerMac check out SuperCollider2, a real time synth program:
>
>
>
>
>
>
>dupswapdrop: the music-dsp mailing list and website
>http://shoko.calarts.edu/~glmrboy/musicdsp/music-dsp.html
>
Received: from shaun.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa06859;
17 Jun 99 0:25 BST
Received: from [156.3.140.104] (helo=shoko.calarts.edu)
by shaun.maths.bath.ac.uk with esmtp (Exim 2.12 #1)
id 10uP3H-0007g1-00
for jpff@maths.bath.ac.uk; Thu, 17 Jun 1999 00:25:03 +0100
Received: (from majordom@localhost)
by shoko.calarts.edu (8.9.3/8.9.3) id QAA03892
for music-dsp-outgoing; Wed, 16 Jun 1999 16:10:14 -0700 (PDT)
X-Authentication-Warning: shoko.calarts.edu: majordom set sender to owner-music-dsp@shoko.calarts.edu using -f
Received: from smtp2.mindspring.com (smtp2.mindspring.com [207.69.200.32])
by shoko.calarts.edu (8.9.3/8.9.3) with ESMTP id QAA03878
for ; Wed, 16 Jun 1999 16:10:12 -0700 (PDT)
Received: from Realizer (user-2ive1m3.dialup.mindspring.com [165.247.6.195])
by smtp2.mindspring.com (8.8.5/8.8.5) with SMTP id TAA24428;
Wed, 16 Jun 1999 19:09:56 -0400 (EDT)
Message-ID: <004001beb84d$6adfd880$79d496c0@Realizer.ngt.sungard.com>
From: Michael Gogins
To: Robin Whittle , music-dsp@shoko.calarts.edu
MMDF-Warning: Parse error in original version of preceding line at UK.AC.Bath.maths.omphalos
Cc: CSOUND
Subject: Re: Csound and other synthesis systems
Date: Wed, 16 Jun 1999 19:10:23 -0400
MIME-Version: 1.0
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.3110.1
X-MimeOLE: Produced By Microsoft MimeOLE V4.72.3110.3
Sender: owner-music-dsp@shoko.calarts.edu
Precedence: bulk
Reply-To: music-dsp@shoko.calarts.edu
I'm afraid you missed one major thrust of my message. I am in fact quite
concerned about multi-platform capability. My system Silence runs on both
Windows and Linux (thanks to Dave Pnillips). If Csound is a "pure ANSI C
runtime library" engine and implements Java native methods, and the Csound
GUI and extras are all done in Java, then the whole system is cross-platform
without much, if indeed any, extra work at all.
-----Original Message-----
From: Robin Whittle
To: music-dsp@shoko.calarts.edu
Cc: CSOUND
Date: Wednesday, June 16, 1999 12:01 PM
Subject: Re: Csound and other synthesis systems
>Michael Gogins mounted his soapbox on the limitations of Csound. He
>seemed to be focused on a Windows-based patchable-synthesiser view of
>software synthesis.
>
>Here's the view from my particular soapbox.
>
>There is much more to software synthesis and Csound than being like a
>Moog modular on MIDI, but such a thing would certainly be a marvel and
>would be widely used, including by me!
>
>There are those of us who do not want to run things on Windows if we
>can help it. (I find Windows a seriously unreliable and frustrating
>operating system, despite its creature comforts which I know and
>love. I have no interest in owning a Mac - too expensive and weird.)
>We want open-source free software which runs on an open-source
>operating system - most obviously Linux. We want all the compilers
>etc. to be open-source too.
>
dupswapdrop: the music-dsp mailing list and website
http://shoko.calarts.edu/~glmrboy/musicdsp/music-dsp.html
Received: from shaun.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa06866;
17 Jun 99 0:26 BST
Received: from [156.3.140.104] (helo=shoko.calarts.edu)
by shaun.maths.bath.ac.uk with esmtp (Exim 2.12 #1)
id 10uP57-0007g3-00
for jpff@maths.bath.ac.uk; Thu, 17 Jun 1999 00:26:57 +0100
Received: (from majordom@localhost)
by shoko.calarts.edu (8.9.3/8.9.3) id QAA03952
for music-dsp-outgoing; Wed, 16 Jun 1999 16:11:45 -0700 (PDT)
X-Authentication-Warning: shoko.calarts.edu: majordom set sender to owner-music-dsp@shoko.calarts.edu using -f
Received: from smtp2.mindspring.com (smtp2.mindspring.com [207.69.200.32])
by shoko.calarts.edu (8.9.3/8.9.3) with ESMTP id QAA03948
for ; Wed, 16 Jun 1999 16:11:43 -0700 (PDT)
Received: from Realizer (user-2ive1m3.dialup.mindspring.com [165.247.6.195])
by smtp2.mindspring.com (8.8.5/8.8.5) with SMTP id TAA15342;
Wed, 16 Jun 1999 19:11:34 -0400 (EDT)
Message-ID: <005201beb84d$a46dbb80$79d496c0@Realizer.ngt.sungard.com>
From: Michael Gogins
To: pete moss , Robin Whittle
Cc: music-dsp@shoko.calarts.edu, CSOUND
MMDF-Warning: Parse error in original version of preceding line at UK.AC.Bath.maths.omphalos
Subject: Re: Csound and other synthesis systems
Date: Wed, 16 Jun 1999 19:12:00 -0400
MIME-Version: 1.0
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.3110.1
X-MimeOLE: Produced By Microsoft MimeOLE V4.72.3110.3
Sender: owner-music-dsp@shoko.calarts.edu
Precedence: bulk
Reply-To: music-dsp@shoko.calarts.edu
Correct me if I'm wrong - but doesn't cmusic have many fewer unit generators
than Csound and no real-time MIDI input or audio output?
-----Original Message-----
From: pete moss
To: Robin Whittle
Cc: music-dsp@shoko.calarts.edu ; CSOUND
Date: Wednesday, June 16, 1999 1:54 PM
Subject: Re: Csound and other synthesis systems
>isnt that what cmusic does? except with c, (no ++).
>
>:P
>
>
>Robin Whittle wrote:
>> Personally I think the Csound orchestra and score language should be
>> left behind. If I was writing a system from scratch it would not use
>> any special language at all - it would be a special framework for
>> writing C++ to get on with real-time sound synthesis and all I/O and
>> GUI things you might like to hang of that. It would do non-real-time
>> work as well, and the same principles would probably apply to
>> generating video images too. The C++ core elements would interface to
>> things in other languages, for instance novel score languages or
>> whatever you liked to create.
dupswapdrop: the music-dsp mailing list and website
http://shoko.calarts.edu/~glmrboy/musicdsp/music-dsp.html
Received: from shaun.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa06892;
17 Jun 99 0:30 BST
Received: from [156.3.140.104] (helo=shoko.calarts.edu)
by shaun.maths.bath.ac.uk with esmtp (Exim 2.12 #1)
id 10uP8s-0007g7-00
for jpff@maths.bath.ac.uk; Thu, 17 Jun 1999 00:30:51 +0100
Received: (from majordom@localhost)
by shoko.calarts.edu (8.9.3/8.9.3) id QAA04083
for music-dsp-outgoing; Wed, 16 Jun 1999 16:19:15 -0700 (PDT)
X-Authentication-Warning: shoko.calarts.edu: majordom set sender to owner-music-dsp@shoko.calarts.edu using -f
Received: from smtp2.mindspring.com (smtp2.mindspring.com [207.69.200.32])
by shoko.calarts.edu (8.9.3/8.9.3) with ESMTP id QAA04079
for ; Wed, 16 Jun 1999 16:19:13 -0700 (PDT)
Received: from Realizer (user-2ive1m3.dialup.mindspring.com [165.247.6.195])
by smtp2.mindspring.com (8.8.5/8.8.5) with SMTP id TAA11507;
Wed, 16 Jun 1999 19:19:11 -0400 (EDT)
Message-ID: <008401beb84e$b4be8fe0$79d496c0@Realizer.ngt.sungard.com>
From: Michael Gogins
To: music-dsp@shoko.calarts.edu
MMDF-Warning: Parse error in original version of preceding line at UK.AC.Bath.maths.omphalos
Cc: CSOUND
Subject: Re: Csound and other synthesis systems
Date: Wed, 16 Jun 1999 19:19:38 -0400
MIME-Version: 1.0
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.3110.1
X-MimeOLE: Produced By Microsoft MimeOLE V4.72.3110.3
Sender: owner-music-dsp@shoko.calarts.edu
Precedence: bulk
Reply-To: music-dsp@shoko.calarts.edu
Thanks for your response to this discussion. I remember your exhibition of
SuperCollider at the last ICMC and was quite impressed.
I would love if it SuperCollider:
(a) ran on Windows
(b) had plugin unit generators (or words in its language - is that even
possible?)
(c) had an external API
(d) ran on Windows
-----Original Message-----
From: James McCartney
To: music-dsp@shoko.calarts.edu
Cc: CSOUND
Date: Wednesday, June 16, 1999 3:56 PM
Subject: Re: Csound and other synthesis systems
>At 9:53 AM -0600 6/16/99, Robin Whittle wrote:
>
>>I guess such a patching system can be done in any language - but I
>>would much rather write orchestra code than muck around with a GUI on
>>that level! Patching instruments together, as Quasimodo does, with
>>the GUI interface for each instrument defined it its part of the
>>orchestra file . . . . yes I think can be very useful.
>>
>>
>>Personally I think the Csound orchestra and score language should be
>>left behind. If I was writing a system from scratch it would not use
>>any special language at all - it would be a special framework for
>>writing C++ to get on with real-time sound synthesis and all I/O and
>>GUI things you might like to hang of that.
>
>Computer music software can be a lot more than just a synth engine
>of statically allocated ugens attached to a GUI. This framework is
>just too limiting compared to what is possible.
>If this is the vision of what is ideal then I think you have not
brainstormed
>enough about what the real interesting problems are.
>There is a lot more I want to "hang on" my DSP engine than a GUI.
>Once you get your ideal system how will you attach interesting behaviours
>to it? Using C++ to write intelligent players or gesture mappings, or
>list processing score manipulation would be very painful.
>
>I think many people do not still grok the kind of things you can do
>with a dynamic system like SC or Kyma which is why so many of the same
>kind of system keep coming out: GUI+DSP but no brains.
>In SC, you can write an algorithmic process to build your patch in real
>time, e.g. mapping velocity to how complex a patch you build.
>Values in your score can themselves be patches that plug into your
>instrument input. For example you could have a note in your score
>be a patch of ugens. Then that voice's patch will get built with that
>sub-patch plugged into its input instead of just a float value.
>Instruments can spawn sub patches recursively to any depth. etc..
>
>That is why I think having a language is important. There is only
>so much you can do with a static framework. Static frameworks are not
>much better than just having cheap sound hardware. A powerful language
>gives you a lot more ability to do what computers can be good at which
>is manipulating abstractions. And C++ is just not a very highly abstract
>language.
>
>
> --- james mccartney james@audiosynth.com http://www.audiosynth.com
>If you have a PowerMac check out SuperCollider2, a real time synth program:
>
>
>
>
>
>
>dupswapdrop: the music-dsp mailing list and website
>http://shoko.calarts.edu/~glmrboy/musicdsp/music-dsp.html
>
dupswapdrop: the music-dsp mailing list and website
http://shoko.calarts.edu/~glmrboy/musicdsp/music-dsp.html
Received: from shaun.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa06905;
17 Jun 99 0:33 BST
Received: from [144.173.6.14] (helo=exeter.ac.uk)
by shaun.maths.bath.ac.uk with esmtp (Exim 2.12 #1)
id 10uPB8-0007gE-00
for jpff@maths.bath.ac.uk; Thu, 17 Jun 1999 00:33:10 +0100
Received: from noether [144.173.8.10] by hermes via SMTP (AAA03507); Thu, 17 Jun 1999 00:29:38 +0100 (BST)
Received: from exeter.ac.uk by maths.ex.ac.uk; Thu, 17 Jun 1999 00:29:27 +0100
Received: from out2.ibm.net [165.87.194.229] by hermes via ESMTP (AAA13866); Thu, 17 Jun 1999 00:29:26 +0100 (BST)
Received: from ibm.net (slip-32-100-209-38.dc.us.ibm.net [32.100.209.38]) by out2.ibm.net (8.8.5/8.6.9) with ESMTP id XAA199600; Wed, 16 Jun 1999 23:29:16 GMT
Message-ID: <37683468.A7A3088A@ibm.net>
Date: Wed, 16 Jun 1999 19:34:00 -0400
From: "Job M. van Zuijlen"
Reply-To: zuijlen@ibm.net
Organization: electona
X-Mailer: Mozilla 4.5 [en] (Win98; U)
X-Accept-Language: en
MIME-Version: 1.0
To: music-dsp , CSOUND
Subject: Re: Csound and other synthesis systems
References: <004701beb7f3$941829a0$79d496c0@Realizer.ngt.sungard.com> <3767C406.2254ACDB@exbang.com>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk
If we're talking plug-ins, I would like the approach to be a little bit
more general than Steinberg's VST. I do not and do not want to use
Steinberg products, so VST support would be of no interest to me.
Job van Zuijlen
Michel Jullian wrote:
>
> Michael Gogins wrote:
>
> > Csound can act as a VST plugin.
>
> This last point is _very_ good idea (the other points too). The VST 2 sdk,
> featuring full midi control of plugin synths (AFAIK it's the only plugin
> architecture with this feature) and a multiplatform GUI API, is due out any
> day now (watch out for it on steinberg's vst devs list
> ). Furthermore it is open not only to plugin
> developers but also to host developers, which should help it become a standard.
>
> What would be really nice would be if csound could "compile" orcs as vst
> plugins, somehow, instead of (or as well as) acting as a vst plugin.
>
Received: from wallace.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa07109;
17 Jun 99 2:46 BST
Received: from [144.173.6.14] (helo=exeter.ac.uk)
by wallace.maths.bath.ac.uk with esmtp (Exim 2.12 #1)
id 10uRFu-00024d-00
for jpff@maths.bath.ac.uk; Thu, 17 Jun 1999 02:46:15 +0100
Received: from noether [144.173.8.10] by hermes via SMTP (CAA12394); Thu, 17 Jun 1999 02:42:37 +0100 (BST)
Received: from exeter.ac.uk by maths.ex.ac.uk; Thu, 17 Jun 1999 02:42:26 +0100
Received: from ares.flash.net [209.30.0.41] by hermes via ESMTP (CAA15114); Thu, 17 Jun 1999 02:42:25 +0100 (BST)
Received: from bigfoot.com (p225-78.atnt4.dialup.ftw1.flash.net [209.30.225.78])
by ares.flash.net (8.9.3/8.9.3) with ESMTP id UAA19865;
Wed, 16 Jun 1999 20:42:27 -0500 (CDT)
Message-ID: <37685309.4F25A09D@bigfoot.com>
Date: Wed, 16 Jun 1999 20:44:41 -0500
From: pete moss
Organization: pete moss GmbH
X-Mailer: Mozilla 4.6 [en] (Win98; I)
X-Accept-Language: en
MIME-Version: 1.0
To: music-dsp@shoko.calarts.edu
CC: CSOUND
Subject: Re: Csound and other synthesis systems
References: <005201beb84d$a46dbb80$79d496c0@Realizer.ngt.sungard.com>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk
i dont know. aal i do know is that it offers the framework similar to
what robin was saying. i have never actually used it, cause i got
csound!
:P
Michael Gogins wrote:
>
> Correct me if I'm wrong - but doesn't cmusic have many fewer unit generators
> than Csound and no real-time MIDI input or audio output?
>
> -----Original Message-----
> From: pete moss
> To: Robin Whittle
> Cc: music-dsp@shoko.calarts.edu ; CSOUND
>
> Date: Wednesday, June 16, 1999 1:54 PM
> Subject: Re: Csound and other synthesis systems
>
> >isnt that what cmusic does? except with c, (no ++).
> >
> >:P
> >
> >
> >Robin Whittle wrote:
> >> Personally I think the Csound orchestra and score language should be
> >> left behind. If I was writing a system from scratch it would not use
> >> any special language at all - it would be a special framework for
> >> writing C++ to get on with real-time sound synthesis and all I/O and
> >> GUI things you might like to hang of that. It would do non-real-time
> >> work as well, and the same principles would probably apply to
> >> generating video images too. The C++ core elements would interface to
> >> things in other languages, for instance novel score languages or
> >> whatever you liked to create.
>
> dupswapdrop: the music-dsp mailing list and website
> http://shoko.calarts.edu/~glmrboy/musicdsp/music-dsp.html
Received: from wallace.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa07121;
17 Jun 99 2:53 BST
Received: from [156.3.140.104] (helo=shoko.calarts.edu)
by wallace.maths.bath.ac.uk with esmtp (Exim 2.12 #1)
id 10uRMf-00024i-00
for jpff@maths.bath.ac.uk; Thu, 17 Jun 1999 02:53:14 +0100
Received: (from majordom@localhost)
by shoko.calarts.edu (8.9.3/8.9.3) id SAA08848
for music-dsp-outgoing; Wed, 16 Jun 1999 18:42:36 -0700 (PDT)
X-Authentication-Warning: shoko.calarts.edu: majordom set sender to owner-music-dsp@shoko.calarts.edu using -f
Received: from ares.flash.net (ares.flash.net [209.30.0.41])
by shoko.calarts.edu (8.9.3/8.9.3) with ESMTP id SAA08844
for ; Wed, 16 Jun 1999 18:42:34 -0700 (PDT)
Received: from bigfoot.com (p225-78.atnt4.dialup.ftw1.flash.net [209.30.225.78])
by ares.flash.net (8.9.3/8.9.3) with ESMTP id UAA19865;
Wed, 16 Jun 1999 20:42:27 -0500 (CDT)
Message-ID: <37685309.4F25A09D@bigfoot.com>
Date: Wed, 16 Jun 1999 20:44:41 -0500
From: pete moss
Organization: pete moss GmbH
X-Mailer: Mozilla 4.6 [en] (Win98; I)
X-Accept-Language: en
MIME-Version: 1.0
To: music-dsp@shoko.calarts.edu
CC: CSOUND
Subject: Re: Csound and other synthesis systems
References: <005201beb84d$a46dbb80$79d496c0@Realizer.ngt.sungard.com>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-music-dsp@shoko.calarts.edu
Precedence: bulk
Reply-To: music-dsp@shoko.calarts.edu
i dont know. aal i do know is that it offers the framework similar to
what robin was saying. i have never actually used it, cause i got
csound!
:P
Michael Gogins wrote:
>
> Correct me if I'm wrong - but doesn't cmusic have many fewer unit generators
> than Csound and no real-time MIDI input or audio output?
>
> -----Original Message-----
> From: pete moss
> To: Robin Whittle
> Cc: music-dsp@shoko.calarts.edu ; CSOUND
>
> Date: Wednesday, June 16, 1999 1:54 PM
> Subject: Re: Csound and other synthesis systems
>
> >isnt that what cmusic does? except with c, (no ++).
> >
> >:P
> >
> >
> >Robin Whittle wrote:
> >> Personally I think the Csound orchestra and score language should be
> >> left behind. If I was writing a system from scratch it would not use
> >> any special language at all - it would be a special framework for
> >> writing C++ to get on with real-time sound synthesis and all I/O and
> >> GUI things you might like to hang of that. It would do non-real-time
> >> work as well, and the same principles would probably apply to
> >> generating video images too. The C++ core elements would interface to
> >> things in other languages, for instance novel score languages or
> >> whatever you liked to create.
>
> dupswapdrop: the music-dsp mailing list and website
> http://shoko.calarts.edu/~glmrboy/musicdsp/music-dsp.html
dupswapdrop: the music-dsp mailing list and website
http://shoko.calarts.edu/~glmrboy/musicdsp/music-dsp.html
Received: from wallace.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa07128;
17 Jun 99 2:54 BST
Received: from [144.173.6.14] (helo=exeter.ac.uk)
by wallace.maths.bath.ac.uk with esmtp (Exim 2.12 #1)
id 10uRO8-00024o-00
for jpff@maths.bath.ac.uk; Thu, 17 Jun 1999 02:54:44 +0100
Received: from noether [144.173.8.10] by hermes via SMTP (CAA03576); Thu, 17 Jun 1999 02:51:14 +0100 (BST)
Received: from exeter.ac.uk by maths.ex.ac.uk; Thu, 17 Jun 1999 02:51:03 +0100
Received: from smtp0.mindspring.com [207.69.200.30] by hermes via ESMTP (CAA01739); Thu, 17 Jun 1999 02:51:02 +0100 (BST)
Received: from Realizer (user-2ive0am.dialup.mindspring.com [165.247.1.86])
by smtp0.mindspring.com (8.8.5/8.8.5) with SMTP id VAA27896;
Wed, 16 Jun 1999 21:51:06 -0400 (EDT)
Message-ID: <000801beb863$ecfb0720$79d496c0@Realizer.ngt.sungard.com>
From: Michael Gogins
To: music-dsp@shoko.calarts.edu, CSOUND
MMDF-Warning: Parse error in original version of preceding line at UK.AC.Bath.maths.omphalos
Subject: Re: Csound and other synthesis systems
Date: Wed, 16 Jun 1999 21:51:31 -0400
MIME-Version: 1.0
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.3110.1
X-MimeOLE: Produced By Microsoft MimeOLE V4.72.3110.3
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk
I would seriously consider (at this point I feel I would be quite eager) to
collaborate with you on a port of SuperCollider -- not to Linux
specifically, but to Java. In other words, the SuperCollider virtual machine
would be implement native methods in a Java class. If JavaSound proves
usable, then porting to Java would be porting to Windows and Solaris for
certain, to Linux almost certainly, and probably to the Mac as well.
Other objectives:
Open Source (not a fixed unalterable requirement)
Plugin unit generators and language primitives with some rather extensive
consultation and discussion and comparison of existing designs (Csound,
Buzz, VST round two, DirectShow)
Is there any way that the SuperCollider language would lend itself to
implementation of those so-popular unit generator wiring forms? Now that I
have played with Generator a little, I rather like them.
-----Original Message-----
From: James McCartney
To: music-dsp@shoko.calarts.edu ; CSOUND
Date: Wednesday, June 16, 1999 7:00 PM
Subject: Re: Csound and other synthesis systems
>At 6:26 AM -0600 6/16/99, Michael Gogins wrote:
>
>>Other
>>programs of note that I don't talk about here are SuperCollider and
>>GrainWave.
>
>OK, but...
>
>>What is needed here is a reasonable compromise between the power and
>>amenability for experimentation of a bare-bones piece of academic UNIX
>>software, and a user-friendly GUI and user-extensible plugin architecture,
>>with realtime performance AND non-realtime soundfile rendering. This is
the
>>wonderful musical instrument that is evolving before our very eyes (and
>>ears), and Csound already contains all the necessary guts for the thing.
>
>If expressive power is what you want then why go with Csound?
>
>Csound : assembly language :: SuperCollider : Smalltalk
>
>(OK this is crossposted to the Csound list so I can see those
>flames rolling in.. 8-0 )
>
>Seriously, I would be interested in any serious proposals for
>collaboration on a port of SuperCollider to Linux.
>I think a SuperCollider + GTK on Linux would be very cool.
>
>SuperCollider was written from the beginning to be used in real time.
>All operations were conceived and written with that in mind. For example
>variable delay lines of any maximum length can be allocated and used
>immediately without needing to be zeroed out first. (SC can do non
>real time just fine too.)
>
>Right now SC is closed source, however I have been considering
>opening the source to the language virtual machine.
>Plugins of UGens and language primitives are both possible.
>SC was designed for easy plugging in of language primitives.
>The virtual machine should be easily portable, there is no
>Mac specific code in there.
>
>--
>
>SuperCollider is a dynamically typed, real time garbage collected,
>fully object oriented language like Smalltalk with support for true
closures,
>coroutines, positional or keyword arguments, variable length argument
>lists, default argument values, etc.
>It has a class library of 341 classes including a full set
>of Collection classes like Dictionary, Set, SortedList, etc.
>There are currently over 200 unit generators.
>
>--
>
>
> --- james mccartney james@audiosynth.com http://www.audiosynth.com
>If you have a PowerMac check out SuperCollider2, a real time synth program:
>
>
>
>
>
>
>dupswapdrop: the music-dsp mailing list and website
>http://shoko.calarts.edu/~glmrboy/musicdsp/music-dsp.html
>
Received: from shaun.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa07152;
17 Jun 99 3:01 BST
Received: from [156.3.140.104] (helo=shoko.calarts.edu)
by shaun.maths.bath.ac.uk with esmtp (Exim 2.12 #1)
id 10uRUA-0007mU-00
for jpff@maths.bath.ac.uk; Thu, 17 Jun 1999 03:00:58 +0100
Received: (from majordom@localhost)
by shoko.calarts.edu (8.9.3/8.9.3) id SAA09044
for music-dsp-outgoing; Wed, 16 Jun 1999 18:51:13 -0700 (PDT)
X-Authentication-Warning: shoko.calarts.edu: majordom set sender to owner-music-dsp@shoko.calarts.edu using -f
Received: from smtp0.mindspring.com (smtp0.mindspring.com [207.69.200.30])
by shoko.calarts.edu (8.9.3/8.9.3) with ESMTP id SAA09040
for ; Wed, 16 Jun 1999 18:51:08 -0700 (PDT)
Received: from Realizer (user-2ive0am.dialup.mindspring.com [165.247.1.86])
by smtp0.mindspring.com (8.8.5/8.8.5) with SMTP id VAA27896;
Wed, 16 Jun 1999 21:51:06 -0400 (EDT)
Message-ID: <000801beb863$ecfb0720$79d496c0@Realizer.ngt.sungard.com>
From: Michael Gogins
To: music-dsp@shoko.calarts.edu, CSOUND
MMDF-Warning: Parse error in original version of preceding line at UK.AC.Bath.maths.omphalos
Subject: Re: Csound and other synthesis systems
Date: Wed, 16 Jun 1999 21:51:31 -0400
MIME-Version: 1.0
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 4.72.3110.1
X-MimeOLE: Produced By Microsoft MimeOLE V4.72.3110.3
Sender: owner-music-dsp@shoko.calarts.edu
Precedence: bulk
Reply-To: music-dsp@shoko.calarts.edu
I would seriously consider (at this point I feel I would be quite eager) to
collaborate with you on a port of SuperCollider -- not to Linux
specifically, but to Java. In other words, the SuperCollider virtual machine
would be implement native methods in a Java class. If JavaSound proves
usable, then porting to Java would be porting to Windows and Solaris for
certain, to Linux almost certainly, and probably to the Mac as well.
Other objectives:
Open Source (not a fixed unalterable requirement)
Plugin unit generators and language primitives with some rather extensive
consultation and discussion and comparison of existing designs (Csound,
Buzz, VST round two, DirectShow)
Is there any way that the SuperCollider language would lend itself to
implementation of those so-popular unit generator wiring forms? Now that I
have played with Generator a little, I rather like them.
-----Original Message-----
From: James McCartney
To: music-dsp@shoko.calarts.edu ; CSOUND
Date: Wednesday, June 16, 1999 7:00 PM
Subject: Re: Csound and other synthesis systems
>At 6:26 AM -0600 6/16/99, Michael Gogins wrote:
>
>>Other
>>programs of note that I don't talk about here are SuperCollider and
>>GrainWave.
>
>OK, but...
>
>>What is needed here is a reasonable compromise between the power and
>>amenability for experimentation of a bare-bones piece of academic UNIX
>>software, and a user-friendly GUI and user-extensible plugin architecture,
>>with realtime performance AND non-realtime soundfile rendering. This is
the
>>wonderful musical instrument that is evolving before our very eyes (and
>>ears), and Csound already contains all the necessary guts for the thing.
>
>If expressive power is what you want then why go with Csound?
>
>Csound : assembly language :: SuperCollider : Smalltalk
>
>(OK this is crossposted to the Csound list so I can see those
>flames rolling in.. 8-0 )
>
>Seriously, I would be interested in any serious proposals for
>collaboration on a port of SuperCollider to Linux.
>I think a SuperCollider + GTK on Linux would be very cool.
>
>SuperCollider was written from the beginning to be used in real time.
>All operations were conceived and written with that in mind. For example
>variable delay lines of any maximum length can be allocated and used
>immediately without needing to be zeroed out first. (SC can do non
>real time just fine too.)
>
>Right now SC is closed source, however I have been considering
>opening the source to the language virtual machine.
>Plugins of UGens and language primitives are both possible.
>SC was designed for easy plugging in of language primitives.
>The virtual machine should be easily portable, there is no
>Mac specific code in there.
>
>--
>
>SuperCollider is a dynamically typed, real time garbage collected,
>fully object oriented language like Smalltalk with support for true
closures,
>coroutines, positional or keyword arguments, variable length argument
>lists, default argument values, etc.
>It has a class library of 341 classes including a full set
>of Collection classes like Dictionary, Set, SortedList, etc.
>There are currently over 200 unit generators.
>
>--
>
>
> --- james mccartney james@audiosynth.com http://www.audiosynth.com
>If you have a PowerMac check out SuperCollider2, a real time synth program:
>
>
>
>
>
>
>dupswapdrop: the music-dsp mailing list and website
>http://shoko.calarts.edu/~glmrboy/musicdsp/music-dsp.html
>
dupswapdrop: the music-dsp mailing list and website
http://shoko.calarts.edu/~glmrboy/musicdsp/music-dsp.html
Received: from wallace.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa07205;
17 Jun 99 3:17 BST
Received: from [144.173.6.14] (helo=exeter.ac.uk)
by wallace.maths.bath.ac.uk with esmtp (Exim 2.12 #1)
id 10uRkE-000257-00
for jpff@maths.bath.ac.uk; Thu, 17 Jun 1999 03:17:34 +0100
Received: from noether [144.173.8.10] by hermes via SMTP (DAA11425); Thu, 17 Jun 1999 03:13:56 +0100 (BST)
Received: from sunny.ex.ac.uk by maths.ex.ac.uk; Thu, 17 Jun 1999 03:13:45 +0100
Received: from root@renoir.op.net [209.152.193.4] by sunny via ESMTP (DAA08595); Thu, 17 Jun 1999 03:13:54 +0100 (BST)
Received: from someip.ppp.op.net (d-bm2-05.ppp.op.net [209.152.194.37]) by renoir.op.net (o1/$Revision: 1.18 $) with ESMTP id WAA10493; Wed, 16 Jun 1999 22:12:31 -0400 (EDT)
Message-Id: <199906170212.WAA10493@renoir.op.net>
To: music-dsp@shoko.calarts.edu
Cc: csound@maths.ex.ac.uk
Subject: Re: Csound and other synthesis systems
Date: Wed, 16 Jun 1999 22:20:57 -0400
From: Paul Barton-Davis
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk
James McCartney writes:
>SuperCollider is a dynamically typed, real time garbage collected,
>fully object oriented language like Smalltalk with support for true closures,
>coroutines, positional or keyword arguments, variable length argument
>lists, default argument values, etc.
>It has a class library of 341 classes including a full set
>of Collection classes like Dictionary, Set, SortedList, etc.
>There are currently over 200 unit generators.
While I share your conviction neither Csound nor C++ are the right
language to write complex algorithmic processes/patches/whatever, that
doesn't mean that I think that the same language should be used for
both those complex algorithmic processes and the specification of what
is essentially a DSP program.
There is no justification for a DSP program to contain concepts such
as a Dictionary or a SortedList; on the other hand, there is no
justification for a sophisticated algorithmic language to be
constrained by the execution model embodied in a DSP program.
Furthermore, I don't want to have to be stuck with only a single
language to program a DSP with - Csound is bad enough, and I don't
believe that any other language is perfect for this. What's really
important is not the visible language but the inner parse tree that is
used to represent DSP programs written in any language. Quasimodo has
the basic structure to support multiple DSP languages by compiling
them all down to the same internal form, and these different languages
are themselves intended to be "plugins".
But to return to my point: I don't *want* a dynamically typed, real
time garbage collected, fully object oriented language to write DSP
code in. I *do* want such a language to write higher level
abstractions in, and possibly to have it automatically generate DSP
code. From what I could read of SuperCollider, this separation doesn't
exist. This is not necessarily so bad if one can use the language
simply. But its important to take a lesson from the history of Csound:
things that are cool and useful ultimately end up as opcodes, not as
things written in Csound's orc language. This means that many cool
"modules" consist of very little more than a couple of opcode
calls.
I also don't understand anything of what you said about note on
velocity controlling the complexity of a patch. I think you must be
describing something rather different than what I think of as a patch,
which is essentially the specification of what things are connected
together. The best I can imagine is that velocity is used to
essentially choose one of a particular set of possible
interconnections before any actual sound is generated, but there is no
particular reason for this to be part of the language, and in fact,
its a lot less flexible than doing this switching visually, via a
velocity zone map that acts as a switch to route note information to a
particular patch. This can be modified without editing a program, and
in theory, the velocity can be patched through something else (e.g. a
limiter, or an expander, or whatever) before being used by the zone
map. Modular synthesis did have a point to it :)
--p
Received: from wallace.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa07229;
17 Jun 99 3:21 BST
Received: from [156.3.140.104] (helo=shoko.calarts.edu)
by wallace.maths.bath.ac.uk with esmtp (Exim 2.12 #1)
id 10uRnk-00025D-00
for jpff@maths.bath.ac.uk; Thu, 17 Jun 1999 03:21:12 +0100
Received: (from majordom@localhost)
by shoko.calarts.edu (8.9.3/8.9.3) id TAA09295
for music-dsp-outgoing; Wed, 16 Jun 1999 19:12:36 -0700 (PDT)
X-Authentication-Warning: shoko.calarts.edu: majordom set sender to owner-music-dsp@shoko.calarts.edu using -f
Received: from renoir.op.net (root@renoir.op.net [209.152.193.4])
by shoko.calarts.edu (8.9.3/8.9.3) with ESMTP id TAA09290
for ; Wed, 16 Jun 1999 19:12:34 -0700 (PDT)
Received: from someip.ppp.op.net (d-bm2-05.ppp.op.net [209.152.194.37]) by renoir.op.net (o1/$Revision: 1.18 $) with ESMTP id WAA10493; Wed, 16 Jun 1999 22:12:31 -0400 (EDT)
Message-Id: <199906170212.WAA10493@renoir.op.net>
To: music-dsp@shoko.calarts.edu
Cc: csound@maths.ex.ac.uk
Subject: Re: Csound and other synthesis systems
Date: Wed, 16 Jun 1999 22:20:57 -0400
From: Paul Barton-Davis
Sender: owner-music-dsp@shoko.calarts.edu
Precedence: bulk
Reply-To: music-dsp@shoko.calarts.edu
James McCartney writes:
>SuperCollider is a dynamically typed, real time garbage collected,
>fully object oriented language like Smalltalk with support for true closures,
>coroutines, positional or keyword arguments, variable length argument
>lists, default argument values, etc.
>It has a class library of 341 classes including a full set
>of Collection classes like Dictionary, Set, SortedList, etc.
>There are currently over 200 unit generators.
While I share your conviction neither Csound nor C++ are the right
language to write complex algorithmic processes/patches/whatever, that
doesn't mean that I think that the same language should be used for
both those complex algorithmic processes and the specification of what
is essentially a DSP program.
There is no justification for a DSP program to contain concepts such
as a Dictionary or a SortedList; on the other hand, there is no
justification for a sophisticated algorithmic language to be
constrained by the execution model embodied in a DSP program.
Furthermore, I don't want to have to be stuck with only a single
language to program a DSP with - Csound is bad enough, and I don't
believe that any other language is perfect for this. What's really
important is not the visible language but the inner parse tree that is
used to represent DSP programs written in any language. Quasimodo has
the basic structure to support multiple DSP languages by compiling
them all down to the same internal form, and these different languages
are themselves intended to be "plugins".
But to return to my point: I don't *want* a dynamically typed, real
time garbage collected, fully object oriented language to write DSP
code in. I *do* want such a language to write higher level
abstractions in, and possibly to have it automatically generate DSP
code. From what I could read of SuperCollider, this separation doesn't
exist. This is not necessarily so bad if one can use the language
simply. But its important to take a lesson from the history of Csound:
things that are cool and useful ultimately end up as opcodes, not as
things written in Csound's orc language. This means that many cool
"modules" consist of very little more than a couple of opcode
calls.
I also don't understand anything of what you said about note on
velocity controlling the complexity of a patch. I think you must be
describing something rather different than what I think of as a patch,
which is essentially the specification of what things are connected
together. The best I can imagine is that velocity is used to
essentially choose one of a particular set of possible
interconnections before any actual sound is generated, but there is no
particular reason for this to be part of the language, and in fact,
its a lot less flexible than doing this switching visually, via a
velocity zone map that acts as a switch to route note information to a
particular patch. This can be modified without editing a program, and
in theory, the velocity can be patched through something else (e.g. a
limiter, or an expander, or whatever) before being used by the zone
map. Modular synthesis did have a point to it :)
--p
dupswapdrop: the music-dsp mailing list and website
http://shoko.calarts.edu/~glmrboy/musicdsp/music-dsp.html
Received: from wallace.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa07257;
17 Jun 99 3:36 BST
Received: from [144.173.6.14] (helo=exeter.ac.uk)
by wallace.maths.bath.ac.uk with esmtp (Exim 2.12 #1)
id 10uS2T-00025c-00
for jpff@maths.bath.ac.uk; Thu, 17 Jun 1999 03:36:25 +0100
Received: from noether [144.173.8.10] by hermes via SMTP (DAA15998); Thu, 17 Jun 1999 03:32:44 +0100 (BST)
Received: from exeter.ac.uk by maths.ex.ac.uk; Thu, 17 Jun 1999 03:32:33 +0100
Received: from first1.lnk.telstra.net [139.130.48.118] by hermes via ESMTP (DAA15111); Thu, 17 Jun 1999 03:32:29 +0100 (BST)
Received: from firstpr.com.au (wira.firstpr.com.au [203.36.57.201])
by gair.firstpr.com.au (8.8.7/8.8.7) with ESMTP id MAA14396;
Thu, 17 Jun 1999 12:39:48 +1000
Message-ID: <37685D9D.1FE8EE04@firstpr.com.au>
Date: Thu, 17 Jun 1999 12:29:49 +1000
From: Robin Whittle
Organization: First Principles & Real World Interfaces
X-Mailer: Mozilla 4.6 [en] (Win98; I)
X-Accept-Language: en
MIME-Version: 1.0
To: pete moss
CC: music-dsp@shoko.calarts.edu, CSOUND
Subject: cmusic Was: Csound and other synthesis systems
References: <004701beb7f3$941829a0$79d496c0@Realizer.ngt.sungard.com> <3767C895.4B7F857A@firstpr.com.au> <3767E49F.E1679F6B@bigfoot.com>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk
Pete Moss pointed out that what I described as my long term plan (a
framework for C++ to support realtime synthesis) is akin to cmusic.
I think this is true. This post looks at what I understand about
cmusic and how it only produces a single sample of audio per ugen
call, compared to Csound which produces ksmps samples, and so can be
very much faster.
Looking at Dave Philip's marvellous link-farm on software synthesis:
http://www.bright.net/~dlphilp/linux_soundapps.html
leads me to Tim Thompson's venerable PLUM page on music languages,
which should be at:
http://www.nosuch.com/plum
but this file is absent at present. (I emailed Tim.)
Searching for "cmusic" is tricky, but I found something from 1994 at:
ftp://ccrma-ftp.stanford.edu/pub/cmusic/
I also found some descriptive text at:
http://www.gsu.edu/webfs01/mus/musrst/public_html/cara/courses/
Csound_Users_Seminar/acoustic.html
which states that cmusic was written in 1980 by F. R. (Dick) Moore.
Like Csound, cmusic's lineage is traceable to Music V.
Please correct me if I am wrong, but it is my understanding that both
Music V and cmusic call the code for a unit-generator, and that code
produces just one sample of audio output. Csound's distinguishing
characteristic is that it has a variable "ksmps" which tells the unit
generator how many samples to calculate. ksmps can be 1, but then
Csound runs rather slowly, as would Music V and cmusic. Generally
ksmps is 5 to 25 or so - and so the overhead of running the central
loops and calling unit generator functions is spread over the
production of many more audio samples.
Csound therefore has "k" and "a" rate signals, with the orchestra file
determining the ksmps rato between them. This makes for some ugly
complications trying to maintain and translate between two separate
kinds of variable, but it makes Csound run ***lots*** faster. This is
particularly true in "draft" mode where you set ksmps rather high to
test the composition out, albeit with lousy sound quality. When the
composition is complete, then set ksmps to 2 or 3 and leave the
computer cooking overnight to produce the final rendering.
Speed is absolutely crucial in this field, since computers are still
slow compared to the rich analogue world of zillion-path reverberation
which we know and love.
I remember trying to understand cmusic a few years ago, but I never
got very far. Perhaps it was because I discovered it could not run as
fast as Csound.
Does anyone have more information about cmusic?
Generally with other software synthesis programs I have looked, I lost
interest when I found that either they did not support ksmps samples
per call (this includes most programs and Kyma/Capybara
http://www.symbolicsound.com ), or they start with a particular
high-level model of what constitutes "music" which doesn't suit me.
Kyma looks amazing and is certainly an inspiration, but it runs on
specialised hardware, uses integers rather than floats and has a
limited memory capacity per CPU.
- Robin
===============================================================
Robin Whittle rw@firstpr.com.au http://www.firstpr.com.au
Heidelberg Heights, Melbourne, Australia
First Principles Research and expression: Consulting and
technical writing. Music. Internet music
marketing. Telecommunications. Consumer
advocacy in telecommunications, especially
privacy. M-F relationships. Kinetic sculpture.
Real World Electronics and software for music including:
Interfaces Devil Fish mods for the TB-303, Akai sampler
memory and Csound synthesis software.
===============================================================
Received: from wallace.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa07267;
17 Jun 99 3:43 BST
Received: from [156.3.140.104] (helo=shoko.calarts.edu)
by wallace.maths.bath.ac.uk with esmtp (Exim 2.12 #1)
id 10uS8z-00025g-00
for jpff@maths.bath.ac.uk; Thu, 17 Jun 1999 03:43:09 +0100
Received: (from majordom@localhost)
by shoko.calarts.edu (8.9.3/8.9.3) id TAA09710
for music-dsp-outgoing; Wed, 16 Jun 1999 19:32:36 -0700 (PDT)
X-Authentication-Warning: shoko.calarts.edu: majordom set sender to owner-music-dsp@shoko.calarts.edu using -f
Received: from gair.firstpr.com.au (first1.lnk.telstra.net [139.130.48.118])
by shoko.calarts.edu (8.9.3/8.9.3) with ESMTP id TAA09706
for ; Wed, 16 Jun 1999 19:32:33 -0700 (PDT)
Received: from firstpr.com.au (wira.firstpr.com.au [203.36.57.201])
by gair.firstpr.com.au (8.8.7/8.8.7) with ESMTP id MAA14396;
Thu, 17 Jun 1999 12:39:48 +1000
Message-ID: <37685D9D.1FE8EE04@firstpr.com.au>
Date: Thu, 17 Jun 1999 12:29:49 +1000
From: Robin Whittle
Organization: First Principles & Real World Interfaces
X-Mailer: Mozilla 4.6 [en] (Win98; I)
X-Accept-Language: en
MIME-Version: 1.0
To: pete moss
CC: music-dsp@shoko.calarts.edu, CSOUND
Subject: cmusic Was: Csound and other synthesis systems
References: <004701beb7f3$941829a0$79d496c0@Realizer.ngt.sungard.com> <3767C895.4B7F857A@firstpr.com.au> <3767E49F.E1679F6B@bigfoot.com>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-music-dsp@shoko.calarts.edu
Precedence: bulk
Reply-To: music-dsp@shoko.calarts.edu
Pete Moss pointed out that what I described as my long term plan (a
framework for C++ to support realtime synthesis) is akin to cmusic.
I think this is true. This post looks at what I understand about
cmusic and how it only produces a single sample of audio per ugen
call, compared to Csound which produces ksmps samples, and so can be
very much faster.
Looking at Dave Philip's marvellous link-farm on software synthesis:
http://www.bright.net/~dlphilp/linux_soundapps.html
leads me to Tim Thompson's venerable PLUM page on music languages,
which should be at:
http://www.nosuch.com/plum
but this file is absent at present. (I emailed Tim.)
Searching for "cmusic" is tricky, but I found something from 1994 at:
ftp://ccrma-ftp.stanford.edu/pub/cmusic/
I also found some descriptive text at:
http://www.gsu.edu/webfs01/mus/musrst/public_html/cara/courses/
Csound_Users_Seminar/acoustic.html
which states that cmusic was written in 1980 by F. R. (Dick) Moore.
Like Csound, cmusic's lineage is traceable to Music V.
Please correct me if I am wrong, but it is my understanding that both
Music V and cmusic call the code for a unit-generator, and that code
produces just one sample of audio output. Csound's distinguishing
characteristic is that it has a variable "ksmps" which tells the unit
generator how many samples to calculate. ksmps can be 1, but then
Csound runs rather slowly, as would Music V and cmusic. Generally
ksmps is 5 to 25 or so - and so the overhead of running the central
loops and calling unit generator functions is spread over the
production of many more audio samples.
Csound therefore has "k" and "a" rate signals, with the orchestra file
determining the ksmps rato between them. This makes for some ugly
complications trying to maintain and translate between two separate
kinds of variable, but it makes Csound run ***lots*** faster. This is
particularly true in "draft" mode where you set ksmps rather high to
test the composition out, albeit with lousy sound quality. When the
composition is complete, then set ksmps to 2 or 3 and leave the
computer cooking overnight to produce the final rendering.
Speed is absolutely crucial in this field, since computers are still
slow compared to the rich analogue world of zillion-path reverberation
which we know and love.
I remember trying to understand cmusic a few years ago, but I never
got very far. Perhaps it was because I discovered it could not run as
fast as Csound.
Does anyone have more information about cmusic?
Generally with other software synthesis programs I have looked, I lost
interest when I found that either they did not support ksmps samples
per call (this includes most programs and Kyma/Capybara
http://www.symbolicsound.com ), or they start with a particular
high-level model of what constitutes "music" which doesn't suit me.
Kyma looks amazing and is certainly an inspiration, but it runs on
specialised hardware, uses integers rather than floats and has a
limited memory capacity per CPU.
- Robin
===============================================================
Robin Whittle rw@firstpr.com.au http://www.firstpr.com.au
Heidelberg Heights, Melbourne, Australia
First Principles Research and expression: Consulting and
technical writing. Music. Internet music
marketing. Telecommunications. Consumer
advocacy in telecommunications, especially
privacy. M-F relationships. Kinetic sculpture.
Real World Electronics and software for music including:
Interfaces Devil Fish mods for the TB-303, Akai sampler
memory and Csound synthesis software.
===============================================================
dupswapdrop: the music-dsp mailing list and website
http://shoko.calarts.edu/~glmrboy/musicdsp/music-dsp.html
Received: from shaun.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa07319;
17 Jun 99 4:23 BST
Received: from [144.173.6.14] (helo=exeter.ac.uk)
by shaun.maths.bath.ac.uk with esmtp (Exim 2.12 #1)
id 10uSlb-0007oV-00
for jpff@maths.bath.ac.uk; Thu, 17 Jun 1999 04:23:03 +0100
Received: from noether [144.173.8.10] by hermes via SMTP (EAA13647); Thu, 17 Jun 1999 04:19:36 +0100 (BST)
Received: from exeter.ac.uk by maths.ex.ac.uk; Thu, 17 Jun 1999 04:19:25 +0100
Received: from rothko.bestweb.net [209.94.100.160] by hermes via ESMTP (EAA12005); Thu, 17 Jun 1999 04:19:24 +0100 (BST)
Received: from goodguy (dialin-17.poughkeepsie.bestweb.net [209.94.109.51])
by rothko.bestweb.net (8.9.1a/8.9.0) with SMTP id XAA10378;
Wed, 16 Jun 1999 23:16:50 -0400 (EDT)
Message-ID: <37684988.4433C3BC@westnet.com>
Date: Thu, 17 Jun 1999 01:04:08 +0000
From: Larry Troxler
X-Mailer: Mozilla 3.01 (X11; I; Linux 2.0.31 i586)
MIME-Version: 1.0
To: Robin Whittle
CC: pete moss , music-dsp@shoko.calarts.edu,
CSOUND
Subject: ksmps Was: Re: cmusic Was: Csound and other synthesis systems
References: <004701beb7f3$941829a0$79d496c0@Realizer.ngt.sungard.com> <3767C895.4B7F857A@firstpr.com.au> <3767E49F.E1679F6B@bigfoot.com> <37685D9D.1FE8EE04@firstpr.com.au>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk
> Please correct me if I am wrong, but it is my understanding that both
> Music V and cmusic call the code for a unit-generator, and that code
> produces just one sample of audio output. Csound's distinguishing
> characteristic is that it has a variable "ksmps" which tells the unit
> generator how many samples to calculate. ksmps can be 1, but then
> Csound runs rather slowly, as would Music V and cmusic. Generally
> ksmps is 5 to 25 or so - and so the overhead of running the central
> loops and calling unit generator functions is spread over the
> production of many more audio samples.
>
> Csound therefore has "k" and "a" rate signals, with the orchestra file
> determining the ksmps rato between them. This makes for some ugly
> complications trying to maintain and translate between two separate
> kinds of variable, but it makes Csound run ***lots*** faster. This is
> particularly true in "draft" mode where you set ksmps rather high to
> test the composition out, albeit with lousy sound quality. When the
> composition is complete, then set ksmps to 2 or 3 and leave the
> computer cooking overnight to produce the final rendering.
>
Now this ksmps != asmps issue is something that I've always wondered
about, as far as performance. My first question, would be how many orcs
and scores require ksmps == 1? Isn't it a lot? The times I worked with
Csound, I often needed to set ksmps==1 to allow instruments that use
audio feedback to work properly. I don't mean cases where it just
wouldn't sound as good. I mean rather, any case where you use feeback,
in which case things won't work at all, unless you forget about multiple
ksmps per audio frame. Perhaps however, I am not enough Csound-aware to
know of all the work-arounds in certain situations to avoid having to
use ksamps==1. But it seems that *any* instruement in a composition that
uses audio feedback will require ksmps=1 to realize the entire
composition! (unless of course, Make or something similar is used,
togethre with audio mixer scripts, in which case Csound can be invoked
on a per-part basis, with the parts mixed together afterward)
I am actually quite surprised that use ksamps>1 results in "***lots***"
faster efficiency! Is this true for processors with tiny cache only
(this would make sense - run a tight, small loop in each ugen, which
will run entirely in cache) , or does it somehow also result in
improvements for situations where the entire audio chain can be cached?
But to get to my point - assuming that there are indeed a lot of cases
where you need ksmps==1, then doesn't this result in some serious
innefficiency for this common case? Don't all the audio ugens need to
use a loop to process all thee samples in one ksmps-size buffer? And for
the common case where ksmps==1, you would think that this would be
horribly slow compare to an implementation where the ugens would not
loop, but simply process one sample (or better yet, Csound would
generate C code to implement each instrument - ala CLM)
What am I missing here? Is it just accepted that Csound isn't exactly
built for speed, but is enticing to use because of its large opcode
seleection?
Larry
Received: from wallace.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa07329;
17 Jun 99 4:28 BST
Received: from [156.3.140.104] (helo=shoko.calarts.edu)
by wallace.maths.bath.ac.uk with esmtp (Exim 2.12 #1)
id 10uSql-00027E-00
for jpff@maths.bath.ac.uk; Thu, 17 Jun 1999 04:28:24 +0100
Received: (from majordom@localhost)
by shoko.calarts.edu (8.9.3/8.9.3) id UAA10451
for music-dsp-outgoing; Wed, 16 Jun 1999 20:19:25 -0700 (PDT)
X-Authentication-Warning: shoko.calarts.edu: majordom set sender to owner-music-dsp@shoko.calarts.edu using -f
Received: from rothko.bestweb.net (rothko.bestweb.net [209.94.100.160])
by shoko.calarts.edu (8.9.3/8.9.3) with ESMTP id UAA10447
for ; Wed, 16 Jun 1999 20:19:23 -0700 (PDT)
Received: from goodguy (dialin-17.poughkeepsie.bestweb.net [209.94.109.51])
by rothko.bestweb.net (8.9.1a/8.9.0) with SMTP id XAA10378;
Wed, 16 Jun 1999 23:16:50 -0400 (EDT)
Message-ID: <37684988.4433C3BC@westnet.com>
Date: Thu, 17 Jun 1999 01:04:08 +0000
From: Larry Troxler
X-Mailer: Mozilla 3.01 (X11; I; Linux 2.0.31 i586)
MIME-Version: 1.0
To: Robin Whittle
CC: pete moss , music-dsp@shoko.calarts.edu,
CSOUND
Subject: ksmps Was: Re: cmusic Was: Csound and other synthesis systems
References: <004701beb7f3$941829a0$79d496c0@Realizer.ngt.sungard.com> <3767C895.4B7F857A@firstpr.com.au> <3767E49F.E1679F6B@bigfoot.com> <37685D9D.1FE8EE04@firstpr.com.au>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-music-dsp@shoko.calarts.edu
Precedence: bulk
Reply-To: music-dsp@shoko.calarts.edu
> Please correct me if I am wrong, but it is my understanding that both
> Music V and cmusic call the code for a unit-generator, and that code
> produces just one sample of audio output. Csound's distinguishing
> characteristic is that it has a variable "ksmps" which tells the unit
> generator how many samples to calculate. ksmps can be 1, but then
> Csound runs rather slowly, as would Music V and cmusic. Generally
> ksmps is 5 to 25 or so - and so the overhead of running the central
> loops and calling unit generator functions is spread over the
> production of many more audio samples.
>
> Csound therefore has "k" and "a" rate signals, with the orchestra file
> determining the ksmps rato between them. This makes for some ugly
> complications trying to maintain and translate between two separate
> kinds of variable, but it makes Csound run ***lots*** faster. This is
> particularly true in "draft" mode where you set ksmps rather high to
> test the composition out, albeit with lousy sound quality. When the
> composition is complete, then set ksmps to 2 or 3 and leave the
> computer cooking overnight to produce the final rendering.
>
Now this ksmps != asmps issue is something that I've always wondered
about, as far as performance. My first question, would be how many orcs
and scores require ksmps == 1? Isn't it a lot? The times I worked with
Csound, I often needed to set ksmps==1 to allow instruments that use
audio feedback to work properly. I don't mean cases where it just
wouldn't sound as good. I mean rather, any case where you use feeback,
in which case things won't work at all, unless you forget about multiple
ksmps per audio frame. Perhaps however, I am not enough Csound-aware to
know of all the work-arounds in certain situations to avoid having to
use ksamps==1. But it seems that *any* instruement in a composition that
uses audio feedback will require ksmps=1 to realize the entire
composition! (unless of course, Make or something similar is used,
togethre with audio mixer scripts, in which case Csound can be invoked
on a per-part basis, with the parts mixed together afterward)
I am actually quite surprised that use ksamps>1 results in "***lots***"
faster efficiency! Is this true for processors with tiny cache only
(this would make sense - run a tight, small loop in each ugen, which
will run entirely in cache) , or does it somehow also result in
improvements for situations where the entire audio chain can be cached?
But to get to my point - assuming that there are indeed a lot of cases
where you need ksmps==1, then doesn't this result in some serious
innefficiency for this common case? Don't all the audio ugens need to
use a loop to process all thee samples in one ksmps-size buffer? And for
the common case where ksmps==1, you would think that this would be
horribly slow compare to an implementation where the ugens would not
loop, but simply process one sample (or better yet, Csound would
generate C code to implement each instrument - ala CLM)
What am I missing here? Is it just accepted that Csound isn't exactly
built for speed, but is enticing to use because of its large opcode
seleection?
Larry
dupswapdrop: the music-dsp mailing list and website
http://shoko.calarts.edu/~glmrboy/musicdsp/music-dsp.html
Received: from shaun.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa07360;
17 Jun 99 4:45 BST
Received: from [144.173.6.14] (helo=exeter.ac.uk)
by shaun.maths.bath.ac.uk with esmtp (Exim 2.12 #1)
id 10uT7T-0007ob-00
for jpff@maths.bath.ac.uk; Thu, 17 Jun 1999 04:45:40 +0100
Received: from noether [144.173.8.10] by hermes via SMTP (EAA16008); Thu, 17 Jun 1999 04:42:11 +0100 (BST)
Received: from exeter.ac.uk by maths.ex.ac.uk; Thu, 17 Jun 1999 04:42:00 +0100
Received: from out4.ibm.net [165.87.194.239] by hermes via ESMTP (EAA01574); Thu, 17 Jun 1999 04:41:59 +0100 (BST)
Received: from ibm.net (slip-32-101-77-186.dc.us.ibm.net [32.101.77.186]) by out4.ibm.net (8.8.5/8.6.9) with ESMTP id DAA88992; Thu, 17 Jun 1999 03:41:42 GMT
Message-ID: <37686F90.589D06EF@ibm.net>
Date: Wed, 16 Jun 1999 23:46:24 -0400
From: "Job M. van Zuijlen"
Reply-To: zuijlen@ibm.net
Organization: electona
X-Mailer: Mozilla 4.5 [en] (Win98; U)
X-Accept-Language: en
MIME-Version: 1.0
To: Robin Whittle
CC: music-dsp@shoko.calarts.edu, CSOUND
Subject: Re: cmusic Was: Csound and other synthesis systems
References: <004701beb7f3$941829a0$79d496c0@Realizer.ngt.sungard.com> <3767C895.4B7F857A@firstpr.com.au> <3767E49F.E1679F6B@bigfoot.com> <37685D9D.1FE8EE04@firstpr.com.au>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk
There is a book by F. Richard Moore called "Elements of Computer Music",
which includes information about cmusic. The book is published by
Prentice Hall in 1990 (ISBN 0-13-252552-6). I bought in 1990, I don't
know if it's still available.
One impression I have from cmusic is that it doesn't have an active user
community in the sense that Csound has one, and that it doesn't really
evolve at the moment. A reason for me to ignore it. The book is
interesting though, in particular for people who want to implement their
own stuff.
Job van Zuijlen
Robin Whittle wrote:
>
>
> Does anyone have more information about cmusic?
>
>
Received: from shaun.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa07435;
17 Jun 99 5:24 BST
Received: from [144.173.6.14] (helo=exeter.ac.uk)
by shaun.maths.bath.ac.uk with esmtp (Exim 2.12 #1)
id 10uTjD-0007oz-00
for jpff@maths.bath.ac.uk; Thu, 17 Jun 1999 05:24:39 +0100
Received: from noether [144.173.8.10] by hermes via SMTP (FAA17707); Thu, 17 Jun 1999 05:20:51 +0100 (BST)
Received: from exeter.ac.uk by maths.ex.ac.uk; Thu, 17 Jun 1999 05:20:38 +0100
Received: from first1.lnk.telstra.net [139.130.48.118] by hermes via ESMTP (FAA00835); Thu, 17 Jun 1999 05:20:35 +0100 (BST)
Received: from firstpr.com.au (wira.firstpr.com.au [203.36.57.201])
by gair.firstpr.com.au (8.8.7/8.8.7) with ESMTP id OAA14681;
Thu, 17 Jun 1999 14:28:11 +1000
Message-ID: <37687703.14129C5D@firstpr.com.au>
Date: Thu, 17 Jun 1999 14:18:11 +1000
From: Robin Whittle
Organization: First Principles & Real World Interfaces
X-Mailer: Mozilla 4.6 [en] (Win98; I)
X-Accept-Language: en
MIME-Version: 1.0
To: music-dsp@shoko.calarts.edu
CC: pete moss , CSOUND
Subject: Re: ksmps Was: Re: cmusic Was: Csound and other synthesis systems
References: <004701beb7f3$941829a0$79d496c0@Realizer.ngt.sungard.com> <3767C895.4B7F857A@firstpr.com.au> <3767E49F.E1679F6B@bigfoot.com> <37685D9D.1FE8EE04@firstpr.com.au> <37684988.4433C3BC@westnet.com>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk
I agree with what Larry Troxler wrote about how important it is for
ksmps to be 1 in some applications - particularly those involving
audio feedback.
Ideally a system would enable some parts to be executed with various
ksmps rates. It is a tall order, and the sort of thing I am
contemplating for "Topsy" which is pure vapour-ware at present and
likely to remain so for several years at least.
Larger ksmps values certainly does speed calculations!
In one elaborate Csound piece I did in 1996 (admittedly this was on a
100MHz AMD 486) ksmps=10 was 2.1 times faster than ksmps=3. Life is
too short to try this at ksmps=1, since it took 36 hours to cook at my
final rendering quality of ksmps=3. The piece had a mix of general
simple Csound ugens and extensive use of a very large ugen of my own.
For me, there are enough things which can be done with ksmps > 1 to
make it worth the trouble. It is easy to dream of complexities of
sound creation and reverberation which would tie up any amount of
computing resources - so processing speed directly translates into the
final sonic sophistication of the music and/or the ability of the
composer to run it time and again whilst refining it.
For instance I figured out how many paths of sound reach the head in a
rectangular room, from a single source, allowing for direct, single
wall, two wall, etc. up to six wall reflections. Not counting the
sound hitting the same wall twice (and therefore not counting real
reverberation), there were about 1956 paths - each which would ideally
be processed by a CPU intensive binaural algorithm.
The physical world is a very rich place, and if we want to do anything
of similar finesse on a CPU, it is worth finding the fastest way of
doing it.
- Robin
===============================================================
Robin Whittle rw@firstpr.com.au http://www.firstpr.com.au
Heidelberg Heights, Melbourne, Australia
First Principles Research and expression: Consulting and
technical writing. Music. Internet music
marketing. Telecommunications. Consumer
advocacy in telecommunications, especially
privacy. M-F relationships. Kinetic sculpture.
Real World Electronics and software for music including:
Interfaces Devil Fish mods for the TB-303, Akai sampler
memory and Csound synthesis software.
===============================================================
Received: from wallace.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa07446;
17 Jun 99 5:29 BST
Received: from [144.173.6.14] (helo=exeter.ac.uk)
by wallace.maths.bath.ac.uk with esmtp (Exim 2.12 #1)
id 10uTns-00027s-00
for jpff@maths.bath.ac.uk; Thu, 17 Jun 1999 05:29:28 +0100
Received: from noether [144.173.8.10] by hermes via SMTP (FAA16136); Thu, 17 Jun 1999 05:26:04 +0100 (BST)
Received: from exeter.ac.uk by maths.ex.ac.uk; Thu, 17 Jun 1999 05:25:53 +0100
Received: from dns2.seanet.com [199.181.164.2] by hermes via ESMTP (FAA08972); Thu, 17 Jun 1999 05:25:52 +0100 (BST)
Received: from seanet.com (cy27.dialup.seanet.com [207.12.136.27]) by mx.seanet.com (8.9.3/Seanet-8.7.3) with ESMTP id VAA17919; Wed, 16 Jun 1999 21:25:59 -0700 (PDT)
Message-ID: <37687A4B.802B0107@seanet.com>
Date: Wed, 16 Jun 1999 21:32:11 -0700
From: Sean Costello
X-Mailer: Mozilla 4.05 [en] (Win95; I)
MIME-Version: 1.0
To: Michael Gogins
CC: music-dsp@shoko.calarts.edu, CSOUND
Subject: Re: Csound and other synthesis systems
References: <008401beb84e$b4be8fe0$79d496c0@Realizer.ngt.sungard.com>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk
Michael Gogins wrote:
> I would love if it SuperCollider:
>
> (a) ran on Windows
> (b) had plugin unit generators (or words in its language - is that even
> possible?)
> (c) had an external API
> (d) ran on Windows
I would like to put my vote in for Linux, or BeOS, or anything that runs on an Intel-type processor.
I will buy BeOS in a second, just to run SuperCollider. I have seen SuperCollider demoed, and am
very impressed. I would also like to have the capability of creating unit generators or the
equivalent (I've just completed some nice Csound ugens, and would love to use them in the
SuperCollider environment).
Sean Costello
Received: from wallace.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa07454;
17 Jun 99 5:32 BST
Received: from [156.3.140.104] (helo=shoko.calarts.edu)
by wallace.maths.bath.ac.uk with esmtp (Exim 2.12 #1)
id 10uTqJ-0002CO-00
for jpff@maths.bath.ac.uk; Thu, 17 Jun 1999 05:32:00 +0100
Received: (from majordom@localhost)
by shoko.calarts.edu (8.9.3/8.9.3) id VAA11281
for music-dsp-outgoing; Wed, 16 Jun 1999 21:20:39 -0700 (PDT)
X-Authentication-Warning: shoko.calarts.edu: majordom set sender to owner-music-dsp@shoko.calarts.edu using -f
Received: from gair.firstpr.com.au (first1.lnk.telstra.net [139.130.48.118])
by shoko.calarts.edu (8.9.3/8.9.3) with ESMTP id VAA11277
for ; Wed, 16 Jun 1999 21:20:36 -0700 (PDT)
Received: from firstpr.com.au (wira.firstpr.com.au [203.36.57.201])
by gair.firstpr.com.au (8.8.7/8.8.7) with ESMTP id OAA14681;
Thu, 17 Jun 1999 14:28:11 +1000
Message-ID: <37687703.14129C5D@firstpr.com.au>
Date: Thu, 17 Jun 1999 14:18:11 +1000
From: Robin Whittle
Organization: First Principles & Real World Interfaces
X-Mailer: Mozilla 4.6 [en] (Win98; I)
X-Accept-Language: en
MIME-Version: 1.0
To: music-dsp@shoko.calarts.edu
CC: pete moss , CSOUND
Subject: Re: ksmps Was: Re: cmusic Was: Csound and other synthesis systems
References: <004701beb7f3$941829a0$79d496c0@Realizer.ngt.sungard.com> <3767C895.4B7F857A@firstpr.com.au> <3767E49F.E1679F6B@bigfoot.com> <37685D9D.1FE8EE04@firstpr.com.au> <37684988.4433C3BC@westnet.com>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-music-dsp@shoko.calarts.edu
Precedence: bulk
Reply-To: music-dsp@shoko.calarts.edu
I agree with what Larry Troxler wrote about how important it is for
ksmps to be 1 in some applications - particularly those involving
audio feedback.
Ideally a system would enable some parts to be executed with various
ksmps rates. It is a tall order, and the sort of thing I am
contemplating for "Topsy" which is pure vapour-ware at present and
likely to remain so for several years at least.
Larger ksmps values certainly does speed calculations!
In one elaborate Csound piece I did in 1996 (admittedly this was on a
100MHz AMD 486) ksmps=10 was 2.1 times faster than ksmps=3. Life is
too short to try this at ksmps=1, since it took 36 hours to cook at my
final rendering quality of ksmps=3. The piece had a mix of general
simple Csound ugens and extensive use of a very large ugen of my own.
For me, there are enough things which can be done with ksmps > 1 to
make it worth the trouble. It is easy to dream of complexities of
sound creation and reverberation which would tie up any amount of
computing resources - so processing speed directly translates into the
final sonic sophistication of the music and/or the ability of the
composer to run it time and again whilst refining it.
For instance I figured out how many paths of sound reach the head in a
rectangular room, from a single source, allowing for direct, single
wall, two wall, etc. up to six wall reflections. Not counting the
sound hitting the same wall twice (and therefore not counting real
reverberation), there were about 1956 paths - each which would ideally
be processed by a CPU intensive binaural algorithm.
The physical world is a very rich place, and if we want to do anything
of similar finesse on a CPU, it is worth finding the fastest way of
doing it.
- Robin
===============================================================
Robin Whittle rw@firstpr.com.au http://www.firstpr.com.au
Heidelberg Heights, Melbourne, Australia
First Principles Research and expression: Consulting and
technical writing. Music. Internet music
marketing. Telecommunications. Consumer
advocacy in telecommunications, especially
privacy. M-F relationships. Kinetic sculpture.
Real World Electronics and software for music including:
Interfaces Devil Fish mods for the TB-303, Akai sampler
memory and Csound synthesis software.
===============================================================
dupswapdrop: the music-dsp mailing list and website
http://shoko.calarts.edu/~glmrboy/musicdsp/music-dsp.html
Received: from wallace.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa07463;
17 Jun 99 5:34 BST
Received: from [156.3.140.104] (helo=shoko.calarts.edu)
by wallace.maths.bath.ac.uk with esmtp (Exim 2.12 #1)
id 10uTsd-0002CS-00
for jpff@maths.bath.ac.uk; Thu, 17 Jun 1999 05:34:23 +0100
Received: (from majordom@localhost)
by shoko.calarts.edu (8.9.3/8.9.3) id VAA11375
for music-dsp-outgoing; Wed, 16 Jun 1999 21:26:03 -0700 (PDT)
X-Authentication-Warning: shoko.calarts.edu: majordom set sender to owner-music-dsp@shoko.calarts.edu using -f
Received: from mx.seanet.com (dns2.seanet.com [199.181.164.2])
by shoko.calarts.edu (8.9.3/8.9.3) with ESMTP id VAA11371
for ; Wed, 16 Jun 1999 21:26:01 -0700 (PDT)
Received: from seanet.com (cy27.dialup.seanet.com [207.12.136.27]) by mx.seanet.com (8.9.3/Seanet-8.7.3) with ESMTP id VAA17919; Wed, 16 Jun 1999 21:25:59 -0700 (PDT)
Message-ID: <37687A4B.802B0107@seanet.com>
Date: Wed, 16 Jun 1999 21:32:11 -0700
From: Sean Costello
X-Mailer: Mozilla 4.05 [en] (Win95; I)
MIME-Version: 1.0
To: Michael Gogins
CC: music-dsp@shoko.calarts.edu, CSOUND
Subject: Re: Csound and other synthesis systems
References: <008401beb84e$b4be8fe0$79d496c0@Realizer.ngt.sungard.com>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-music-dsp@shoko.calarts.edu
Precedence: bulk
Reply-To: music-dsp@shoko.calarts.edu
Michael Gogins wrote:
> I would love if it SuperCollider:
>
> (a) ran on Windows
> (b) had plugin unit generators (or words in its language - is that even
> possible?)
> (c) had an external API
> (d) ran on Windows
I would like to put my vote in for Linux, or BeOS, or anything that runs on an Intel-type processor.
I will buy BeOS in a second, just to run SuperCollider. I have seen SuperCollider demoed, and am
very impressed. I would also like to have the capability of creating unit generators or the
equivalent (I've just completed some nice Csound ugens, and would love to use them in the
SuperCollider environment).
Sean Costello
dupswapdrop: the music-dsp mailing list and website
http://shoko.calarts.edu/~glmrboy/musicdsp/music-dsp.html
Received: from shaun.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa07487;
17 Jun 99 5:56 BST
Received: from [144.173.6.14] (helo=exeter.ac.uk)
by shaun.maths.bath.ac.uk with esmtp (Exim 2.12 #1)
id 10uUEK-0007to-00
for jpff@maths.bath.ac.uk; Thu, 17 Jun 1999 05:56:48 +0100
Received: from noether [144.173.8.10] by hermes via SMTP (FAA12795); Thu, 17 Jun 1999 05:53:17 +0100 (BST)
Received: from exeter.ac.uk by maths.ex.ac.uk; Thu, 17 Jun 1999 05:53:06 +0100
Received: from mercury.acs.unt.edu [129.120.220.1] by hermes via ESMTP (FAA09181); Thu, 17 Jun 1999 05:53:05 +0100 (BST)
Received: from venus.acs.unt.edu (venus.acs.unt.edu [129.120.220.72])
by Mercury.unix.acs.cc.unt.edu (8.8.8/8.8.8) with ESMTP id XAA10321;
Wed, 16 Jun 1999 23:53:03 -0500 (CDT)
Received: from jove.acs.unt.edu (pras118.local.premium.dialup.unt.edu [129.120.217.118])
by venus.acs.unt.edu (8.8.8/8.8.8) with ESMTP id XAA10405;
Wed, 16 Jun 1999 23:53:00 -0500 (CDT)
Message-ID: <37689AC8.9F474221@jove.acs.unt.edu>
Date: Wed, 16 Jun 1999 23:50:48 -0700
From: "Michael A. Thompson"
X-Mailer: Mozilla 4.6C-SGI [en] (X11; I; IRIX 6.5 IP32)
X-Accept-Language: en
MIME-Version: 1.0
To: Paul Barton-Davis
CC: music-dsp@shoko.calarts.edu, csound@maths.ex.ac.uk
Subject: Re: Csound and other synthesis systems
References: <199906170212.WAA10493@renoir.op.net>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk
In the perfect world we will have a DSP program that has good
"real-time" performance, a GUI front end, and a very strong and powerful
back end language that is structured, objectified, and extensible and
that also covers not only the DSP-audio rate instrument design but
includes support for embedded control-rate performance oriented code.
Something that brings together the idea of the instrument and how it is
performed in one script or program. Max/MSP and SuperCollider are the
closest to this idea in my opinion. I cant stand brain dead GUI music
apps that dont give the user any control for doing music or sound design
other than pop - retro - dance related compositions or factory preset
midi music. At the same time I dont want to have to learn 500 different
languages. But I am more inclined to learn the languages than use
something that I cant control.
Michael
Paul Barton-Davis wrote:
>
> James McCartney writes:
>
> >SuperCollider is a dynamically typed, real time garbage collected,
> >fully object oriented language like Smalltalk with support for true closures,
> >coroutines, positional or keyword arguments, variable length argument
> >lists, default argument values, etc.
> >It has a class library of 341 classes including a full set
> >of Collection classes like Dictionary, Set, SortedList, etc.
> >There are currently over 200 unit generators.
>
> While I share your conviction neither Csound nor C++ are the right
> language to write complex algorithmic processes/patches/whatever, that
> doesn't mean that I think that the same language should be used for
> both those complex algorithmic processes and the specification of what
> is essentially a DSP program.
>
> There is no justification for a DSP program to contain concepts such
> as a Dictionary or a SortedList; on the other hand, there is no
> justification for a sophisticated algorithmic language to be
> constrained by the execution model embodied in a DSP program.
>
> Furthermore, I don't want to have to be stuck with only a single
> language to program a DSP with - Csound is bad enough, and I don't
> believe that any other language is perfect for this. What's really
> important is not the visible language but the inner parse tree that is
> used to represent DSP programs written in any language. Quasimodo has
> the basic structure to support multiple DSP languages by compiling
> them all down to the same internal form, and these different languages
> are themselves intended to be "plugins".
>
> But to return to my point: I don't *want* a dynamically typed, real
> time garbage collected, fully object oriented language to write DSP
> code in. I *do* want such a language to write higher level
> abstractions in, and possibly to have it automatically generate DSP
> code. From what I could read of SuperCollider, this separation doesn't
> exist. This is not necessarily so bad if one can use the language
> simply. But its important to take a lesson from the history of Csound:
> things that are cool and useful ultimately end up as opcodes, not as
> things written in Csound's orc language. This means that many cool
> "modules" consist of very little more than a couple of opcode
> calls.
>
> I also don't understand anything of what you said about note on
> velocity controlling the complexity of a patch. I think you must be
> describing something rather different than what I think of as a patch,
> which is essentially the specification of what things are connected
> together. The best I can imagine is that velocity is used to
> essentially choose one of a particular set of possible
> interconnections before any actual sound is generated, but there is no
> particular reason for this to be part of the language, and in fact,
> its a lot less flexible than doing this switching visually, via a
> velocity zone map that acts as a switch to route note information to a
> particular patch. This can be modified without editing a program, and
> in theory, the velocity can be patched through something else (e.g. a
> limiter, or an expander, or whatever) before being used by the zone
> map. Modular synthesis did have a point to it :)
>
> --p
--
----------------------------------
Michael A. Thompson
[IRIX - NeXTStep - Linux - MacOS - Windows]
Home: (940)382-2086
E-Mail: mat0001@jove.acs.unt.edu
----------------------------------
Received: from shaun.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa07496;
17 Jun 99 6:00 BST
Received: from [144.173.6.14] (helo=exeter.ac.uk)
by shaun.maths.bath.ac.uk with esmtp (Exim 2.12 #1)
id 10uUHQ-0007ts-00
for jpff@maths.bath.ac.uk; Thu, 17 Jun 1999 06:00:00 +0100
Received: from noether [144.173.8.10] by hermes via SMTP (FAA12943); Thu, 17 Jun 1999 05:56:36 +0100 (BST)
Received: from exeter.ac.uk by maths.ex.ac.uk; Thu, 17 Jun 1999 05:56:25 +0100
Received: from tt56361@kielo.uta.fi [153.1.1.10] by hermes via ESMTP (FAA06350); Thu, 17 Jun 1999 05:56:24 +0100 (BST)
Received: from localhost (tt56361@localhost) by kielo.uta.fi (8.8.7/8.8.2) with ESMTP id HAA27578; Thu, 17 Jun 1999 07:56:05 +0300 (EET DST)
Date: Thu, 17 Jun 1999 07:56:05 +0300 (EET DST)
From: Timo Tossavainen
X-Sender: tt56361@kielo
To: Robin Whittle
cc: music-dsp@shoko.calarts.edu, pete moss ,
CSOUND
Subject: Re: ksmps Was: Re: cmusic Was: Csound and other synthesis systems
In-Reply-To: <37687703.14129C5D@firstpr.com.au>
Message-ID:
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk
On Thu, 17 Jun 1999, Robin Whittle wrote:
> I agree with what Larry Troxler wrote about how important it is for
> ksmps to be 1 in some applications - particularly those involving
> audio feedback.
>
> Ideally a system would enable some parts to be executed with various
> ksmps rates. It is a tall order, and the sort of thing I am
> contemplating for "Topsy" which is pure vapour-ware at present and
> likely to remain so for several years at least.
This not actually very hard to do. Just solve the strongly connected
components of the signal flow network and at same time you get the order
of the update from the first DFS. You can use any ksmps in UG which form a
component by themselves and ksmps = 1 in components that have more UGs. In
code you have to handle the connections between the components as special
cases (ie. fill output vectors from the outputs from the components and
feed single input samples to the inputs leading to the component).
Doing this while the user dynamically alters the connections isn't
that easy. Possible ? probably.
Wouldn't it be best to implement a compiler, that compiles the UG
network to a single monolithic piece of code and then gets rid of the
function calls and unnecessary memory accesses, that are making the synth
slower at kr = sr. In that there would still be some use for using vectors
of data to keep the most of the data needed in calculations (for example,
filter coefficients) in registers. For instance have it generate C and
turn it into something like a DLL and then use that. Of course it would be
a lot easier in Lisp, since you can generate and compile code in memory
and don't need to invoke the compiler in a shell.
Timo
Received: from shaun.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa07514;
17 Jun 99 6:07 BST
Received: from [156.3.140.104] (helo=shoko.calarts.edu)
by shaun.maths.bath.ac.uk with esmtp (Exim 2.12 #1)
id 10uUOC-0007ty-00
for jpff@maths.bath.ac.uk; Thu, 17 Jun 1999 06:07:00 +0100
Received: (from majordom@localhost)
by shoko.calarts.edu (8.9.3/8.9.3) id VAA12050
for music-dsp-outgoing; Wed, 16 Jun 1999 21:56:33 -0700 (PDT)
X-Authentication-Warning: shoko.calarts.edu: majordom set sender to owner-music-dsp@shoko.calarts.edu using -f
Received: from kielo.uta.fi (tt56361@kielo.uta.fi [153.1.1.10])
by shoko.calarts.edu (8.9.3/8.9.3) with ESMTP id VAA12046
for ; Wed, 16 Jun 1999 21:56:31 -0700 (PDT)
Received: from localhost (tt56361@localhost) by kielo.uta.fi (8.8.7/8.8.2) with ESMTP id HAA27578; Thu, 17 Jun 1999 07:56:05 +0300 (EET DST)
Date: Thu, 17 Jun 1999 07:56:05 +0300 (EET DST)
From: Timo Tossavainen
X-Sender: tt56361@kielo
To: Robin Whittle
cc: music-dsp@shoko.calarts.edu, pete moss ,
CSOUND
Subject: Re: ksmps Was: Re: cmusic Was: Csound and other synthesis systems
In-Reply-To: <37687703.14129C5D@firstpr.com.au>
Message-ID:
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
Sender: owner-music-dsp@shoko.calarts.edu
Precedence: bulk
Reply-To: music-dsp@shoko.calarts.edu
On Thu, 17 Jun 1999, Robin Whittle wrote:
> I agree with what Larry Troxler wrote about how important it is for
> ksmps to be 1 in some applications - particularly those involving
> audio feedback.
>
> Ideally a system would enable some parts to be executed with various
> ksmps rates. It is a tall order, and the sort of thing I am
> contemplating for "Topsy" which is pure vapour-ware at present and
> likely to remain so for several years at least.
This not actually very hard to do. Just solve the strongly connected
components of the signal flow network and at same time you get the order
of the update from the first DFS. You can use any ksmps in UG which form a
component by themselves and ksmps = 1 in components that have more UGs. In
code you have to handle the connections between the components as special
cases (ie. fill output vectors from the outputs from the components and
feed single input samples to the inputs leading to the component).
Doing this while the user dynamically alters the connections isn't
that easy. Possible ? probably.
Wouldn't it be best to implement a compiler, that compiles the UG
network to a single monolithic piece of code and then gets rid of the
function calls and unnecessary memory accesses, that are making the synth
slower at kr = sr. In that there would still be some use for using vectors
of data to keep the most of the data needed in calculations (for example,
filter coefficients) in registers. For instance have it generate C and
turn it into something like a DLL and then use that. Of course it would be
a lot easier in Lisp, since you can generate and compile code in memory
and don't need to invoke the compiler in a shell.
Timo
dupswapdrop: the music-dsp mailing list and website
http://shoko.calarts.edu/~glmrboy/musicdsp/music-dsp.html
Received: from shaun.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa07536;
17 Jun 99 6:14 BST
Received: from [144.173.6.14] (helo=exeter.ac.uk)
by shaun.maths.bath.ac.uk with esmtp (Exim 2.12 #1)
id 10uUUz-0007u4-00
for jpff@maths.bath.ac.uk; Thu, 17 Jun 1999 06:14:01 +0100
Received: from noether [144.173.8.10] by hermes via SMTP (GAA12398); Thu, 17 Jun 1999 06:09:21 +0100 (BST)
Received: from exeter.ac.uk by maths.ex.ac.uk; Thu, 17 Jun 1999 06:09:08 +0100
Received: from sm2.texas.rr.com [24.93.35.55] by hermes via ESMTP (GAA13055); Thu, 17 Jun 1999 06:09:07 +0100 (BST)
Received: from [24.93.53.161] ([24.93.53.161]) by Mail.austin.rr.com with Microsoft SMTPSVC(5.5.1875.185.18);
Thu, 17 Jun 1999 00:06:29 -0500
X-Sender: asynth@mail.io.com
Message-Id:
In-Reply-To: <199906170212.WAA10493@renoir.op.net>
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Date: Thu, 17 Jun 1999 00:12:18 -0600
To: Paul Barton-Davis , music-dsp@shoko.calarts.edu
From: James McCartney
Subject: Re: Csound and other synthesis systems
Cc: csound@maths.ex.ac.uk
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk
At 8:20 PM -0600 6/16/99, Paul Barton-Davis wrote:
>There is no justification for a DSP program to contain concepts such
>as a Dictionary or a SortedList; on the other hand, there is no
>justification for a sophisticated algorithmic language to be
>constrained by the execution model embodied in a DSP program.
Just because you cannot justify it to yourself does not mean
that there are no justifiable uses. And the algorithmic language
is in no way constrained or vice versa. In fact you have much
greater flexibility because your algorithmic composition can get
down and mess with the building structure of your DSP algorithms.
I do this a lot. It is very powerful. Maybe you need to use your
imagination a bit more.
>But to return to my point: I don't *want* a dynamically typed, real
>time garbage collected, fully object oriented language to write DSP
>code in.
The SC language does not implement the UGens, it creates the patching
structure. Again I think that because you have never used it
or been exposed to what you can do, you do not realize the power there.
>From what I could read of SuperCollider, this separation doesn't
>exist. This is not necessarily so bad if one can use the language
>simply.
Sure you can. There is an OrcScore ugen that can be used just like
you would write a csound numeric score.
>I also don't understand anything of what you said about note on
>velocity controlling the complexity of a patch. I think you must be
>describing something rather different than what I think of as a patch,
>which is essentially the specification of what things are connected
>together. The best I can imagine is that velocity is used to
>essentially choose one of a particular set of possible
>interconnections before any actual sound is generated,
In supercollider your orchestra is not just some dead code.
Unit generators are real objects and can be manipulated and
combined in real time. In SuperCollider you are not defining
a static structure beforehand but are building a graph of
ugens in real time for each event.
For example I can write in supercollider the following:
n.do({ z = AllpassN.ar(z, 0.05, 0.05.rand, 2); });
This creates a daisy chain of n allpass delay lines. Now I can
map n to some patch argument such as velocity and that
will cause the number of allpass delays in series to be equal to n.
In other words the structure of the patch can change per event.
Now you *could* implement this as a lookup table of patches in a
static language, but then if I went and added more structural mappings
in SC, you'd begin to have a combinatorial explosion to match it in
a static language.
>particular reason for this to be part of the language, and in fact,
>its a lot less flexible than doing this switching visually, via a
>velocity zone map that acts as a switch to route note information to a
>particular patch.
There is so much more you can do than this.
For example in SC if I write a function to be a simple sine wave
instrument:
f = { arg freq = 440.0, amp = 1.0;
SinOsc.ar(freq, 0, EnvGen.ar(env, amp));
};
Now I can call it as follows giving it float arguments :
Synth.play({ f.value(800.0, 0.2); });
Or I can call it with other sub patches as arguments:
Synth.play({ f.value( XLine.kr(300, 2000, 4), SinOsc.kr(5, 0, 0.2, 0.4) ) });
Thus I am parameterizing a predefined patch function with other patches
to create a new one. This can be done from within a score. So that you
can write glissandi and such into your score and you don't have to worry
that your patch was originally built to be able to do a glissando, you
just plug in any control function per event.
Such things like evolving new programmatically constructed patches
via some performer directed process is possible in SC.
And I have not mentioned other things like doing list processing on
arrays of channels, multichannel expansion, spawning subpatches, etc.
None of this is as flexible in a static environment.
btw: In SC all scheduled event start times are sample accurate and
ksmps is settable *per event*.
--- james mccartney james@audiosynth.com http://www.audiosynth.com
If you have a PowerMac check out SuperCollider2, a real time synth program:
Received: from shaun.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa07555;
17 Jun 99 6:18 BST
Received: from [156.3.140.104] (helo=shoko.calarts.edu)
by shaun.maths.bath.ac.uk with esmtp (Exim 2.12 #1)
id 10uUZ4-0007uC-00
for jpff@maths.bath.ac.uk; Thu, 17 Jun 1999 06:18:14 +0100
Received: (from majordom@localhost)
by shoko.calarts.edu (8.9.3/8.9.3) id WAA12418
for music-dsp-outgoing; Wed, 16 Jun 1999 22:09:25 -0700 (PDT)
X-Authentication-Warning: shoko.calarts.edu: majordom set sender to owner-music-dsp@shoko.calarts.edu using -f
Received: from Mail.austin.rr.com (sm2.texas.rr.com [24.93.35.55])
by shoko.calarts.edu (8.9.3/8.9.3) with ESMTP id WAA12414
for ; Wed, 16 Jun 1999 22:09:21 -0700 (PDT)
Received: from [24.93.53.161] ([24.93.53.161]) by Mail.austin.rr.com with Microsoft SMTPSVC(5.5.1875.185.18);
Thu, 17 Jun 1999 00:06:29 -0500
X-Sender: asynth@mail.io.com
Message-Id:
In-Reply-To: <199906170212.WAA10493@renoir.op.net>
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Date: Thu, 17 Jun 1999 00:12:18 -0600
To: Paul Barton-Davis , music-dsp@shoko.calarts.edu
From: James McCartney
Subject: Re: Csound and other synthesis systems
Cc: csound@maths.ex.ac.uk
Sender: owner-music-dsp@shoko.calarts.edu
Precedence: bulk
Reply-To: music-dsp@shoko.calarts.edu
At 8:20 PM -0600 6/16/99, Paul Barton-Davis wrote:
>There is no justification for a DSP program to contain concepts such
>as a Dictionary or a SortedList; on the other hand, there is no
>justification for a sophisticated algorithmic language to be
>constrained by the execution model embodied in a DSP program.
Just because you cannot justify it to yourself does not mean
that there are no justifiable uses. And the algorithmic language
is in no way constrained or vice versa. In fact you have much
greater flexibility because your algorithmic composition can get
down and mess with the building structure of your DSP algorithms.
I do this a lot. It is very powerful. Maybe you need to use your
imagination a bit more.
>But to return to my point: I don't *want* a dynamically typed, real
>time garbage collected, fully object oriented language to write DSP
>code in.
The SC language does not implement the UGens, it creates the patching
structure. Again I think that because you have never used it
or been exposed to what you can do, you do not realize the power there.
>From what I could read of SuperCollider, this separation doesn't
>exist. This is not necessarily so bad if one can use the language
>simply.
Sure you can. There is an OrcScore ugen that can be used just like
you would write a csound numeric score.
>I also don't understand anything of what you said about note on
>velocity controlling the complexity of a patch. I think you must be
>describing something rather different than what I think of as a patch,
>which is essentially the specification of what things are connected
>together. The best I can imagine is that velocity is used to
>essentially choose one of a particular set of possible
>interconnections before any actual sound is generated,
In supercollider your orchestra is not just some dead code.
Unit generators are real objects and can be manipulated and
combined in real time. In SuperCollider you are not defining
a static structure beforehand but are building a graph of
ugens in real time for each event.
For example I can write in supercollider the following:
n.do({ z = AllpassN.ar(z, 0.05, 0.05.rand, 2); });
This creates a daisy chain of n allpass delay lines. Now I can
map n to some patch argument such as velocity and that
will cause the number of allpass delays in series to be equal to n.
In other words the structure of the patch can change per event.
Now you *could* implement this as a lookup table of patches in a
static language, but then if I went and added more structural mappings
in SC, you'd begin to have a combinatorial explosion to match it in
a static language.
>particular reason for this to be part of the language, and in fact,
>its a lot less flexible than doing this switching visually, via a
>velocity zone map that acts as a switch to route note information to a
>particular patch.
There is so much more you can do than this.
For example in SC if I write a function to be a simple sine wave
instrument:
f = { arg freq = 440.0, amp = 1.0;
SinOsc.ar(freq, 0, EnvGen.ar(env, amp));
};
Now I can call it as follows giving it float arguments :
Synth.play({ f.value(800.0, 0.2); });
Or I can call it with other sub patches as arguments:
Synth.play({ f.value( XLine.kr(300, 2000, 4), SinOsc.kr(5, 0, 0.2, 0.4) ) });
Thus I am parameterizing a predefined patch function with other patches
to create a new one. This can be done from within a score. So that you
can write glissandi and such into your score and you don't have to worry
that your patch was originally built to be able to do a glissando, you
just plug in any control function per event.
Such things like evolving new programmatically constructed patches
via some performer directed process is possible in SC.
And I have not mentioned other things like doing list processing on
arrays of channels, multichannel expansion, spawning subpatches, etc.
None of this is as flexible in a static environment.
btw: In SC all scheduled event start times are sample accurate and
ksmps is settable *per event*.
--- james mccartney james@audiosynth.com http://www.audiosynth.com
If you have a PowerMac check out SuperCollider2, a real time synth program:
dupswapdrop: the music-dsp mailing list and website
http://shoko.calarts.edu/~glmrboy/musicdsp/music-dsp.html
Received: from wallace.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa07562;
17 Jun 99 6:19 BST
Received: from [144.173.6.14] (helo=exeter.ac.uk)
by wallace.maths.bath.ac.uk with esmtp (Exim 2.12 #1)
id 10uUae-0002Cl-00
for jpff@maths.bath.ac.uk; Thu, 17 Jun 1999 06:19:52 +0100
Received: from noether [144.173.8.10] by hermes via SMTP (GAA15587); Thu, 17 Jun 1999 06:15:10 +0100 (BST)
Received: from exeter.ac.uk by maths.ex.ac.uk; Thu, 17 Jun 1999 06:14:59 +0100
Received: from sm2.texas.rr.com [24.93.35.55] by hermes via ESMTP (GAA13462); Thu, 17 Jun 1999 06:14:58 +0100 (BST)
Received: from [24.93.53.161] ([24.93.53.161]) by Mail.austin.rr.com with Microsoft SMTPSVC(5.5.1875.185.18);
Thu, 17 Jun 1999 00:12:20 -0500
X-Sender: asynth@mail.io.com
Message-Id:
In-Reply-To: <008401beb84e$b4be8fe0$79d496c0@Realizer.ngt.sungard.com>
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Date: Thu, 17 Jun 1999 00:18:09 -0600
To: music-dsp@shoko.calarts.edu
From: James McCartney
Subject: Re: Csound and other synthesis systems
Cc: CSOUND
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk
At 5:19 PM -0600 6/16/99, Michael Gogins wrote:
>Thanks for your response to this discussion. I remember your exhibition of
>SuperCollider at the last ICMC and was quite impressed.
>
>I would love if it SuperCollider:
>
>(a) ran on Windows
>(b) had plugin unit generators (or words in its language - is that even
>possible?)
>(c) had an external API
>(d) ran on Windows
b & c are planned and are more an issue of documentation than
implementation.
a & d are more religious things I guess. I am of the opinion recently
that OS's are too important to be proprietary. I am on the Mac nowadays
mostly due to historical inertia and the fact that I like the PowerPC
chip. At one time the Mac had provable UI advantages, but those are
becoming harder to justify and as an OS it is really impossible to justify.
Perhaps MacOSX will make the Mac more able to be compatible with the rest
of the posix world, but I've heard that most posix things are not a
simple recompile on MacOSX.
BeOS has some nice real time media facilities available so I like that
too though it definitely has its own problems.
I find no reason to like Windows other than market size and
that is not the reason I'm doing this. Win has all the same problems
as MacOS does and the UI is not as consistent.
If I'm on an Intel machine I'd much rather be running Linux or BeOS.
--- james mccartney james@audiosynth.com http://www.audiosynth.com
If you have a PowerMac check out SuperCollider2, a real time synth program:
Received: from shaun.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa07571;
17 Jun 99 6:23 BST
Received: from [156.3.140.104] (helo=shoko.calarts.edu)
by shaun.maths.bath.ac.uk with esmtp (Exim 2.12 #1)
id 10uUeR-0007uG-00
for jpff@maths.bath.ac.uk; Thu, 17 Jun 1999 06:23:48 +0100
Received: (from majordom@localhost)
by shoko.calarts.edu (8.9.3/8.9.3) id WAA12534
for music-dsp-outgoing; Wed, 16 Jun 1999 22:15:11 -0700 (PDT)
X-Authentication-Warning: shoko.calarts.edu: majordom set sender to owner-music-dsp@shoko.calarts.edu using -f
Received: from Mail.austin.rr.com (sm2.texas.rr.com [24.93.35.55])
by shoko.calarts.edu (8.9.3/8.9.3) with ESMTP id WAA12529
for ; Wed, 16 Jun 1999 22:15:09 -0700 (PDT)
Received: from [24.93.53.161] ([24.93.53.161]) by Mail.austin.rr.com with Microsoft SMTPSVC(5.5.1875.185.18);
Thu, 17 Jun 1999 00:12:20 -0500
X-Sender: asynth@mail.io.com
Message-Id:
In-Reply-To: <008401beb84e$b4be8fe0$79d496c0@Realizer.ngt.sungard.com>
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Date: Thu, 17 Jun 1999 00:18:09 -0600
To: music-dsp@shoko.calarts.edu
From: James McCartney
Subject: Re: Csound and other synthesis systems
Cc: CSOUND
Sender: owner-music-dsp@shoko.calarts.edu
Precedence: bulk
Reply-To: music-dsp@shoko.calarts.edu
At 5:19 PM -0600 6/16/99, Michael Gogins wrote:
>Thanks for your response to this discussion. I remember your exhibition of
>SuperCollider at the last ICMC and was quite impressed.
>
>I would love if it SuperCollider:
>
>(a) ran on Windows
>(b) had plugin unit generators (or words in its language - is that even
>possible?)
>(c) had an external API
>(d) ran on Windows
b & c are planned and are more an issue of documentation than
implementation.
a & d are more religious things I guess. I am of the opinion recently
that OS's are too important to be proprietary. I am on the Mac nowadays
mostly due to historical inertia and the fact that I like the PowerPC
chip. At one time the Mac had provable UI advantages, but those are
becoming harder to justify and as an OS it is really impossible to justify.
Perhaps MacOSX will make the Mac more able to be compatible with the rest
of the posix world, but I've heard that most posix things are not a
simple recompile on MacOSX.
BeOS has some nice real time media facilities available so I like that
too though it definitely has its own problems.
I find no reason to like Windows other than market size and
that is not the reason I'm doing this. Win has all the same problems
as MacOS does and the UI is not as consistent.
If I'm on an Intel machine I'd much rather be running Linux or BeOS.
--- james mccartney james@audiosynth.com http://www.audiosynth.com
If you have a PowerMac check out SuperCollider2, a real time synth program:
dupswapdrop: the music-dsp mailing list and website
http://shoko.calarts.edu/~glmrboy/musicdsp/music-dsp.html
Received: from wallace.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa07611;
17 Jun 99 6:54 BST
Received: from [144.173.6.14] (helo=exeter.ac.uk)
by wallace.maths.bath.ac.uk with esmtp (Exim 2.12 #1)
id 10uV7m-0002DC-00
for jpff@maths.bath.ac.uk; Thu, 17 Jun 1999 06:54:06 +0100
Received: from noether [144.173.8.10] by hermes via SMTP (GAA02035); Thu, 17 Jun 1999 06:46:51 +0100 (BST)
Received: from exeter.ac.uk by maths.ex.ac.uk; Thu, 17 Jun 1999 06:46:42 +0100
Received: from ccrma.Stanford.EDU [36.49.0.84] by hermes via ESMTP (GAA10267); Thu, 17 Jun 1999 06:46:41 +0100 (BST)
Received: from ccrma.stanford.edu ([207.97.74.43])
by ccrma.stanford.edu (8.8.8/8.8.8) with ESMTP id WAA28437;
Wed, 16 Jun 1999 22:46:46 -0700 (PDT)
Message-ID: <37688ADE.45029E23@ccrma.stanford.edu>
Date: Thu, 17 Jun 1999 01:42:54 -0400
From: Tobias Kunze
X-Mailer: Mozilla 4.51C-SGI [en] (X11; I; IRIX 6.5 IP22)
X-Accept-Language: en
MIME-Version: 1.0
To: James McCartney
CC: music-dsp@shoko.calarts.edu, csound@maths.ex.ac.uk
Subject: Re: Csound and other synthesis systems
References:
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Sender: owner-csound-outgoing@maths.ex.ac.uk
Precedence: bulk
Hi James-
I've always wondered how on earth you came up with the name
"SuperCollider" from. Could you explain? Graned, it's trivia,
but there has been so much serious discussion going on recently,
I think we could use a bit of enchantment :)
And while I'm at the mic: damn straight, most people are so
glued to their unit-generator-music-5 worldview, they simply
can't imagine the possibilities of a runtime variable signal
flow.
Cheers,
-Tobias
Received: from shaun.maths.bath.ac.uk by omphalos.maths.Bath.AC.UK id aa07621;
17 Jun 99 6:59 BST
Received: from [144.173.6.14] (helo=exeter.ac.uk)
by shaun.maths.bath.ac.uk with esmtp (Exim 2.12 #1)
id 10uVDL-0007uj-00
for jpff@maths.bath.ac.uk; Thu, 17 Jun 1999 06:59:51 +0100
Received: from noether [144.173.8.10] by hermes via SMTP (GAA01369); Thu, 17 Jun 1999 06:52:38 +0100 (BST)
Received: from exeter.ac.uk by maths.ex.ac.uk; Thu, 17 Jun 1999 06:52:27 +0100
Received: from smtp0.mindspring.com [207.69.200.30] by hermes via ESMTP (GAA12920); Thu, 17 Jun 1999 06:52:26 +0100 (BST)
Received: from Realizer (user-2ive2fr.dialup.mindspring.com [165.247.9.251])
by smtp0.mindspring.com (8.8.5/8.8.5) with SMTP id BAA09786;
Thu, 17 Jun 1999 01:52:33 -0400 (EDT)
Message-ID: <007301beb885$a1ced340$79d496c0@Realizer.ngt.sungard.com>
From: Michael Gogins
To: music-dsp@shoko.calarts.edu, James McCartney
MMDF-Warning: Parse error in original version of preceding line at UK.AC.Bath.maths.omphalos
Cc: CSOUND |