2024/01/24

Randomization Lock / ランダマイズのロック

Randomization lock is now available on UhhyouWebSynthesizers. Clicking a label next to a parameter enables a lock. The label becomes gray when the lock is enabled.

---

UhhyouWebSynthesizers のランダマイズをパラメータごとに有効、無効にできるロック機能を追加しました。パラメータの隣にあるラベルをクリックするとロックの切り替えができます。ロック有効時はラベルが灰色に変わります。

2024/01/23

Import/Export Is Now Available on UhhyouWebSynthesizers / インポート・エクスポートを UhhyouWebSynthesizers に追加

Import/Export functionality is added on UhhyouWebSynthesizers. They can be used to save the parameter state as a JSON file. The new buttons are added under Random button, which is placed on top-left part of the interface.

  • Export button opens a dialog to save parameters to a file.
  • Import button opens a dialog to load parameters from a file (.json).
  • Push button temporarily saves current parameters to the pull-down menu right next to Random button.
The temporary saves have names like `tmp - <timestamp>`. <timestamp> part will be replaced to an ISO 8601 time which looks like "2024-01-01T012345.678+0900" for example. Note that reloading the page clears the temporary saves.

---

UhhyouWebSynthesizers のパラメータの状態を JSON 形式でインポート・エクスポートできるようになりました。画面左上の Random ボタンの下に Push, Export, Import ボタンが増えています。

  • Export ボタンでパラメータをファイルに保存するダイアログを表示。
  • Import ボタンで保存したパラメータを読み込むダイアログを表示。
  • Push ボタンで一時的に現在のパラメータを保存。
Push ボタンで一時的に保存されたパラメータは Random ボタンの隣のメニューに `tmp - <タイムスタンプ>` という名前で追加されます。 <タイムスタンプ> の部分には "2024-01-01T012345.678+0900" のような ISO 8601 形式の時間が入ります。ブラウザの画面を更新すると Push ボタンの一時保存データは失われるので注意してください

2024/01/02

FV1Reverb

Try FV1Reverb (github.io)
Read Source Code (github.com)

FV1Reverb is a reverb using the loop structure described in a page of Spin Semiconductor (Reverberation section).

Metallic texture can be obtained by lowering `Time Multiplier`. There's no multi-tap delay before inputting the loop, so it might be better to use with other short reverb.

---

FV1Reverb を試す (github.io)
ソースコードを読む (github.com)

FV1Reverb は Spin Semiconductor のページ (Reverberation の節) で紹介されていたループ構造を使ったリバーブです。

`Time Multiplier` を下げると金属音が出せます。ループの前のマルチタップディレイはついていないので、別の短いリバーブと組み合わせるといいかもしれません。

2023/10/09

GenericDrum VST 3

Download GenericDrum Plugin (github.io)
Source Code (github.com)

VST 3 version of GenericDrum is now ready. I guess this one is easier to use than previous plugins because I did some musical tuning instead of exploring parameters.

GenericDrum is a generic drum synthesizer using delays. This one can make convincing snare and bass drum sounds. Cymbal sounds can be made, but it’s not good as good as more lower drum sounds.

For more information, the manual has a lengthy "Mechanism Overview" section.

---

GenericDrum プラグイン版をダウンロード (github.io)
ソースコード (github.com)

VST 3 版の GenericDrum が準備できました。このシンセではパラメータの探索をやめて音楽的なチューニングを心掛けたので今までのプラグインよりは使いやすいかと思います。

GenericDrum はディレイを使った汎用ドラムシンセサイザです。バスドラムやスネアドラムについては良い音が出ます。シンバルの音も出せますが、低いドラムの音ほど良くはありません。

マニュアルの「仕組み」の節で大まかな動作を解説しています。

2023/10/02

Preview of GenericDrum Plugin


This video shows VST 3 version of GenericDrum. It's work in progress.

---

この動画は GenericDrum の VST 3 版のプレビューです。まだ作りかけです。

2023/09/03

GenericDrum

Try GenericDrum (github.io)
Read Source Code (github.com)

GenericDrum is a generic drum synthesizer based on ClangSnare. The number of parameters has been reduced for ease of use.

Noise generator, serial all-pass, feedback delay network (FDN) are connected in sequence.

The low-pass of noise generator is based on complex resonator, but the design is ad-hoc, so the sound changes depending on sampling rate. This ad-hoc filter is used because usual biquad low-pass is too steep for sound shaping. In hindsight, SlopeFilter might be more adequate. Maybe I'll change it later.

---

GenericDrum を試す (github.io)
ソースコードを読む (github.com)

GenericDrum は ClangSnare を基にして、使い易いようにパラメータを減らした汎用ドラムシンセサイザです。

中身は、ノイズジェネレータ → 直列オールパス → フィードバックディレイネットワーク (FDN) と順に接続されています。

複素レゾネータを基にしてノイズジェネレータのローパスをでっち上げたのですが、設計が適当なのでサンプリング周波数によって音が変わります。バイクアッドのローパスよりも緩やかな切れ味のフィルタが欲しかったのですが失敗でした。書いていて思い出したのですが SlopeFilter のほうが適している気がします。

2023/08/22

HooverSynth

Try HooverSynth (github.io)
Read Source Code (github.com)

HooverSynth is a hoover sound synthesizer.

Original hoover sound is made from Alpha Juno or MKS-50. This time, I spent more time on researching Alpha Juno rather than writing code. Following is a list of links I used while developing HooverSynth.

---

