FFT ビン周波数分解能 計算ツール|Δf = sr/N と窓長を 1 画面で逆算
サンプリング周波数と FFT サイズ N を選ぶだけで、ビン分解能 Δf = sr/N、ナイキスト周波数、解析窓長 T = N/sr、片側スペクトルの使用可能ビン数 (N/2+1) をまとめて算出。さらに 100 Hz・1 kHz・10 kHz の各点で「1 ビンが何 cents のピッチ差に相当するか」を併記し、楽器分析やチューニングに必要な N を直感的に判断できる構成。
💡 このツールについて
スペクトログラムやピッチ検出を実装すると、最初にぶつかるのが「FFT サイズをいくつにすればいいのか」という壁。N を大きくすれば周波数分解能 Δf は細かくなるが、その代わり解析窓長 T = N/sr が伸びてレイテンシと CPU 負荷が増え、時間分解能が犠牲になる。この時間と周波数のトレードオフを、毎回電卓で sr/N を叩いて確かめている人は少なくない。
このツールは sr と N を選ぶだけで Δf・ナイキスト・窓長・ビン数を一度に出す。特に独自なのは cents 換算で、低音域 100 Hz では 1 ビンが数百 cents もの大きなピッチ差に化けるのに対し、10 kHz では 1 cents 未満まで詰まる、という「低音ほど分解能が粗くなる」FFT の本質的な弱点が数値で見える。ベース音やキックの基音を分離したいときに N を上げるべき理由が一目で分かる。
🧐 よくある質問
Q. ビン分解能 Δf はどう決まりますか? A. Δf = サンプリング周波数 ÷ FFT サイズ (sr/N) です。44 100 Hz・N=1024 なら 43.07 Hz。N を 2 倍にすると Δf は半分になります。
Q. なぜ低い周波数ほど分解能が悪く見えるのですか? A. Δf は全帯域で一定 (Hz 単位) ですが、音楽的なピッチ差 (cents) は対数なので、同じ Δf でも基音が低いほど大きな cents に相当します。100 Hz 付近の隣り合う音を分離するには、高音域より大きな N が要ります。
Q. 使用可能ビン数が N ではなく N/2+1 なのはなぜ? A. 実数信号の FFT は対称なので、DC からナイキストまでの片側スペクトル N/2+1 本だけが独立した情報を持ちます。残りは折り返しの複製です。
Q. 窓関数をかけると分解能は変わりますか? A. Hanning や Hamming 窓を適用すると、漏れ (リーケージ) を抑える代わりにメインローブが広がり、実効分解能はビン幅の約 1.4〜2 倍に低下します。本ツールの Δf は窓なし (矩形窓) の理論値です。
Q. 192 kHz など高いサンプリング周波数を選ぶ意味は? A. ナイキスト (sr/2) が上がり超音波帯まで解析できますが、同じ N では Δf が粗くなります。可聴域のピッチ精度を上げたいなら sr を下げて N を上げるほうが有効な場合があります。
📚 FFT サイズと国産 DAW・同人音楽制作の豆知識
国内の同人音楽やボカロ制作で広く使われる DAW では、スペクトラムアナライザの FFT サイズが 1024〜8192 あたりに設定されていることが多い。これは 44.1 kHz・48 kHz という配信用の標準サンプリング周波数で、低音の分離 (N を上げたい) と画面更新の軽さ (窓長を短くしたい) を折り合わせた現実解。本ツールで 48 000 Hz・N=4096 を選ぶと Δf ≈ 11.7 Hz、窓長 ≈ 85 ms と出るので、キックとベースの基音が重なる 50〜100 Hz 帯をどこまで見分けられるかを事前に検討できる。ミックスで「低域が団子になる」と感じたとき、まず使っているアナライザの N を疑ってみると原因が掴めることがある。