Closed5

きれいなSuperSawをエミュるぞ

木瓜丸木瓜丸

背景

  • SuperSawを作りたくて、とりあえずWebAudioでSawを7個同時に慣らしてデチューンつけてみた
  • 結果、なんかそれっぽいけど浅倉大介の面影は1mmも感じないものができあがった
  • Unisonはオシレーターを重ねるだけとか嘘やんけ
木瓜丸木瓜丸

SuperSawについて

しらべてみた
https://ja.wikipedia.org/wiki/ローランド_JP-8000

最初に実装されたのは↑にある、ローランドJP8000というアナログシンセとのこと。

WikipediaではSuperSawについてこんなことが書いてあった。

Supersawはローランドが独自に開発した波形であり、JP-8000やJP-8080に代表される同社製シンセサイザーに搭載されている。Supersawは、1つのオシレーターで複数の鋸波オシレータを再現するというアイデアに基づいている。この波形は、それぞれ微妙に周波数が異なる鋸波7つを合成したものに相当する。

「再現するというアイデアに基づいている」(再現しているとは言っていない)

つまるところ、オシレーター1つで複数のオシレーターを鳴らしている風に聞かせるのがUnisonというやつなので、実際に同時にならしてウネウネになっているものに違和感を憶えるのは当然っぽい

木瓜丸木瓜丸

BLIT

↑の資料の中でBLITという単語に引っかかったので調べてみた
https://ccrma.stanford.edu/~stilti/papers/blit.pdf

ざっくり俺的解説

ナイキスト周波数

大概パソコンとかスマホで音をならしたり録音するときというのは、サンプリングレートが44100Hzとか48000Hzだったりするけど、実際に音として鳴るのは最大でその半分の22050Hzとか24000Hzになる。(FFTのせいで)
このサンプリングレートの半分の周波数をナイキスト周波数という。

帯域制限

これを踏まえて波形を考えると、例えば

(x) => if x % 1.0 < 0.25 {
    return x / 0.25;
}else if x % 1.0 < 0.75 {
    return x / 0.25 + 2.0;
}else{
    return x / 0.25 - 4.0;
}

みたいにして波形を作っても実際にはちょっと違った波形がでてくる。そこで、あらかじめナイキスト周波数から上をバッサリカットしてしまう。その時にでてくる音がBLITによって導ける。

木瓜丸木瓜丸

結局BLITに1mmも触れずに実装して成功したのでメモ

以前位相をずらすという試みをしたことはあったけど、そこの爪が甘かったせいで失敗していた。

オシレーターを7つ重ねて、それぞれランダムに位相をずらしてやる必要がある。よく考えれば当然だけど、規則的にずらすとうねってしまう。
以前はここを規則的にずらしてしまっていたせいでうまくいってなかった。

このスクラップは2022/04/11にクローズされました