Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ISM RIR: Incorrect summing of bands? #58

Open
mtmccrea opened this issue Aug 7, 2023 · 1 comment
Open

ISM RIR: Incorrect summing of bands? #58

mtmccrea opened this issue Aug 7, 2023 · 1 comment
Labels
bug Something isn't working help wanted Extra attention is needed

Comments

@mtmccrea
Copy link
Contributor

mtmccrea commented Aug 7, 2023

Description

I may be mistaken, but it looks like the octave band splitting may not be writing the filtered signals out, but rather just copying the input to the output.

In particular, the summing stage of ims_shoebox_renderRIR() sums the input channels for a given band wrk->rir_bands[band][i] into the output buffer &(rir->data[i*(wrk->rir_len_samples)]

        /* Sum */
        for(i=0; i<echogram_abs->nChannels; i++)
            cblas_saxpy(wrk->rir_len_samples, 1.0f, wrk->rir_bands[band][i], 1, &(rir->data[i*(wrk->rir_len_samples)]), 1);

The previous block shows the filtered band channels being stored in the temp variable. I would assume it's this filtered signal, temp that should be summed back into the output.

This may not have been caught because it looks like the ambiRoomSim plugin only uses broadband absorption, and I couldn't find anywhere that ims_shoebox_renderRIRs() was actually called.

Here's the larger block for context
https://github.com/leomccormack/Spatial_Audio_Framework/blob/82e3b75a9e4b9deb098e01416b1e91f6feeafb7f/framework/modules/saf_reverb/saf_reverb_internal.c#L685C3-L709

Thanks!

@mtmccrea mtmccrea added the bug Something isn't working label Aug 7, 2023
@leomccormack leomccormack added the help wanted Extra attention is needed label Nov 21, 2023
@leomccormack
Copy link
Owner

Ah yes, this is indeed an incomplete implementation. However, I don't see myself getting round to implementing it in the near future. Therefore, if anyone reading this would like to take this on, please do so and submit a PR :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

2 participants