>From: Eric Scheirer <eds@media.mit.edu>
>
> You can't do this in general in SAOL; for example:
>
> aopcode integrate(asig x) {
> asig y;
>
> y = y + x;
> return(y);
> }
>
> has to operate sample-by-sample to work right. Is there a
> good way to make this work on a block-by-block basis?
I see the problem only if x depends on the y outside of the integrator.
If the x is N samples block and don't depend on y, then is the above the
same than
initialize y[]
for(i = 0; i < N; i++) {
y[i+1] = y[i] + x[i];
}
or such?
Please, let me think about this even I may be wrong.
Obcodes could be marked as a "possible block-by-block" and a "possible
sample-by-sample" processing obcodes. The integrator is a "possible s-b-s"
and any obcode which now process signals block by block are "possible
b-b-b". The reason for the words "possible" is explaned:
(i) If the signal goes through the integrator, a "possible b-b-b" obcode
and comes back to integrator, then also the "possible b-b-b" obcode should
be executed sample by sample.
(ii) If the signal goes through two integrators without any feedback, then
both integrators could process the signal block by block.
A "possible sample-by-sample" obcode could be turned to "possible block-
by-block" if it doesn't depend on its own output. But then if this obcode
is in the same situation than the "possible b-b-b" in (ii) above example,
then it is turned to "s-b-s".
Some graph theory could help in deciding general rules:
(i) If a "possible s-b-s" obcode is on the loop containing a "possible s-b-s"
obcode (it itself or any other), then it is turned to "s-b-s", otherwise
"b-b-b".
(ii) If a "possible b-b-b" obcode is on the loop containing a "possible s-b-s"
obcode, then it is turned to "s-b-s".
I would like to have comments on this please. I'm not that expert with
SAOL that I could say I'm absolutely correct here.
>4. What will the front-end be like? Will it just be a command-line
> system like saolc or do you have something better in mind?
I'm planning to include the orchestra as a visual language to the wave
editor we are doing, namely Audiotechque. Also the textual language should
be included to it. Please look links from "http://www.funet.fi/~kouhia/
waves.html", for example. It is at early states.
Thus I'm hoping the core flow structure evaluater is easily extracted from
the example implementation, saolc. And why not the same hope for other
parts too.
Perhaps we will use a general sequencer for the score. The SAOL score,
MIDI, etc. can then be implemented over it.
Yours,
Juhana
This archive was generated by hypermail 2b29 : Wed May 10 2000 - 12:14:09 EDT