| I think, depending on your system, and your needs, there are advantages in both.
For example, in Extended Csound running on the ADI card, it is possible to send
a score line to a running orchestra in real-time, for immediate or deferred
performance ( I gather this is also possible in some of the public versions
too). This can also be done programmatically, as the ADI libraries include
functions to send score lines, for algorithmic composition and performance. And,
logically, the ~orchestra~ is mostly fixed, whereas a variety of scores may use
it. The reverse is less usually true.
The main thing I think is to be clear about what programming level you are
working at. At the lowest level, the orchestra and score are distinct, separate
entities. At a higher level, they have a clearly defined communication protocol
(In Csound, it is one-way - the orchestra does not talk back to the score, as
such).
At a higher level still, there is no reason why you should not write a wrapper
program which integrates both orchestra and score - a sort of
'composer+conductor+performer+instrument-maker' object. A bit like some modern
MIDI synths, in fact!
Richard Dobson
Richard Dobson
Koen Dejonghe wrote:
>
> Eric,
>
> You wrote:
> > format of SAOL. I attach the by-the-spec SAOL version of
> > this orchestra for comparison -- the similarities to your
> > design are remarkable! The only real design difference
> > is that the orchestra and score are separated in SAOL as
> > in Csound.
> >
>
> I think there is an advantage in writing the score as part of the
> execution of the program (orc).
> In the score file, all parameters are static, they are hardcoded. If
> they would be part of the program, then you could generate them on the
> fly, dynamically. (Of course, now with CSound/SAOL you can write a
> small C or Perl program that generates this kind of sco files for you.)
>
> E.g. you could write something like this:
>
> main ()
> {
> int i;
>
> InitCSound (16000, 1000, 1);
> ftSine = gen (0, 4096, 10, 1);
>
> for (i=0, i < 9, i++)
> {
> Toot4 (i, 1, 75, (8 + i * .01), .1, (10 - i)*.1);
> }
> }
>
> Kind regards,
>
> ==
> Koen Dejonghe
> QAD Service Line
> Origin International Competences & Alliances
> http://www.origin-it.com
> +32 2 712 3668
>
> _________________________________________________________
> DO YOU YAHOO!? |