4

オーディオサンプルを11025および22050から44100に変換する必要があります。私は最速で最高のサウンドの変換ルーチンを探しています。外部ルーチンやライブラリを必要とせずに、純粋なJavaで答えを出す必要があります。ソースは、左右のチャネルを表す短い値の配列であり、そのようにインターリーブされています。LRLRLRLR
ガウス変換が最適であると聞きましたが、CPUキラーです。

更新
詳細を追加するために、最高と最速を組み合わせたいと思います。答えは、ほぼリアルタイムのコミュニケーションに適した素晴らしいサウンドのオーディオを提供します。
アップデート2
私はこれのいくつかの短いコード例を探しています、あなたのオーディオの第一人者のためのezポイントでなければなりません

4

2 に答える 2

1

まあ、それがリアルタイムではないようにそれを十分に遅くリサンプリングするのは難しいです:-)最良でまだ速い解決策の1つは、順方向FFTを実行し、次に必要なサンプルレートで逆方向FFTを実行することです。

これは自分で実装することも、FFT実装をコピーして貼り付けることもできます。

これは、100倍以上のリアルタイムで機能する可能性がありますが、1000倍高速である必要があるかどうかはわかりません(この場合、線形補間またはバイキュービック補間を使用できます):-)

于 2010-10-11T08:57:22.933 に答える
1

(最終的に)他のすべてのサンプルを0で埋めた後、モミを使用することができます-2または4でアップサンプリングします。これは、リアルタイムで十分に高速になります。オーディオ品質は、ほとんどのアプリケーションで問題ありません。

于 2010-10-11T09:21:12.500 に答える