HooverSynth を試す (github.io)
ソースコードを読む (github.com)

HooverSynth はフーバーサウンドに特化したシンセサイザです。

元のフーバーサウンドは Alpha Juno や MKS-50 といったシンセサイザで作られていたそうです。今回はコードを書いているよりも Alpha Juno の動作とレシピを調べる時間のほうが長くかかりました。以下は作るときに参考にした資料の一覧です。

2023/08/19

ResonantDrop

Try ResonantDrop (github.io)
Read Source Code (github.com)

ResonantDrop is a synthesizer that is made to test resonators. It can resemble the sound of small falling objects by using a multi-tap delay that shifts the start of the sound.

Complex one-pole resonator is used. I was wondering that if I could utilize this complex filter, and took imaginary part without much thought. It turned out that the gain response looks similar to second-order resonator.

Transfer function of real and imaginary output of complex resonator is currently documented as a comment in source code.

---

ResonantDrop を試す (github.io)
ソースコードを読む (github.com)

ResonantDrop はレゾネータを試すために作ったシンセサイザです。音の出だしをずらすディレイによって複数の小さな物が落ちたときのような音を作ることができます。

今回使ったレゾネータは 1 次複素レゾネータ (complex one-pole resonator) です。適当に虚部だけを取り出してみたところ、 2 次レゾネータの特性と似ていたのでそのまま使いました。

複素レゾネータの実部と虚部だけを取り出したときの伝達関数をソースコードのコメントに書いています。

2023/08/14

AdaptiveNotchComb

Try AdaptiveNotchComb (github.io)
Read Source Code (github.com)

AdaptiveNotchComb is a metallic sound synthesizer using a combination of serially connected comb filters and serially connected adaptive notch filters. Each comb filter also has an adaptive notch filter on their feedback path.

Adaptive notch filter is quite good at suppressing tones of feedback comb filter. However, this notch filter increases gain. So I made an attempt to normalize the maximum gain to 0 dB. It seems to be working on feedback path, but blows up when serially connected.

Edited on 2023-08-15: The gain normalization was wrong. It's fixed now.

---

AdaptiveNotchComb を試す (github.io)
ソースコードを読む (github.com)

AdaptiveNotchComb は直列につないだコムフィルタと、直列につないだ適応ノッチフィルタの組み合わせで金属音を出すシンセサイザです。各コムフィルタのフィードバック経路にも適応ノッチフィルタを挟んでいます。

適応ノッチフィルタはフィードバックコムフィルタのトーンを抑えて聞きやすい音に整えてくれます。ただし、カットオフ周波数から離れた部分はゲインが上がるという難点があります。最大ゲインが 0 dB となるように正規化を試みたところ、コムフィルタのフィードバック経路ではうまくいったのですが、直列につなぐと発散することがありました。

2023-08-15 追記: ゲインの正規化の実装が間違っていたので修正しました。

2023/08/09

SlipOutComb

Try SlipOutComb (github.io)
Read Source Code (github.com)

SlipOutComb is a network of feedback comb filters that modulates band-pass cutoff to trying to slip out from blowing up condition. Note that sometimes SlipOutComb fails to slip out and outputs silence.

Internally, several comb filters are connected as a feedback delay network (FDN). Number of comb filters can be changed by `FDN -> Matrix Size`.

When it blows up, try reducing following parameters from top to bottom.

  • FDN -> Cross Feedback Decay
  • Comb -> Feedback Decay
  • Comb -> Delay
  • Comb -> Cut Modulation Rise/Fall

---

SlipOutComb を試す (github.io)
ソースコードを読む (github.com)

SlipOutComb は発散からすり抜けるようにバンドパスのカットオフを変調するフィードバックコムフィルタです。ただし SlipOutComb は発散状態からすり抜けることに失敗して無音を出力することがあるので注意してください。 

内部では複数のコムフィルタがフィードバックディレイネットワーク (FDN) として互いに接続されています。コムフィルタの数は `FDN -> Matrix Size` から変更できます。

発散したときは以下のパラメータを順番に下げてみてください。

  • FDN -> Cross Feedback Decay
  • Comb -> Feedback Decay
  • Comb -> Delay
  • Comb -> Cut Modulation Rise/Fall

2023/08/04

FMGlassyPad

Try FMGlassyPad (github.io)
Read Source Code (github.com)

FMGlassyPad is an ordinary FM synthesizer specifically tailored for glassy pad sounds.

Same sound can be made from any FM synthesizers with unison. Corresponding DX7 algorithm (connection of oscillators) are number 5 or 6. I first created the recipe on Sytrus, then ported it as a web synthesizer.

The character is similar to additive synthesizer. It's easy to make dense tone cluster of sine waves.

Reverb acts like a pitch shifter. To remove low frequencies, set "Reverb → Mix" to minimum value.

---

FMGlassyPad を試す (github.io)
ソースコードを読む (github.com)

FMGlassyPad はガラスのような高くて澄んだ質感の音が出るようにチューニングした FM シンセサイザです。

ユニゾンつきの FM シンセサイザであれば、どれでも FMGlassyPad と同じ音を出すことができます。オシレータの接続は DX7 のアルゴリズムで言うと 5 あるいは 6 です。元は Sytrus で作ったレシピですが、曲ごとに調整する手間を省くために Web シンセへと移植しました。

音は加算合成に近いです。密度の高いサイン波のトーンクラスターを簡単に作れます。

"Reverb" は実質ピッチシフターとして動作します。低音が不要なら "Reverb → Mix" を最小に設定してください。