2023/03/25

TestBedSynth β (0.0.1)

β version of a new synthesizer is avaiable. Download link is found on the link below.

TestBedSynth β · ryukau/VSTPlugins · Discussion #34

Development was started because I felt that preparing wavetable for Vital was cumbersome. This synthesizer is using is the oscillator algorithm found in Vital's source code. The focus is to quickly make strange modulation sound.

Performance might be bad on low latency settings. CPU load spikes for every 7 ms, due to refreshing internal wavetable using FFT and IFFT. If the output is stuttering, increasing buffer size of audio interface might solve the problem.

---

新しいシンセサイザの β 版を公開しました。以下のリンクからダウンロードできます。

TestBedSynth β · ryukau/VSTPlugins · Discussion #34

このシンセサイザは Vital のウェーブテーブルを用意するのが面倒だと感じたことで開発を始めました。オシレータは Vital と同じアルゴリズムを使っています。用途としては変調をさくっとかけて変な音を作ることに特化しています。

レイテンシを減らすためにオーディオインターフェースのバッファを短く設定している環境ではパフォーマンスが悪いかもしれません。内部のウェーブテーブルを更新するため 7 ミリ秒ごとに FFT と逆 FFT を行っているので、その時点でのみ CPU 負荷が跳ね上がります。

2023/03/11

ComplexRotation and ImmediateSpacer

New plugins ComplexRotation and ImmediateSpacer are in development. Below are links to discussions on GitHub.

Update on 2023-03-19: Version 0.1.0 is available on GitHub release page. Names are changed as following.

  • ComplexRotation to AccumulativeRingMod.
  • ImmediateSpacer to RingModSpacer.

@KlashKontakt brought the idea, and I thought it's a nice small project to do.

ComplexRotation can add texture similar to FM for arbitrary signal. This one is a wild guess to imitate the sound of Phase Distortion. A bit of technical detail is written on this comment. It's basically AM modulation, but phase of modulator is accumulated from input signal.

ImmediateSpacer is side chain ring modulator described in this Renoise forum post. This method is described as a mixing technique. However, it sounds distorted compared to typical side chain limiter.

---

2023-03-19 更新: バージョン 0.1.0 を GitHub のリリースページで公開しました。以下のように名前を変えました。

  • ComplexRotation → AccumulativeRingMod
  • ImmediateSpacer → RingModSpacer

 ---

ComplexRotation と ImmediateSpacer というプラグインを作りました。以下は GitHub でのディスカッションへのリンクです。

2023-03-19 更新: バージョン 0.1.0 を GitHub のリリースページで公開しました。以下のように名前を変えました。

  • ComplexRotation → AccumulativeRingMod
  • ImmediateSpacer → RingModSpacer

@KlashKontakt さんのアイデアで話が始まり、簡単にできそうだったので開発を始めました。

ComplexRotation は任意の信号に FM シンセサイザのような癖をつけることができるエフェクタです。 Phase Distortion というプラグインの音から適当に推定したアルゴリズムを使っています。もう少し詳しいことをディスカッションのコメントに書いています。基本的には振幅変調ですが、それまでに入力された信号の振幅の和を変調波の位相として使っている点が異なります。

ImmediateSpacer は Renoise フォーラムの投稿で紹介されていたサイドチェインによるリングモジュレータです。ミキシングの手法として紹介されていますが、通常のサイドチェインリミッタに比べると音がかなり歪みます。

2023/01/26

UltraSynth

Download and User Manual (github.io)
Source Code (github.com)

UltraSynth is an ordinary synthesizer except 64-fold oversampling that is the same one used in UltrasonicRingMod. Because of the high oversampling ratio, modulation sound is okay. However CPU load is high.

LFO can be used as a ring modulator with `Pre Sat.`, when `Rate` is high.

---

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

UltraSynth は UltrasonicRingMod と同じく 64 倍のオーバーサンプリングを行っていることを除けば、これといった特長のないモノフォニックのシンセサイザです。オーバーサンプリングの倍率が高いので変調をかけた音が得意ですが、 CPU 負荷は高めです。

LFO の周波数を高くすれば、 `Pre Sat.` をリングモジュレータのように使えます。

2023/01/21

旋回

旋回 is an album made from fast and repetitive arpeggios and stacked chords. This album was originally made in 2017, and slightly modified in 2023.

Original track names were like ---0001, ---0002 and so on. They weren't good, so new names were assigned while compiling the album. I looked up through a window in my room and saw blue sky, then decided to put the names that implies "flying in the air".

