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?
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?
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.
Please login first to submit.