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

こんな感じ。


仕組みは


信号を+と-にわけて、
大振幅時にゆるやかに歪むような値を計算。
  +側が 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。
ついでにつけたGUI。
。
間違ってました。ただしいのをあげます。
返信削除それからGUIもつけたのでそれも。
その後、linear to db外して軽くしたり、post gain付けたり。
返信削除atan()をtanh()にかえたらいい感じ。pi/2を1に。nは0.1~1。