0
0

After completing the setup and successfully compiled and executed a lot of the examples on Android, I tried to modify the ‘effects’ example to add a pitch shifting effect (yy goal is to achieve a helium effect)
Unfortunately, when using a wave file of my own (that correctly plays in VLC,Audacity), the quality is poor, we can hear a lot of Glitches despite a lot of tests using different parameter values.

I tried similar code using the iOS FMOD SDK and when I am using ‘my’ wav files in the ‘effects’ example project:
– I can hear the sound when unmodified
– If I select a filter, then the player stops immediately
=> when using the provided drumloop file example, everything is OK

Does the file needs to be 8 bits or with a specific header/sample rate (mac wav format compatible ?) ?

code snippet(‘android)
[code:1k9q955f]
result = FMOD_System_AddDSP(gSystem, gDSPPitchShift1, 0);
CHECK_RESULT(result);
result = FMOD_DSP_SetParameter(gDSPPitchShift1,FMOD_DSP_PITCHSHIFT_PITCH,0.8f);
CHECK_RESULT(result);
result = FMOD_DSP_SetParameter(gDSPPitchShift1,FMOD_DSP_PITCHSHIFT_FFTSIZE,1024);
CHECK_RESULT(result);
result = FMOD_DSP_SetParameter(gDSPPitchShift1,FMOD_DSP_PITCHSHIFT_OVERLAP,4);
CHECK_RESULT(result);
[/code:1k9q955f]

  • You must to post comments
0
0

[quote="CrapulaX":2w3tlz6k]After completing the setup and successfully compiled and executed a lot of the examples on Android, I tried to modify the ‘effects’ example to add a pitch shifting effect (yy goal is to achieve a helium effect)
Unfortunately, when using a wave file of my own (that correctly plays in VLC,Audacity), the quality is poor, we can hear a lot of Glitches despite a lot of tests using different parameter values.

Does the file needs to be 8 bits or with a specific header/sample rate (mac wav format compatible) ?

code snippet(‘android)
[code:2w3tlz6k]
result = FMOD_System_AddDSP(gSystem, gDSPPitchShift1, 0);
CHECK_RESULT(result);
result = FMOD_DSP_SetParameter(gDSPPitchShift1,FMOD_DSP_PITCHSHIFT_PITCH,0.8f);
CHECK_RESULT(result);
result = FMOD_DSP_SetParameter(gDSPPitchShift1,FMOD_DSP_PITCHSHIFT_FFTSIZE,1024);
CHECK_RESULT(result);
result = FMOD_DSP_SetParameter(gDSPPitchShift1,FMOD_DSP_PITCHSHIFT_OVERLAP,4);
CHECK_RESULT(result);
[/code:2w3tlz6k][/quote:2w3tlz6k]

  • You must to post comments
0
0

I made more tests

a) This input file used for tests on iOs and on Android
http://www.korrisoft.com/tests/fmod/pti … -input.wav
b) Using iOS simulator, the effect seems correct
http://www.korrisoft.com/tests/fmod/pti … hshift.wav
c) Using Android (with same dsp parameters) we can hear that there is something wrong
http://www.korrisoft.com/tests/fmod/pti … hshift.wav

To create both projects, I just :
– took the "effects" example project
– modify one of the function to activate the new DSP (PitchShifter) (and create the necessary attribute )
– add a new file input

  • You must to post comments
0
0

Using information provided by fmod support (thx a lot to hem ;o) , I switched to a non-real time effect and everything is now OK.

The problem was due to CPU saturation that you can detect using System::getCPUUsage.
The problem was not occuring using iOS simulator because in that case the simulator’CPU is the Mac’s one.

  • You must to post comments
Showing 3 results
Your Answer

Please first to submit.