2022/10/13

ClangSnare

Try ClangSnare (github.io)
See list of other web synthesizers (github.io)

ClangSnare is a modified version of ClangCymbal. It is more suitable for snare drum sounds.

Snare drum has roughly 4 parts:

  • Batter side membrane
  • Snare side membrane
  • Snare wire
  • Body

ClangSnare is not so bad for membrane sounds, but it's not good at rattling of snare wire. Attack also feels weak. I'd recommend to apply additional gain envelope after loading the output to some sampler.

ClangSnare sometimes blows up. In that case, reduce the value of `FDN Matrix & Delay` -> `Cross`. "Blow up" here means that a peak appears on the end of the sound.

---

ClangSnare を試す (github.io)
Web シンセサイザの一覧を見る (github.io)

ClangSnare は ClangCymbal を改変した、スネアドラムのような音を合成するシンセサイザです。

スネアドラムは、おおまかに 4 つの部品に分けることができます。

  • 打面 (batter side) 
  • スネア面 (snare side) 
  • スナッピー (snare wire)

ClangSnare は打面とスネア面の膜の音については似たような音が出ているのですが、スナッピーによるざらついた音については上手く合成できていません。アタックも弱いので外部のサンプラーのエンベロープなどでさらに加工することをお勧めします。

音が発散したときは `FDN Matrix & Delay` -> `Cross` を下げてください。音の終端にピークがある状態だと発散しています。

2022/10/06

PadChoir3

Try PadChoir3 (github.io)
See list of other web synthesizers (github.io)

PadChoir3 is maybe a choir sound synthesizer using PADsynth algorithm. Most of the time, the sound is far from real choir. The difference to previous PADchoir is that PadChoir3 uses formant table from Csound manual.

---

PadChoir3 を試す (github.io)
Web シンセサイザの一覧を見る (github.io)

PadChoir3 は PADsynth アルゴリズムを使った、どことなく合唱のような音を合成するシンセサイザです。たいていは本物の合唱とは程遠いシンセサイザの音が出ます。以前の PADchoir との違いは Csound のマニュアルに掲載されているフォルマントの表を使っていることです。

2022/10/04

ResonantBD

Try ResonantBD (github.io)
See list of other web synthesizers (github.io)

ResonantBD is a synthesizer that can make bass drums similar to the ones in old rhythm machines. The sine sweep comes from oscillation of high Q state variable filter (SVF). This idea was explored in SingenBD3, but dropped to reduce complexity.

To control saturation, change Limiter -> Release and Limiter -> Input Gain.

---

ResonantBD を試す (github.io)
Web シンセサイザの一覧を見る (github.io)

ResonantBD は Q を高めに設定した state variable filter (SVF) の発振を使って古いリズムマシンのようなバスドラムを作ることができるシンセサイザです。 SVF を使うアイデアは SingenBD3 の制作時に試していたのですが、あまり特徴のない音だったので、複雑さを減らすために採用を見送っていました。

Limiter -> Release と Limiter -> Input Gain で大まかに歪みを調整できます。

2022/10/01

L4Reverb on Web / L4Reverb の Web 版

Try L4Reverb (github.io)
See list of other web synthesizers (github.io)

L4Reverb is a reverb using 4 times nested lattice structure. This is the same L4Reverb from VST 3 version.

---

L4Reverb を試す (github.io)
Web シンセサイザの一覧を見る (github.io)

L4Reverb は 4 回入れ子になった格子構造を使ったリバーブです。 VST 3 版の L4Reverb と同じものです。

SingenBD3

Try SingenBD3 (github.io)
See list of other web synthesizers (github.io)

SingenBD3 is possibly a bass drum synthesizer based on FM synthesis technique.

"Possibly" means that randomize is currently not well tuned and it mostly produce the sound far from bass drum. This is more suitable for quickly make sound effects, rather than to obtain drum sounds.

Depending on randomization and reverb settings, the stereo image can be quite strange. To reduce the stereo spread, click "Stereo" button on Overtone section, and reduce Mix value on Reverb section.

The reverb is using same algorithm as FDNReverb.

---

SingenBD3 を試す (github.io)
Web シンセサイザの一覧を見る (github.io)

SingenBD3 はバスドラムの音に特化した FM シンセサイザとなるはずでした。

実態としてはピッチが下降するよくわからない効果音をランダムに生成するシンセサイザとなっています。ランダマイズのチューニングが適当なので、ドラムの音の合成はあまり得意ではありません。

リバーブとランダマイズの設定によっては変なステレオ感になります。Overtone セクションの "Stereo" と表示されているボタンをクリックして、 Reverb セクションの Mix を下げることで左右の広がりを抑えることができます。

リバーブは FDNReverb と同じアルゴリズムを使っています。

2022/09/28

