Skip to content

ReverbMS documentation and processing order mismatch #39

@mhetrick

Description

@mhetrick

The description for ReverbMS states: "The network consists of a group of
/// parallel comb filters followed by a series of allpass comb filters.
/// The comb filters produce initial echoes and the allpass combs diffuse the
/// echoes by smearing transients and further increasing echo density."

However, in the implementation (ReverbMS::operator()), it looks like the allpass filters are applied before the comb filters.

Am I reading that correctly?

For the JOS implementation diagrams, Freeverb (https://ccrma.stanford.edu/~jos/pasp/Freeverb.html) and SATREV (https://ccrma.stanford.edu/~jos/pasp/Example_Schroeder_Reverberators.html) are shown with allpass filtering after the comb filters. Only the two JCVERB examples follow the Gamma method of allpass before combs.

It might be worth adding a boolean switch to decide which stage happens first. That way, more Schroeder types can be implemented.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions