0
0

In FMod 3, you used to have stream dsp’s, which were executed before resampling (just after decoding I assume) and dsp’s on the output.
In FMod 4, dsp’s can be added to both channels and the total output.
The advantage of channel dsp’s is obviously that they are executed much closer to the output, leading to a lower latency.

I was wondering though, if it is still possible to add dsp’s before resampling. (Maybe by running down the dsp chain using the getInput functions on the head of the channel dsp?)
The reason is that this is more useful for bpm/tempo detection since you are certain that the output frequency isn’t changed while the sound is running.

I could imagine that this would be useful for other sound pre-processing as well, such as some sort of equalizer for example.

  • You must to post comments
0
0

Thanks, never thought of that one :)

  • You must to post comments
0
0

hi,

I think you will need to do something like me. “Capturing” the data through readData from Sound. After that you may play and run your DSP in pcmreadcallback.

best regards
Matthias

  • You must to post comments
0
0

Hi brett,

first of all, I think you are talking about a usage of pcmread I don’t know. I assume you can configure the read function as DSP-like function that processes the input and put’s it pack to the stream. How do you do this? The only version of pcmread I know is to generate a sound like usercreated sound samples. I have one more question is there something like Sound::dataPos() planned? That means a PCM-Bytes position inside the data that’s read by Sound::readData or seeked by Sound:seekData().

bye
Matthias

  • You must to post comments
0
0

hi brett,

thanx for the reply. It was very helpfull. I think now I understand a bit more of your concepts;)

That means System::createSound(file_name,FMOD_CREATESTREAM|FMOD_OPENUSER, &exinfowithpcmreadcallback, &newsound) will create a stream from a file and run the processing in pcmread before resampling. And the parameter *data in pcmreadcallback is input and output to the same time. Is that right?

Sure, it is possible to count the position by myself. I was just wondering if there will be such a thing in the future.

thank you.
Matthias

  • You must to post comments
0
0

Hi brett,

I have a small question regarding the sound format that’s used in FMOD.
In my readData I get a newiesh buffer with my 16Bit stereo sound. I read in the documentation the it is sorted as LeftLow LeftHigh RightLow RightHigh and so on and your data is always signed. Is that right? I am able to pass this buffer through and to the pcmread of a new sound object, but if I used one of my old dsp filters it doesn’t work. I probably have a different byte alignment or a signed unsigned mistake.

best regards
Matthias

  • You must to post comments
0
0

hi brett,

thank you for the fast answer.
Then I will have another problem in my code … That’s pretty weird.

cheers
Matthias

  • You must to post comments
Showing 6 results
Your Answer

Please first to submit.