max/msp リバーブ gigaverbについて

max/mspのリバーブgigaverbの中身の調べ
3
Yusuie ao / Fendoap @seitokisoukari

maxのgigaverbについて  gigaverbはモノラル入力→ステレオ出力のリバーブ 入力は二乗平均和を取る。1/√2=0.707... そのままローパスフィルターが掛かる。 パラメータ bandwidthはローパスフィルターの掛かり具合を調整する。 フィルターの種類はonepoleフィルター b0=1-|a1|で使用されている。 pic.twitter.com/nkBsIXaZ4q

2023-03-05 14:26:03
拡大
拡大
Yusuie ao / Fendoap @seitokisoukari

Z^-1の部分がhistoryオペレータ。 b0 = 1 - |a1| はmixの部分がそのような役割。 a1がマイナスだとローパス、プラスだとハイパスの役割。

2023-03-05 14:27:22
Yusuie ao / Fendoap @seitokisoukari

次はprediffuseという部分に信号が入る。 これはフィードバックディレイ。0.75のゲイン。ディレイタイムはroomsizeのパラメータと繋がっている。exprはサンプル数を出力すると思う。d/cTでサンプル数が計算できる。c=340 1/T=samplerate in1=d 0.11072は多分部屋の形状などの調整パラメータ。 pic.twitter.com/w0M6DGHTsD twitter.com/seitokisoukari…

2023-03-05 14:31:12
拡大
拡大
Yusuie ao / Fendoap @seitokisoukari

次はTap delaysに信号が入る。アーリーリフレクションの部分。roomsizeからはサンプル数が送られる。0.41や0.3 0.155は形状などの係数。+5はルームサイズが0の時の安全のためだと思う。revtimeからフィードバックゲインが計算されている。powは中身をまとめてしまったら少し速くなると思う。 pic.twitter.com/T3hfMGUkAq twitter.com/seitokisoukari…

2023-03-05 14:39:13
拡大
Yusuie ao / Fendoap @seitokisoukari

pow(10,-60/20)=0.001なのでこの部分は計算してしまっても良いかも。 二段に分けてexprが計算されている。この部分は指数法則の(a^x)^y=a^xyでまとめてしまっても良いかも。そうすると大体右と同じような感じの計算がされていると思う。 pic.twitter.com/n1yrMgxxpR

2023-03-05 14:43:34
拡大
拡大
Yusuie ao / Fendoap @seitokisoukari

earlyというパラメータはアーリーリフレクションの量を調整している。0~1 pic.twitter.com/QjPD9tCD38

2023-03-05 14:44:42
拡大
Yusuie ao / Fendoap @seitokisoukari

Tap delaysからFDNにも信号が入る。ディレイタイムやフィードバックゲインはTap delaysと同じように計算されている。*0.5はFDNの正規化係数  tailは量を調整する。 ワンポールフィルターがディレイに挟まっている。ローパスフィードバックディレイ。 かかり具合はdampingというパラメータが調整。 pic.twitter.com/TKQNAVN27d twitter.com/seitokisoukari…

2023-03-05 14:53:01
拡大
Yusuie ao / Fendoap @seitokisoukari

これで面白いのはここまでのリバーブはまだモノラル出力ということ。

2023-03-05 14:55:20
Yusuie ao / Fendoap @seitokisoukari

終段でDiffusion chainsに入る。 今気づいたけどフィードバックディレイの部分はall passフィルターですね。パラメータがマジックナンバーで理由は分からないけれど大まかにはここでステレオ感とかを出してる。spreadで左右のディレイタイムが変わる。 pic.twitter.com/ivNYrbCR7S

2023-03-05 15:01:02
拡大