Android用に開発しようとしているアプリケーションは、48Khz (PCM 16bits & mono) でフレームを記録し、ネットワークに送信します。また、8Khz でオーディオの入力ストリームがあります。そのため、8Khz のサンプル フレームを受信して再生します (私の AudioTrack オブジェクトは 8Khz に設定されています) が、それらを再生するとすべてが機能しますが、遅延が非常に大きくなります。何かが聞こえるまで約3秒かかります。
受信したフレームを 8Khz から 48Khz にアップサンプリングして再生すれば、それほど大きな再生遅延は発生しないと思います。実際、フレームを同じレートで記録して再生すると、レイテンシーは非常に低くなります。悪い点は、48Khz で送信し、8Khz で受信するという方法を余儀なくされていることです。
前に説明したように、サウンド フレーム (16 ビット PCM) を 8Khz から 48Khz にアップサンプリングしようとしています。これを行うJavaのルーチン/ライブラリ/ APIを知っている人はいますか???
目立たない信号のアップサンプリングの基本は知っていますが、独自の FIR フィルターを設計して実装し、それをオーディオ ストリームとたたみ込むのは、やりすぎだと思います。また、それは私の知識を超えています。
それで...誰かがこれで私を助けることができますか?? 私が使用できるJavaのライブラリ/ルーチンを知っている人はいますか?? 提案や代替案はありますか??