At some point, we are planning to kill off plib in favour of OSG. We currently have a plib audio engine which should be replaced, possibly with one base on SDL.
If so, then this library may be of use:
http://sol.gfxile.net/soloud/index.html
It does clip repeating, level, etc.
There is also:
SDL_Audio and SDL_Mixer
that I looked at a while back.
We should see if they are updated in SDL2
Diff:
There's another SDL audio library just announced.
SDL_audiolib: an audio decoding, resampling and mixing library
http://lists.libsdl.org/pipermail/sdl-libsdl.org/2014-June/095169.html
https://github.com/realnc/SDL_audiolib
I recently tried to create a new sound FX module with SDL2_Mixer.
Unfortunately SDL2_Mixer does not provide a means to adjust the pitch of a playing sound.
This is required for SD's engine sounds and others.
I was able to successfully add support for this single-header file library:
miniaudio
I have used the SoundTouch library https://www.surina.net/soundtouch/ to do pitch shift in the past. Can you add an effect to the SDL2_Mixer using this library?
soundtouch
looks a little too low-level for me.
The miniaudio has
playsound()
setvolume()
setpitch()
When SDL3_mixer is released, we can recheck if they have added pitch control.