Update: 2020-05-14
LatticeReverb はオールパスフィルタを格子状につないで入れ子にしたリバーブです。ディレイを使った高次のオールパスフィルタを使っています。
LatticeReverb の利用には AVX 以降の SIMD 命令セットをサポートする CPU が必要です。
パッケージには次のビルドが含まれています。
Mac を持っていないので、 macOS ビルドはテストできていません。もしバグを見つけたときは GitHub のリポジトリに issue を作るか、 ryukau@gmail.com
までメールを送っていただければ対応します。
Linux ビルドは Ubuntu 18.0.4 でビルドしています。また Bitwig 3.1.2 と REAPER 6.03 で動作確認を行いました。 Bitwig 3.1.2 では GUI が真っ黒になるバグがあるようです。
名前が .vst3
で終わるディレクトリを OS ごとに決められた位置に配置してください。
/Program Files/Common Files/VST3/
に配置します。$HOME/.vst3/
に配置します。/Users/$USERNAME/Library/Audio/Plug-ins/VST3/
に配置します。DAW によっては上記とは別に VST3 をインストールできるディレクトリを提供していることがあります。詳しくは利用している DAW のマニュアルを参照してください。
解凍して出てきたディレクトリを OS ごとに決められた位置に配置すると使えるようになります。
/Users/$USERNAME/Documents/VST3 Presets/Uhhyou
$HOME/.vst3/presets/Uhhyou
/Users/$USERNAME/Library/Audio/Presets/Uhhyou
プリセットディレクトリの名前はプラグインと同じである必要があります。 Uhhyou
ディレクトリが無いときは作成してください。
プラグインが DAW に認識されないときは C++ redistributable をインストールしてみてください。インストーラは次のリンクからダウンロードできます。ファイル名は vc_redist.x64.exe
です。
Ubuntu 18.0.4 では次のパッケージのインストールが必要です。
もし DAW がプラグインを認識しないときは、下のリンクの Package Requirements
を参考にして VST3 に必要なパッケージがすべてインストールされているか確認してみてください。
REAPER の Linux 版がプラグインを認識しないときは ~/.config/REAPER/reaper-vstplugins64.ini
を削除して REAPER を再起動してみてください。
つまみとスライダーでは次の操作ができます。
数値スライダーでは、上記に加えて次の操作ができます。
青い縦棒が並んだコントロール (BarBox) ではショートカットが使えます。ショートカットは BarBox を左クリックしてフォーカスすると有効になります。フォーカス後にマウスカーソルを BarBox の領域外に移動させると、ショートカットが一時的に無効になります。ショートカットによって変更されるパラメータはカーソルの位置によって変更できます。
左下のプラグイン名をクリックすると、よく使いそうな一部のショートカットを見ることができます。利用できる全てのショートカットを次の表に掲載しています。
入力 | 操作 |
---|---|
Ctrl + Left Click | デフォルト値にリセット |
Mouse Middle Drag | 直線の描画 |
d | すべての値をデフォルト値にリセット |
D | 最小値・中央値・最大値の切り替え |
e | 低域の強調 |
E | 高域の強調 |
f | ローパスフィルタ |
F | ハイパスフィルタ |
i | 値の反転 (最小値を保存) |
I | 値の反転 (最小値を 0 に設定) |
n | 最大値を 1 に正規化 (最小値もスケーリング) |
N | 最大値を 1 に正規化 (最小値を 0 に設定) |
p | ランダムに並べ替え |
r | ランダマイズ |
R | まばらなランダマイズ |
s | 降順にソート |
S | 昇順にソート |
t | 少しだけランダマイズ |
, (Comma) | 左に回転 |
. (Period) | 右に回転 |
1 | すべての値を低減 |
2-9 | インデックスが 2n-9n の値を低減 |
操作できる箇所を右クリックすると DAW によって提供されているコンテキストメニューを開くことができます。
サンプリング周波数によって出力が変わります。
次の手順に沿った操作が行われると出力が大きくなることがあります。
OuterFeed
あるいは InnerFeed
のいくつかを最大値あるいは最小値の近くに設定。OuterFeed
あるいは InnerFeed
の値を変更する。図が小さいときはブラウザのショートカット Ctrl + マウスホイール や、右クリックから「画像だけを表示」などで拡大できます。
図で示されているのは大まかな信号の流れです。実装と厳密に対応しているわけではないので注意してください。
Base
は左右のチャンネルで両方で使われる値です。 Base
によってリバーブの大まかな質感が決まります。
Offset
は左右のチャンネルの値の比率です。 Offset
によって左右の広がりを作ることができます。
if (Offset >= 0) {
valueL = Base
valueR = Base * (1 - Offset)
}
else {
valueL = Base * (1 + Offset)
valueR = Base
}
オールパスフィルタのディレイ時間です。
格子構造のフィードバック、フィードフォワードの値です。
格子構造の内側に入れ子になったオールパスフィルタのフィードバック、フィードフォワードの値です。
Time
、 OuterFeed
、 InnerFeed
の値をまとめて変更する係数です。リバーブの質感を変えずに減衰時間を変えるときに使えます。
ボタンを押すと Time
、 OuterFeed
、 InnerFeed
の Multiplier を 0 にしてリバーブの出力を止めます。
出力が想定外に大きくなったときなど、音を手早く止めたいときに使えます。
バイパスされる入力信号の音量です。
リバーブを通った信号の音量です。
格子の偶数段で左右のチャンネルの信号をミックスする割合です。
0 のときはもう片方のチャンネルからの信号はミックスされません。 0.5 のときは現在のチャンネルともう片方のチャンネルの信号比が 1:1 になります。
ミッドとサイド (M-S) の信号の比率です。
ミッドとサイドの信号は次の式で計算されます。
``` mid = left + right side = left - right
left = mid - Spread * (mid - side) right = mid - Spread * (mid + side) ```
パラメータを変更したときに、変更前の値から変更後の値へと移行する大まかな秒数です。
Time
、 OuterFeed
、 InnerFeed
の左右のチャンネルで共通する値を設定するタブです。
リバーブの大まかなキャラクタは Base タブの設定で決まります。
Time
、 OuterFeed
、 InnerFeed
の左右のチャンネル間での差を設定するタブです。
Offset タブの値を変えると左右の広がりが出ます。
LFO によって Time
を変調する量です。
LFO の波形はノイズ(一様乱数)です。 Time LFO Cutoff
と Smooth
の値によって滑らかさが変わります。
LFO にかけるローパスフィルタのカットオフ周波数です。
格子の各段に備えられたローパスフィルタのカットオフ周波数です。
リバーブの明るさを変更するときに役立ちます。
現在、旧バージョンはありません。
LatticeReverb のライセンスは GPLv3 です。 GPLv3 の詳細と、利用したライブラリのライセンスは次のリンクにまとめています。
リンクが切れているときは ryukau@gmail.com
にメールを送ってください。
VST is a trademark of Steinberg Media Technologies GmbH, registered in Europe and other countries.