PadCymbal2

Try PadCymbal2 (github.io)
See list of web generators (github.io)

PadCymbal2 is now available. It is a successor of PADcymbal. Layer and serial comb section are the notable addition.

To get metallic texture, set nDelay to even number. When Feedback is not close to ±0.99, second peak with slow attack may appear.

---

PadCymbal2 を試す (github.io)
Webジェネレータのリストを見る (github.io)

PADcymbal を改善した PadCymbal2 を公開しました。PADcymbal との違いはレイヤと直列コムフィルタが追加されたことです。

nDelay を偶数にすると金属的な質感が出やすいです。また Feedback が ±0.99 付近でなければアタックの遅い 2 つ目のピークが現れることがあります。

2022/09/27

ClangCymbal Web Version / ClangCymbal の Web 版

Try ClangCymbal (github.io)
See list of other web generators (github.io)

ClangCymbal is ported to run on browser.

The page layout is messy. I'd recommend to reduce the zooming with Ctrl + Mouse Wheel.

Note that it doesn't run on Firefox for now.

---

ClangCymbal を試す (github.io)
他の Web ジェネレータの一覧を見る (github.io)

ClangCymbal をブラウザ上で動くように移植しました。

レイアウトの見通しが悪いですが、 Ctrl + マウスホイールなどで表示倍率を変えることで多少ましになります。

今のところ Firefox では動作しないので注意してください。

2022/09/24

SerialCombCymbal

Try SerialCombCymbal (github.io)
Go to the list of web synthesizers (github.io)

SerialCombCymbal is a cymbal-esque sound synthesizer using serially connected comb filters. Note that SerialCombCymbal doesn't work on current version of Firefox.

Below is a recipe to make cymbal like sounds:

  • Set nDelay to even number.
  • Set Feedback to some number close to -1.0, like -0.99.
  • Shorten Delay Time and Time Randomness.
  • Set Highpass Cutoff to lower than 100 Hz.
  • Set Highpass Q, Lowpass Cutoff, Lowpass Q to upper limit (default value).

It's also possible to make gong-ish sounds by increasing nDelay and subtly adding lowpass.

ClangCymbal was so heavy, so I was looking for faster cymbal synth algorithm. Then I found that Image-Line DrumPad can make some nice cymbal sounds. DrumPad was released for a decade ago, and CPU load is very small. After playing with it for a bit, I got a guess that DrumPad is using serially connected integer comb filter. Then SerialCombCymbal is made up from this guess.

---

SerialCombCymbal を試す (github.io)
Web シンセサイザの一覧を見る (github.io)

SerialCombCymbal は直列につないだコムフィルタによるシンバルのような音が合成できるシンセサイザです。コムフィルタと言っていますが、厳密にはリバーブで使われるようなフィードバックとフィードフォワードが両方ついたオールパスフィルタです。 Firefox 104 では動かないので注意してください。

以下はシンバル風の音を出すときのレシピです。

  • nDelay は偶数に設定。
  • Feedback を -0.99 など、 -1.0 に近い値に設定。
  • Delay Time と Time Randomness を適当に短くする。
  • Highpass Cutoff は 100 Hz 以下に設定。
  • Highpass Q, Lowpass Cutoff, Lowpass Q を、上限に設定。 (デフォルトのまま)

nDelay を増やしてローパスをうまくかけると銅鑼のような音も出ます。

ClangCymbal があまりにも重かったので何とかならないかと思っていたところ、 Image-Line の DrumPad でかなりいいシンバルの音が作れることを知りました。 DrumPad は 10 年以上前に公開されたシンセサイザということもあって CPU 負荷がかなり低いです。どうなっているのだろうと思いつつ Membrane セクションのパラメータを変えながら音を聞いたところ、整数ディレイによるコムフィルタを直列につないでいるような気がしました。この適当な観察からでっち上げたのが SerialCombCymbal です。

2022/09/22

FDN64Reverb on Web Browser/FDN64Reverb の Web 版

Try FDNReverb (github.io)

Web version of FDN64Reverb is now available. It was too heavy to run on real-time, so ported to run on browser with off-line (non real-time) computation. 64 is dropped from the name, because matrix size can be changed from 1 to 256.

Note that FDNReverb doesn't run on Firefox version 104 or earlier. It requires ECMAScript module support on Web Worker, which Firefox haven't implemented yet. Chrome or Safari can be used.

List of web synthesizers are also moved to new page.

---

FDNReverb を使う (github.io)

FDN64Reverb が重たくて使いづらかったのでブラウザ上で動くように移植しました。行列のサイズを 1 から 256 の範囲で変更できるので、名前を FDNReverb に変えています。

