
RAM1 の破綻を回避するために、フィルターの2次化を行うのは LPF1/2 のみとし、LPF3/4 及び HPF は従来のまま変更は行っていない。

ついでに、Pitch や Volume ディテクタに強化型 EMA を実装しようと試みたのだが、、、

予想通りメモリ管理の破綻が発生してコンパイルが通らない。 メモリのマージンを確保するためにサブルーチンに掛けていた "FASTRUN" を全て外すことで、なんとか EMA をリプレイスすることが出来たものの、何故か Pitch が安定しない現象が発生、残念ながらディテクタに関する改良は見送ることになった。
MCUのクロックアップは 912MHz が限界で、それ以上の周波数ではスタートアップ時にフリーズに陥ることが判明している。
追記:
Sequencerの仕様変更に表示を合わせるのを忘れていたので、これを修正した。


追記2:
Pitch 揺れの発生は、EMAの肩特性が急峻になっていることを忘れて「設定値をそのままにしていたこと」が原因と判明、設定値を調整する(フィルターの効きを強くする)対処を行ったところ、問題を解決することができた。

flat_pitch や flag_volume の動作を調整するEMA群の初期値を case1: と一致させておく必要がある。


今回は、EMAフィルタの構成を減らすことで、RAM1の破綻を回避している。

追記3;
件のサイトの例に倣ってEMAをFunction化した。

なお、Pitchのコントロールが効かなくなることを確認した後に、データ型を int から float に書き換えている。