The texture is similar to usual ambient drone tracks, except that I didn't attempt to suppress high frequencies. At the beginning, it was intended to be noise album. I was thinking that simple synthesizer sound like sawtooth or square wave are louder than typical harsh noise made from feedback and distortion. So the intention is to play with maximum gain of available sound system, possibly on outside of a sunny day while laying down on a bed.

Most of the tones are made by randomizing 3x Osc, which is a synthesizer available on FL Studio. I didn't turned on "HQ" (high quality) button to remove aliasing noise. This might be slightly contributed to the texture.

---

旋回は、早く、繰り返すアルペジオと多くのノートを積み重ねたコードからなるアルバムです。 2017 年に初版を作成して 2023 年に改変しました。

曲名は元の名前が ---0001 や ---0002 など、あまりにも適当だったのでアルバムの編集中につけました。窓の外に青い空が見えたので「空を飛んでいる」ということを、なんとなく意味するような名前にしています。

音は、よくあるアンビエント・ドローンと似たような質感ですが、高い部分を抑えていない点があまりアンビエントではありません。作り始めたときはノイズになる予定でした。のこぎり波や矩形波のような単純なシンセイサイザの音がフィードバックを歪ませてつくるノイズよりも音が大きく感じたので、それで曲を作ればうるさくなるだろうと思ったわけです。なので、できる限り大きな音で再生することを意図しています。できれば晴れた日の屋外で、ベッドに寝ころびながら聴くことができれば最高によく眠れる気がします。

ほとんどの音は 3x Osc という FL Studio 付属のシンセイサイザをランダマイズして作りました。 HQ (High Quality) ボタンを有効にせず、エイリアシングノイズはそのままにしています。これも少しは音の質感に貢献しているかもしれません。

2023/01/19

ParallelDetune

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

ParallelDetune is a detuning effect with 8 pitch shifters connected in parallel. It can be used to spread stereo image similar to chorus effect.

Pitch shifter is the same algorithm used in PitchShiftDelay and NarrowingDelay. It was designed to be thinly applied, so the oversampling ratio is set to 2-fold.

ParallelDetune and PitchShiftDelay can be used as barber-pole flanger by setting delay time to be short and subtly shifting the pitch. When looking at spectrogram of the output of barber-pole flanger, stripes that looks like always ascending or descending can be observed.

---

ダウンロード (github.com)
ソースコード (github.com)

ParallelDetune は 8 つのピッチシフタを並列につないだエフェクタです。モノラルの音に薄くかけてコーラスのようにパンを左右に広げることもできます。

ピッチシフタは PitchShiftDelay や NarrowingDelay と同じものを使っていますが、薄くデチューンをかけるという用途を念頭に置いて作ったのでオーバーサンプリングが 2 倍と低めになっています。

ParallelDetune と PitchShiftDelay はディレイ時間とピッチシフトの量を両方とも小さく設定することで、いわゆるバーバーポール・フランジャーとしても使えます。バーバーポールというのは理髪店の店頭によく置いてある赤白青の螺旋が回転している看板のことです。バーバーポール・フランジャーをかけた音は、スペクトログラムに上昇あるいは下降し続ける縞模様が現れるのですが、これを理髪店の看板に例えているのかと思います。

2023/01/18

NarrowingDelay

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

NarrowingDelay is a delay with serially connected pitch shifter and frequency shifter on feedback path. The spectrum of input signal can be narrowed or expanded for each feedback. It is more suitable for sound without stable pitch. Note event can be used to control frequency shift amount.

This one is made without much thought, and I have no concrete idea when to use it. From a bit of experimentation, I found that it can add some ambience for high frequency sounds like hi-hats. Feedback was set to low in this case. Perhaps the dissonance is hard to perceive in high frequency range.

---

ダウンロード (github.com)
ソースコード (github.com)

NarrowingDelay は直列につないだピッチシフタと周波数シフタがフィードバック経路に設けられたディレイです。フィードバックのたびに音のスペクトラムを周波数軸の方向に広げる、あるいは狭めることができます。どちらかと言えばピッチが一定しない音との相性がいいです。ノートイベントで周波数シフタのシフト量を制御することもできます。

適当に作ったので用途がよくわからないのですが、フィードバックを低めにしてハイハットなどの高い音に薄くかけると雰囲気がでます。周波数が高くなると音程があっていないことが分かりづらくなることが理由かと思います。

2023/01/08

Psychic Reporter