Firefox 104.0.2 では動作しないので注意してください。 Web Worker で ECMAScript module が使えないことが原因です。 Chrome での動作は確認しています。また MDN に掲載されている互換性の表によると Safari でも動作するようです。

Web シンセサイザの一覧も新しいページに移動しました。ページ上部で言語を日本語に変更できますが、今のところブラウザのクッキーを使っていないのでページを閉じるたびに設定がリセットされます。

2022/09/03

Animals - A Showcase of Uhhyou Plugins

 

"Animals" is an album, and a showcase of Uhhyou Plugins (うっひょうプラグイン).

Animal names used in titles are cut up from random Wikipedia articles.

Most of the composition is made by improvisation and overdub. But I'm bad at playing instruments and that's why rhythm is so inconsistent. Once this waddling mess is recorded, there appears some sparse part and dense part. While overdubbing, I put more notes on dense part, and not so much for sparse part. After some iteration, that waddling mess becomes a mass of waddling mess, and ended up as this album.

Plugin development, especially testing DSP components, was the hardest part of making this album. The first commit was 3 years ago, and I didn't even know how to write C++ at that time. The strategy here was perfecting the sound design part by developing plugins, so that I can just drop the random sound and it will be good. I'd call this circuitous John Cage strategy. I went through great effort of developing plugins, and finally threw the resulting sounds into WAV files after 3 years. But John Cage just dropped real physical objects into bathtub, and it sounds plainly gorgeous compared to my bastardized synthesizers which have to run on real-time.

Let's move on to the contents, and the advertisement of my plugins. Distinctive short decaying high metal tones are mostly made from EnvelopedSine, and that's the most used synthesizer in this album. Low drums in "Crimson-headed partridge" is also made from it. If you hear long decaying reverb, that's almost certainly comes out from L3/L4Reverb. You can hear them in "Ibexes and deer" and "Tigerwings". Those reverbs are the savior of my bad plays. They are also good to use with CollidingCombSynth. "Quagga" is the loudest piece in this album. Typical sound of ParallelComb and UltrasonicRingMod can be heard.

---

"Animals" は Uhhyou Plugins (うっひょうプラグイン) の音の見本となるアルバムです。

曲のタイトルの動物の名前は適当な Wikipedia の記事からカットアップしました。

このアルバムで苦労した点はプラグインの開発、特に DSP のテストです。最初のコミットは 3 年前の 2019 年で、そのときは C++ をろくに理解できていませんでした。今でもよく分かりません。方針としては、いい音の出るプラグインを作って投げやりに鳴らすということを念頭に置いていました。この方針を私は勝手に「回りくどいジョン・ケージ戦略」と呼んでいます。 YouTube で John Cage と検索すると浴槽に実際の物を次々と投げ込む動画が出てきますが、そんな投げやりなパフォーマンスでもリアルタイムで動かすために質が下がってしまったシンセサイザに比べると遥かにいい音が出ています。 Animals ではマイクによる録音という手っ取り早い方法を使わずに、わざわざ手間をかけて微妙な出来のシンセサイザを作った上で、適当に演奏した音を次々と WAV ファイルに投げ込むという回りくどいことをしているわけです。

曲のほとんどは即興とオーバーダブで作りました。リズムが無い、というかよれているのは私の演奏が下手だからです。よれよれであっても一度録音してしまえば、密な部分と疎な部分が現れます。そこにオーバーダブで密な部分をさらに密にするということを繰り返した結果のよれよれの塊が、このアルバムです。

話を曲の内容とプラグインの宣伝に移します。アルバム全体を通して現れる、金属的な短い減衰音のほとんどは EnvelopedSine によるものです。そのおかげで、このアルバムで最も使ったシンセサイザは EnvelopedSine となっています。また Crimson-headed partridge の冒頭から入っている低いドラムの音も EnvelopedSine によるものです。やたらと長く残る残響はまず間違いなく L3/L4Reverb を使っています。 Ibexes and deer や Tigerwings では、この残響をはっきりと聴くことができます。 L3/L4Reverb は私のどうしようもない演奏を何とかしてくれる素晴らしいエフェクトでした。 CollidingCombSynth とも相性がいいです。このアルバムでおすすめの一曲は最も音が大きい Quagga です。 ParallelComb と UltrasonicRingMod の典型的な音を聴くことができます。

2022/08/31

レイテンシのない畳み込み

レイテンシのない畳み込みを読む (github.io)

MiniCliffEQ の FIR フィルタの畳み込みのレイテンシを何とかしたときに調べたことを記事にしました。リンク先では William G. Gardner さんによる "Efficient Convolution Without Latency" で紹介されている最小計算コスト法 (minimum computation cost solution) と一定計算コスト法 (constant demand solution) を参考にして改変した手法を紹介しています。

画像は改変した手法の計算の概要と、各部の出力の遅延を示した図です。