> It's very easy to build a reverb with the
> traditional opcodes, but it is very hard to build a reverb that responds to
> the arguments of the reverb opcode (that is, control the reverberation time
> at certain frequency's). I do not know how to build a reverb that does that.
What sfront does right now -- which I readily admit doesn't accurately
correspond to the text in 5.9.14.1, but which hopefully captures at
least some of its spirit -- is implement a generalized version of the
Schroeder reverb implementation that Eric uses in some of the SAOL examples.
More specifically:
|-------------| |-------------|
|four parallel| | low pass |
|---| comb filters|---| filter for |--------
| | for r0 | | f0 | |
| |-------------| |-------------| |
| |
| |
| |
|----------| | |-------------| |-------------| |
---|2 allpass | | |four parallel| | low pass | |-----|
|filters in|------| comb filters|---| filter for |------| + |--->out
|series | | | for r1 | | f1 | |-----|
------------ | |-------------| |-------------| |
| |
| |
| |
| |
| |-------------| |-------------| |
| |four parallel| | low pass | |
|--| comb filters|---| filter for |---------
| for r2 | | f2 |
|-------------| |-------------|
Amongst its other problems, this qualitatively falls apart when
longer delays have a higher frequency cutoff than shorter delays.
But it seemed like a reasonable placeholder for a first-generation
implementation -- and in addition, it seemed wise to wait until
the compliance document was out to see just what "normative" will
mean for this opcode, considering its definition has some normative
and some non-normative aspects.
--jl
This archive was generated by hypermail 2b29 : Mon Jan 28 2002 - 12:03:51 EST