resample / upsample marcos de sonido de 8Khz a 48Khz (Java / Android)

La aplicación que estoy tratando de desarrollar para Android, graba marcos a 48Khz (PCM 16bits y mono) y los envía a la red. Además, hay una transmisión de audio entrante a 8Khz. Entonces, recibo cuadros muestreados de 8Khz y los reproduzco (mi objeto AudioTrack está configurado en 8Khz), pero cuando los reproduzco, todo funciona pero la latencia es ENORME. Tarda unos 3 segundos hasta que escuche algo.

Creo que si submuestreo los cuadros recibidos de 8Khz a 48Khz y los juego, no habrá una latencia de juego tan grande. De hecho, cuando grabo y reproduzco cuadros a la misma velocidad, la latencia es realmente baja. Lo malo es que me veo obligado a hacerlo de esta manera: enviar a 48Khz y recibir a 8Khz.

Como se explicó anteriormente, estoy tratando de muestrear un marco de sonido (PCM de 16 bits) de 8Khz a 48Khz. ¿Alguien sabe alguna rutina / biblioteca / API en Java que haga esto?

Sé lo básico sobre el muestreo ascendente de una señal discreta, pero considero que diseñar e implementar mi propio filtro FIR y convolucionarlo con la transmisión de audio ... es demasiado. Además, se acabó mi conocimiento.

Entonces ... ¿alguien puede ayudarme con esto? ¿Alguien sabe alguna biblioteca / rutina en Java que pueda usar? ¿Alguna sugerencia o alternativa?

Respuestas a la pregunta(2)

Su respuesta a la pregunta