2024/10/24

SpectralPhaser

Download SpectralPhaser (github.io)
Source code (github.com)

SpectralPhaser is an effect that produces a phaser-like sound by applying a mask in the frequency domain. In addition to FFT, fast Walsh-Hadamard transform (FWHT) and Haar transform are available.

Discrete Fourier transform turns the input signal into a series of sine and cosine. Similarly, FWHT and Haar transform turn the signal into a series of square waves, which tend to sound rough to the human ear.

---

SpectralPhaser のダウンロードとマニュアル (github.io)
ソースコード (github.com)

SpectralPhaser は周波数領域でマスクをかけることでフェイザのような音が出るエフェクタです。 FFT に加えて、高速 Walsh-Hadamard 変換 (FWHT) 、 Haar 変換といった変換が使えます。 

FFT の計算している離散フーリエ変換は、入力信号を sin と cos の足し合わせに変換します。 FWHT と Haar 変換は sin, cos の代わりに矩形波の足し合わせに変換するので、人間の耳にはざらざらとした音になりがちです。

2024/10/16

RoughlySnare

Try RoughlySnare (github.io)
Source code (github.com)

RoughlySnare is a snare drum synthesizer based on mymembrane~ PureData patch by MikeMorenoDSP.

The drum membrane texture of mymembrane~ comes from a schroeder allpass placed on the feedback path of a comb filter. It's pretty fun to change the allpass parameters to add some expressions. Snare wire is a bandpassed noise following the amplitude of comb filter output, which is simple but sounds good.

RoughlySnare puts the cascade of (delay) -> (allpass) -> (snare wire) into a feedback delay network (FDN). There's also a second FDN to add tones. Delay times are set according to preferred modes of timpani.

---

RoughlySnare で遊ぶ (github.io)
ソースコードを見る (github.com)

RoughlySnare はスネアドラムのシンセサイザです。 MikeMorenoDSP さんの mymembrane~ という PureData のパッチを基にしています。

mymembrane~ はコムフィルタのフィードバック経路に Schroeder オールパスを置いて、ドラムの膜のような質感を出しています。オールパスに関するパラメータで音に表情をつけられるのが面白いです。スナッピーはコムフィルタの出力振幅にあわせてノイズを上げ下げしているだけなのですが、いい音がします。

RoughlySnare では、ディレイ -> オールパス -> スナッピーの接続を取り出して、フィードバックディレイネットワーク (FDN) に投げ込んでいます。また 2 つめの FDN によってトーンを追加できるようにしています。ディレイ時間の設定にはティンパニーの preferred modes を使っています。

2024/10/12

DoubleLoopCymbal

Download DoubleLoopCymbal (github.io)
Source Code (github.com)

DoubleLoopCymbal is a synthesizer that produces a sound somewhere between hi-hat and triangle. Metallic texture comes from 2 all-pass loops.

Block diagram is available on the manual page.

It is making some metallic noise, however it sounds synthetic when listening closer. Different tunings are tried, but I couldn't manage to add a better closing texture, and the crash texture which appears on a real cymbal when hit hard. It seems like closing of hi-hat can't be made from allpass loops. To stop sound, the feeds of allpasses should be moved to 0. However changing the feeds adds a texture similar to a phaser. On the crash texture, I found a better method described by henry bracey (link, description is on a comment). This method is not implement in this time since I wanted to make DoubleLoopCymbal lighter than ClangCymbal.

There are also a bug fix for GlitchSprinkler and a new parameter for GenericDrum. Both could be downloaded from the release page on GitHub.

---

DoubleLoopCymbal のダウンロードとマニュアル (github.io)
ソースコード (github.com)

DoubleLoopCymbal はハイハットとトライアングルの間のような音が出るシンセサイザです。オールパスループというディレイのつなぎ方を使って金属的な質感を出しています。

マニュアルに大まかなブロック線図を掲載しています。

金属音は出ていますが、よく聞くと胡散臭い音をしています。チューニングをいろいろと試したのですが、クローズの質感と、強く叩いたときのクラッシュシンバルのような質感は出せなかったです。クローズについてはオールパスループでは無理です。音を止めるにはフィードを下げなければなりませんが、そうするとフェイザをかけたような質感が現れてしまいます。クラッシュについては henry bracey さんによる良さそうな方法 (リンク、コメント欄に解説あり) を見つけたのですが ClangCymbal よりも軽くしたかったので今回は実装を見送りました。

また GlitchSprinkler のバグ修正と GenericDrum の機能追加も行いました。どちらもリリースページからダウンロードできます。