イコライザーについて多くの質問があることは承知していますが、探しているものがわかりませんでした。私がやりたいのは、次のような方法でオーディオ サンプルを変更するためのイコライザーです。
equalizer.eqAudio(audiosamples, band, gain)
私は DSP の実装に関してほとんど知らないので、それが私が望む正確なインターフェースであるかどうかはわかりません (私はフィルター、リミッター、コンプレッサーを使用しましたが、それらを作成しませんでした)。
これについてグーグルで調べたところ、サンプルに対してFFTを実行する必要があるため、振幅ではなく周波数範囲ごとにデータを取得し、必要な方法で処理してから、FFTの逆を作成して、オーディオサンプルで結果を再度取得する必要があることを読みました. この FFT の実装を探したところ、JTransform for Java が見つかりました。このライブラリには、Discrete Cosine Transform (DCT) と呼ばれる FFT 関連のアルゴリズムが実装されています。
私の質問は次のとおりです。
- さて、私は正しい方法ですか?
- FFT は周波数に関するデータを提供するので、サンプルのチャンクを FFT アルゴリズムに渡す必要があります。このチャンクはどのくらいの大きさでなければなりませんか?
- イコライザーを説明する DSP プログラミングに関する良い本はありますか?
ありがとう!