Psychic Reporter is an album of my old electronic tracks. Almost all sounds are synthesized, and that makes up the cold and hollow texture throughout the album.

The name of album comes from a sampling used in D40, which says 「超能力を発揮してみたいと思います。」 ("Let me exercise my psychic power.") This sample was obtained from an old video where a news reporter is interviewing someone. The phrase was a humorous way to say "Let me guess what you are thinking about." I found it funny because the phrase felt so outdated, but kind of refreshing at the same time. I haven't heard the word 超能力 for a long time. The reporter was saying the phrase in casual manner with full of a smile in his face, and that was also contributed to the humor.

The selling point of this album is saturated high frequencies. I was focusing too much to saturate high, and it basically masked all the mid components. This resulted in a bit monotonous texture. Most of the sounds are short decaying one-shot samples made from FM synthesizer. Short decaying part was important because I was trying to make percussive tracks. FM is good at saturating high with aliasing. The name of tracks like D something are meant to be used for those tracks that have similar texture. However, the naming scheme is bad. It's hard to remember which number corresponds to which sound.

From engineering point of view, high is usually reduced to prevent true-peak clipping. I wouldn't like to reduce any high, so made a true-peak limiter using FFT resampling. Not sure if it also works on other environment, but at least it stopped clipping on my cheap speaker.

---

Psychic Reporter は私の古いエレクトロニック系のトラックを集めたアルバムです。ほとんどすべての音がシンセサイザで合成されているので、冷たく、虚ろな質感になっています。

アルバム名は D40 で使った「超能力を発揮してみたいと思います」というサンプリングからつけました。このサンプルは何かの古いニュースで、レポーターがインタビューを行っている場面から切り取りました。文脈としては「あなたが何を考えているのか当ててみたいと思います」ということを冗談めかして言っていたのですが、超能力という言葉を長いこと耳にしていなかったので、古臭くも新鮮な感じがして何度聞いてもつい笑ってしまいます。レポーターが満面の笑みを湛えつつカジュアルにさらっと言っていたこともフレーズの面白さに一役買っています。

このアルバムの売りどころは音の高い部分が飽和しているところです。とにかく音の高い部分を強調したかったのですが、やりすぎてミッドの周波数成分がマスキングによってあまり聞こえなくなってしまいました。このおかげで、やや単調な質感になっています。ほとんどの音は FM シンセサイザで作った短く減衰するワンショット・サンプルです。パーカッシブな曲を作りたかったので減衰を短くしました。 FM はエイリアシングによって高い部分を飽和させることに適しています。似たような手法を使った曲に D(番号) という曲名をつけていたのですが、どの番号がどの音に対応するのか思い出しにくいので、いいアイデアではなかったです。

音のエンジニアリングとしてはトゥルーピークによるクリッピングを防ぐために通常は音の高い部分のゲインを下げます。しかし、私のこだわりとして飽和させた音の高い部分を下げたくなかったので FFT リサンプリングを行うトゥルーピーク・リミッタを作って使っています。このリミッタによって私の持っている安いスピーカーではクリッピングがなくなりましたが、他の環境でも効果があるかどうかはわかりません。

2023/01/01

CombDistortion

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

CombDistortion is a distortion using self-modulating comb filter. Raw output sounds harsh, and it is better to use with external cabinet impulse response. Note event can be used to control delay time of comb filter.

If it feels a bit cumbersome to prepare cabinet impulse response,  equalizer may be used instead. A trick is to cut the high from somewhere around 4000 Hz, and to create peaks and dips of about ±10 dB with peaking. Slightly mixing short delay or short reverb is also useful.

---

ダウンロード (github.com)
ソースコード (github.com)

CombDistortion は自己変調するコムフィルタを使ったディストーションです。そのままの出力はざらざらと耳障りなので、キャビネットのインパルス応答と併せて使うことを想定しています。ノートイベントでコムフィルタのディレイ時間を制御できます。

キャビネットのインパルス応答を用意するのが面倒であればイコライザでごまかすこともできます。コツは思い切って 4000 Hz あたりから上を落とすことと、ピーキングで適当に ±10 dB くらいの山と谷を作ることです。ショートディレイや短いリバーブを薄く混ぜると、より雰囲気が出ます。

2022/12/31

LongPhaser

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

LongPhaser is a phaser using Schroeder all-pass filters which is able to set some long delay time. The sound is like somewhere between delay and phaser. It feels a bit underwhelming, however modulation with LFO and note events may be used to compensate the lack of character.

