2024/07/28

sin, cos を反復的に計算するアルゴリズムのレシピ

 「sin, cos を反復的に計算するアルゴリズムのレシピ」 を読む (github.io)

Martin Vicanek による “A New Recursive Quadrature Oscillator” をもとにして sin, cos を反復的に計算するアルゴリズムの実装についてまとめました。ほとんどの用途では標準ライブラリの sin, cos で十分ですが、加算合成シンセサイザでは計算量を節約するために反復的に計算するアルゴリズムを使いたいときがあります。

画像は各アルゴリズムの周波数を変えたときの振幅の変化を示した図です。

2024/07/26

「n dB/oct のスロープを持つフィルタ」の改訂

n dB/octのスロープを持つフィルタ」の内容が怪しかった、というよりも物足りなかったので改訂しました。主な追加点は「IIR のハイシェルフフィルタを使う方法」の節で、この方法が最もまともに任意の傾きを設定できます。 以前に実装した Slope Filter では 1 次の整合ハイシェルフフィルタを使っていたのですが、バイリニア変換した 1 次ローパスにバイパスを足し合わせたハイシェルフフィルタのほうが適していたことが分かりました。 

FIR では -6 dB/oct より緩やかなスロープであればピンクノイズフィルタが使えます。 Exponential 窓による FIR フィルタは -12 dB/oct のスロープだけであれば近似できるようです。

2024/07/23

GlitchSprinkler Plugin is under Development

Plugin version of GlitchSprinkler is in progress. It will take more time for testing, making presets, and writing manual. Source code is already available on `develop` branch on the git repository. For now, It's better not to use for productions.

Original Web Synth: https://ryukau.github.io/UhhyouWebSynthesizers/GlitchSprinkler/synth.html

---

プラグイン版の GlitchSprinkler を制作中です。テスト、プリセットの作成、マニュアルの作成にまだ時間がかかります。ソースコードは GitHub リポジトリの `develop` ブランチから入手できます。互換性のない変更を加えるかもしれないので、まだ本番には使わないことをお勧めします。

元になった Web シンセ: https://ryukau.github.io/UhhyouWebSynthesizers/GlitchSprinkler/synth.html

「お手軽なFIRフィルタのレシピ」の改訂

お手軽なFIRフィルタのレシピ」の記事の内容がかなり怪しかったので改訂しました。「n dB/octのスロープを持つフィルタ」も近々改訂します。

2024/07/02

FL Studio 2024 の Spreader

I got curious about the new Spreader plugin added into FL Studio 2024, so I attempted to recreate it in Patcher. It went surprisingly well. The resulting flp was posted on Image-Line forum with a title of "Spreader recreated in Patcher" (the link requires Image-Line account).

The image is a block diagram of recreated patch that resembles Spreader.

---

FL Studio 2024 で増えた Spreader の仕組みが気になったので Patcher で再現を試みたところ、うまくいきました。 Image-Line フォーラム (要アカウント) に "Spreader recreated in Patcher" というトピックで結果の flp を投稿しています。

画像は再現したパッチをブロック線図にしたものです。