ресамплировать / повышать частоту кадров от 8 до 48 кГц (Java / Android)

Приложение, которое я пытаюсь разработать для andriod, записывает кадры с частотой 48 кГц (PCM 16 бит и моно) и отправляет их в сеть. Кроме того, есть входящий поток аудио на 8 кГц. Итак, я получаю сэмплы с частотой 8 кГц и воспроизводлю их (мой объект AudioTrack установлен на 8 кГц), но при их воспроизведении все работает, но задержка огромна. Это займет около 3 секунд, пока вы не услышите что-то.

Я думаю, что если я увеличу частоту дискретизации полученных кадров с 8 до 48 кГц и воспроизведу их, не будет такой большой задержки воспроизведения. На самом деле, когда я записываю и играю кадры с одинаковой скоростью, задержка действительно низкая. Плохо то, что я вынужден сделать это так: отправить на 48 кГц и получить на 8 кГц.

Как объяснялось ранее, я пытаюсь увеличить частоту звукового кадра (16 бит PCM) с 8 до 48 кГц. Кто-нибудь знает какие-либо процедуры / библиотеки / API в Java, которые делают это ???

Я знаю основы о повышении дискретности дискретного сигнала, но считаю, что проектировать и реализовывать мой собственный FIR-фильтр и объединять его с аудиопотоком ... это слишком много. Кроме того, все кончено моим знанием.

Так ... кто-нибудь может мне помочь с этим ?? Кто-нибудь знает какую-нибудь библиотеку / рутину в Java, которую я могу использовать ?? Любые предложения или альтернативы?

Ответы на вопрос(2)

Ваш ответ на вопрос