Has someone here a DSP-Function for Delphi? I tried to convert the Echo-Effect from the FMOD-Sample in C, but my knowledge about C isn’t that good.
I also tried to write a little Equalizer without the ParamFX as a DSP-Function. As I read here in the form, I hink I must use FFT and IFFT for that. But when I do that I get a bet sound-quality. So, is the FFT wrong, or must I do something else?
That would be good.
But I don’t know, why my filters work with another soundengine and no with fmod. Because they work with the other, I know, that they are correct. I guess, the only difference could be the format of the audio-data. The buffer of the other engine is of 16-bit Integer at stereo-files. The documentation of fmod says, that fmod also use 16-bit Integer (or 32-bit float), so my questions is, how is the data stored in the buffer? Is that left, right, left, right, … left, right or is it left, left, … left, right, right, … right? Because I think that could be the only difference. BTW. the data from the other engine in the buffer is normal Windows PCM format.
Now I’ve found some working code for an equalizer and other effects. 😀
This code works fine, but not with fmod
I’ve tested it with another Soundengine, and everything was fine. But when I use fmod, it works also, but the sound-quality is very bad.
I think that comes from the format of the soundbuffer. With the other soundengine I used SmallInt (16Bit Integer from -32768 to +32767). With fmod I tried Single (Float) and also SmallInt. But with Single and with SmallInt I get always the bad soundquality. The calculation of the filter works always with Single, only when I need SmallInt I round the result. It makes no change, if I check that the values don’t get out of -32768 and +32767: it is always the same bad quality.
Has someone an idea, why the code doesn’t work fine with fmod?
Please login first to submit.