May I respectfully submit that non-repeatable random number generators (or any
other opcode) may result in perfectly smooth audio sometimes and awful digital
clipping on other times, even on the same implementation ? That's bad :-(
Are you telling me that non-repeatability of random number generators in saol
implementations is actually _normative_ ? I mean if a particular
implementation seeded its core noise gens with e.g. absolute time times
instrument instance number, which would make it random from the user's point
of view but repeatable from my point of view, would this implementation be
illegal ?
Eric Scheirer wrote:
>
> >of whether Life, the Universe and Everything are ;-) In other words, will
> >every generated program produce _exactly_ the same output wave when
> submitted
> >to the same MIDI events occurring at the same frame accurate times ?
>
> It depends on exactly which instructions in SAOL you use. It is possible
> to write orchestra code that is exactly sample-by-sample deterministic,
> and will generate the same output sound (bit-for-bit) each time you run
> it on sfront, saolc, and any other compliant SAOL decoder. John and I
> have done a great deal of cross-testing to ensure that saolc and sfront
> produce identical output for these kinds of orchestras.
>
> Some of the functions in the SAOL standard are not defined so precisely,
> for example "reverb()", and "lopass()". If you want to guarantee bit-
> identical output, you should not use reverb(), but instead write your
> own reverbs as user-defined opcodes. Similarly, don't use lopass(),
> but write your filters as networks of biquad(), which is precisely
> defined. There are many other parallels, where doing things "the easy
> way" is not bit-exact, but there's a more precise way that is.
>
> If you only use the precisely-defined functions (and I can produce a
> complete list with some time if you'd like, or maybe Giorgio has one
> sitting around), then each output wave is exactly the same in the way
> you need. And will be the same whether you're using sfront, saolc,
> or any other implementation.
>
> >If it isn't (I guess the answer depends largely on how random number
> >generators are seeded), could it be made so ?
>
> The noise generators are truly random from the point of view of the
> content author. There is no way using the built-in generators to
> generate the same sequence twice. If you need to do this, you should
> write your own random-number generators as user-defined opcodes
> using one of the standard algorithms. Then you should post it to
> saol-users, because I and others would probably want to use it. :)
>
> >I honestly think there are other good points for repeatability, such as
> going
> >some way towards justifying calling Structured Audio a "lossless
> compression" technique.
>
> Yes, indeed. As long as you don't use the random-number generators,
> decoding is repeatable on a particular implementation. And if you
> stick to the strictly-normative set of opcodes, it will be the same
> >from implementation to implementation as well.
>
> Best,
>
> -- Eric
>
> +-----------------+
> | Eric Scheirer |A-7b5 D7b9|G-7 C7|Cb C-7b5 F7#9|Bb |B-7 E7|
> |eds@media.mit.edu| < http://sound.media.mit.edu/~eds >
> | 617 253 0112 |A A/G# F#-7 F#-/E|Eb-7b5 D7b5|Db|C7b5 B7b5|Bb|
> +-----------------+
-- 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 .........................................................................
This archive was generated by hypermail 2b29 : Wed May 10 2000 - 12:15:29 EDT