プログラムでデジタル楽器やエフェクターなどの作成を作成していると、必ず必要になってくるのがデジタルフィルタ(ローパスフィルタやハイパスフィルタ等)です。 しかし、「1,000Hz以下を通すローパスフィルタがほしい」等と思って、いざデジタルフィルタを実装しようとすると、フィルタ設計(フィルタ係数の算出)の部分で「Z変換」や「伝達関数」といった高度な数学での説明が始まります。 この時点でハードルが高く、デジタル楽器やエフェクターの作成をあきらめてしまう人が多いのではないでしょうか? ここではよく利用するデジタルフィルタについて、極力高度な数学を使わず簡単にフィルタ設計(フィルタ係数算出)・実装できる方法がありましたので紹介させていただきます。 今回の内容をC++のクラスとして簡単にまとめたものはこちらにあります。 → 簡単なデジタルフィルタのサンプルコード Robert Bristow-Joh