Giter VIP home page Giter VIP logo

fftconvolver's People

Contributors

hifi-lofi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

fftconvolver's Issues

Input length assumption

Is it correct that the TwoStageFFTConvolver assumes a long IR and a short Input? I have a case where the opposite is true, as in my IR is 1 s long and my input is 120 s long, however in this case I seem to lose the benefit of Overlap-Add since the library attempts to split the IR up in blocks, which is very short to begin with.
I have tried switching the inputs, but then it will of course limit the output to the length of my original IR, which I've let it believe is my input.

What can I do here?

Why there are three convolvers in "Two"StageFFTConvolver class?

Something in "TwoStageFFTConvolver.h" really confusing me.
When I saw "TwoStage" I think it is easy to understand that "TwoStage" means a head conv runs in audio thread, and a long tail conv runs in background thread. Those two conv makes a convolver realtime, but when I look inside the code of TwoStageFFTConvolver class, it's more like a "ThreeStageFFTConvolver".

My point is, why there are three convolvers? A head, a "tailConvolver0" and a "tailConvolver"? I know "tailConvolver" runs in background thread, but what "tailConvolver0" is doing here? It runs in audio thread and has same block size with head conv. I really don't understand why we need two conv in audio thread? can't one head conv can do the job?

Appreciate for your kindly help.

Documentation

Hello, I was hoping to use this library for a school project but I can't figure out a few things. I am providing it with the raw wave audio data in float format (not manipulated in any way so there are multiple samples per float) as well as the IR from a SOFA file but, unfortunately, it seems to be outputting jiberish. Would you be able to help me understand what inputs your methods are expecting? I have a feeling that I am either providing the wrong block size (not sure what this does other than affect the processing speed) or you are expecting only 1 audio sample per float.

using fftconvolver for vst binary

hi!
i am trying to find a suitable partioned convolution library for usage in vst plugins.
gpl forbids to distribute vst binaries as they are compiled using the non-free steinberg vst sdk.
i wanted to ask if you are ok if somebody uses your code in a gpl project and offer vst binaries of this project.
thanks,
matthias

Issue with naive vs FFT convolver test?

Hi,

Shouldn't the line:
if (relError > relTolerance && absError > absTolerance)

Over here,

if (relError > relTolerance && absError > absTolerance)

Read:
if (relError > relTolerance || absError > absTolerance)

Right now it fails if and only if both fail. Isn't it expected the test fails if either absolute or relative error exceeds the threshold? (so logical or should be used).

There is another similar test in the same file by the way.

Regards,
Marcel

head vs tail

Hi - I'm trying to get my head round this - can you tell me what head convolver vs tail convolver means ?

I was expecting only one convolve (i.e one impulse). Can you explain what you mean here

thanks!

J

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.