Output becomes darker by increasing `Stage`. This is due to linear interpolation used in delay. Turning off the oversampling emphasize the effect, but it might be useful to add some character.

When modulating delay time by increasing `LFO > Time`, it might be better to also change `Interp. Rate` at the same time to control the character of modulation. Setting `Interp. Rate` to integer value by using Shift + Middle Mouse Click might make the clear texture. The change of texture caused by `Interp. Rate` is the same one that can be heard in ParallelComb.

---

ダウンロード (github.com)
ソースコードを見る (github.com)

LongPhaser は遅延時間を長くできる Schroeder オールパスフィルタを使ったフェイザです。ディレイとフェイザを足して 2 で割ったような音が出ます。 2 で割った物足りなさを補うために LFO やノートイベントで変調をかけることができます。

ディレイで行っている線形補間の影響で `Stage` の数を増やすほど音の高い部分が低減されて、暗い音になります。オーバーサンプリングを無効にすると線形補間の影響がはっきりと分かるくらいになりますが、逆に味付けとして使えるかもしれません。

`LFO > Time` を上げてディレイ時間を変調するときは `Interp. Rate` も同時に調整すると音の質感を変えることができます。また `Interp. Rate` を Shift + ホイールクリックで整数に設定することで、ディレイ時間が大きく変化したときのピッチシフトが整数倍となって聞きやすい音が出せます。この効果は ParallelComb の特徴的な音が出る仕組みと同じです。

2022/12/30

OrdinaryPhaser

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

OrdinaryPhaser is an ordinary phaser with a delay on feedback path. Note events can be used to control all-pass cutoff frequencies and delay time. Usual first order all-pass filter is used.

Phaser has some tuning possibility around the spread of cutoff frequency (cutoff spread) , and how to apply LFO signal to cutoff frequency. In OrdinaryPhaser, cutoff spread can be smoothly transformed between uniform (1, 1, 1, ...) and overtones (1, 2, 3, ...) by changing `Cut Spread` parameter. LFO signal goes through exp2 function, and is multiplied to all-pass cutoff frequency.

Probably the use of distortion and second or higher order all-pass filters could provide more character to phaser.

---

ダウンロード (github.com)
ソースコードを見る (github.com)

OrdinaryPhaser はフィードバック経路にディレイが搭載されている点を除けば、よくある普通のフェイザです。ノートイベントによってオールパスフィルタのカットオフ周波数とディレイ時間を制御できます。フィルタには 1 次オールパスフィルタを使っています。

フェイザは、カットオフ周波数の分布と、 LFO のスケーリングについてチューニングの余地があります。 OrdinaryPhaser のカットオフ周波数の分布は `Cut Spread` によって一様 (1, 1, 1, ...) と倍音列 (1, 2, 3, ...) との間で滑らかに切り替えられます。また、 LFO による変調は exp2 を通した値をカットオフ周波数に乗算しています。

2 次以上のオールパスフィルタや歪みの導入によって、より個性的な音が出せるかもしれません。

2022/12/01

MaybeSnare の VST 3 版

Download and User Manual (github.io)
Source Code (github.com) 

MaybeSnare is a synthesizer that resembles sound of snare drum. This is basically 2 MembraneSynth coupled by cross feedback. Snare wire is not included. However, the noise of modulation adds rattling texture similar to snare wire.

To make snare drum sound, set a side with weak modulation and higher pitch, and another side with strong modulation and lower pitch. `Interp. Rate` are the strength of modulation, and `Snare Side Octave` is the difference of pitch between 2 sides. Also set `LP Cut` to higher value for the side with strong modulation, to emphasize rattling of snare wire.

On mix, it's better to use with equalizer, limiter, or saturator to trim the output.

---

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

MaybeSnare はスネアドラムのような音が出るシンセサイザです。中身は 2 つの MembraneSynth が相互にフィードバックをかけるような構造になっています。スナッピーはついていませんが、変調のかけすぎによるノイズによって似たような音が出ます。

チューニングのコツとしては、片面はモジュレーション弱めかつピッチ高め、もう片面はモジュレーション強めかつピッチ低めに設定することでスネアドラムに近い音が出ます。モジュレーションの強弱は Interp. Rate 、ピッチの差は Snare Side Octave で設定できます。モジュレーションを強くした面は、 LP Cut の値を高めに設定することでスナッピーによるノイズのような音が目立つようになります。

他の音と混ぜるときはイコライザで整えたり、リミッタやサチュレータでダイナミックレンジを潰したほうが雰囲気が出ます。