soft clipper

前にatan()を使って真空管っぽい歪みを作るやつをつくったんだけど、ソフトクリップ用途に使うと音量も音質も大分変わるので、もうちょっとましなのを作ってみました。
こんな感じ。




仕組みは

信号を+と-にわけて、
大振幅時にゆるやかに歪むような値を計算。
  +側が y=atan((x-(1-n*pi/2)/n)*n+(1-n*pi/2) 
  -側が y=atan((x+(1-n*pi/2)/n)*n-(1-n*pi/2)  piは円周率。nは0.1~0.6くらいかなあ。
y=xと比べて振幅の小さい方を選んで
最後に足すとできあがり。

歪ませ方は
 切替部分でスムーズにつながる。
 クリップしない。yが1を超えない。
というのを考えながら、Grapherを使ってあれこれいじりながら決めました
間違ってたので修正。
ついでにつけたGUI。


コメント

  1. 間違ってました。ただしいのをあげます。
    それからGUIもつけたのでそれも。

    返信削除
  2. その後、linear to db外して軽くしたり、post gain付けたり。
    atan()をtanh()にかえたらいい感じ。pi/2を1に。nは0.1~1。

    返信削除

コメントを投稿