In my Java code, I would like to convert a WAV file of 44100 Hz to a WAV file of 8000 Hz. I know that I have to low-pass filter and then decimate (+interpolate) (the DSP theory) but I do not want to implement it from scratch.
I am looking for a library that can efficiently do it. Do you know any?
I am able to read wav files into a buffer and also write wav files from buffer to file if it will make it easier.
You should look at FMJ. It provides a wrapper for ffmpeg which can handle all sorts of conversion work (including audio resampling) very efficiently.