The fastest and most efficient performance enhancement procedure for audio in Java

I need to convert audio samples from 11025 and 22050 to 44100; I am looking for the fastest and most convenient audio conversion procedure. I require that the answer be given in pure Java, without the need for external routines or libraries. The source is an array of short values ​​representing the left and right channels, alternating as LRLRLRLR

I heard that a Gaussian transform is the best, but it is a killer processor.



<b> Update

To add more details, I would like a combination between the best and the fastest. The answer will give a great sound, suitable for real-time communication.

Update 2

I am looking for some short code examples for this, there should be ez points for you audio guru

+4
source share
2 answers

you can (ultimately) just use fir after filling every other sample 0s - you increase the sample by 2 or 4. it will be very fast for real time. Sound quality will be satisfactory for most applications.

+1
source

Well, it's hard to remake it slowly enough so that it doesn't happen in real time :-) One of the best and still fast solutions is to promote FFT and then reverse FFT with any sample rate you need.

You can implement this yourself or copy and paste any FFT implementation.

It can work as 100x in real time or faster, not sure if you need 1000 times faster (in this case you can go for linear or bicubic interpolation) :-)

+1
source

All Articles