Back to Index

Update: 2022-08-08

Table of Contents

FDN64Reverb

FDN64Reverbエフディーエヌ 64 リバーブ はフィードバック・ディレイ・ネットワーク (FDN) を 1 つだけ搭載したリバーブです。しかしながら、フィードバック行列の大きさは 64 です。

パッケージには次のビルドが含まれています。

Linux ビルドは Ubuntu 20.04 でビルドしています。もし Ubuntu 20.04 以外のディストリビューションを使っているときは、プラグインが読み込まれないなどの不具合が起こることがあります。この場合はビルド手順に沿ってソースコードからビルドしてください。

連絡先

何かあれば GitHub のリポジトリに issue を作るか ryukau@gmail.com までお気軽にどうぞ。

paypal.me/ryukau から開発資金を投げ銭することもできます。現在の目標はよりよい macOS サポートのための M1 mac の購入資金を作ることです。 💸💻

インストール

プラグイン

名前が .vst3 で終わるディレクトリを OS ごとに決められた位置に配置してください。

DAW によっては上記とは別に VST3 をインストールできるディレクトリを提供していることがあります。詳しくは利用している DAW のマニュアルを参照してください。

プリセット

解凍して出てきたディレクトリを OS ごとに決められた位置に配置すると使えるようになります。

プリセットディレクトリの名前はプラグインと同じである必要があります。 Uhhyou ディレクトリが無いときは作成してください。

Windows

プラグインが DAW に認識されないときは C++ redistributable をインストールしてみてください。インストーラは次のリンクからダウンロードできます。ファイル名は vc_redist.x64.exe です。

Linux

Ubuntu 18.0.4 では次のパッケージのインストールが必要です。

sudo apt install libxcb-cursor0  libxkbcommon-x11-0

もし DAW がプラグインを認識しないときは、下のリンクの Package Requirements を参考にして VST3 に必要なパッケージがすべてインストールされているか確認してください。

REAPER の Linux 版がプラグインを認識しないときは ~/.config/REAPER/reaper-vstplugins64.ini を削除して REAPER を再起動してみてください。

macOS

注意: この節は英語で macOS を使用しているユーザからの報告によって作成されました。日本語でのエラーメッセージが分からなかったので曖昧な書き方になっています。

プラグインの初回起動時に「破損している」という趣旨のメッセージが表示されることがあります。この場合は、ターミナルを開いて、解凍した .vst3 ディレクトリに次のコマンドを適用してみてください。

xattr -rc /path/to/PluginName.vst3

プラグインは署名されていない (unsigned) 、または公証されていない (un-notarized) アプリケーションとして認識されることがあります。この場合は以下の手順を試してみてください。

  1. ターミナルを開いて sudo spctl --master-disable を実行。
  2. システム環境設定 → セキュリティとプライバシー → 一般 → ダウンロードしたアプリケーションの実行許可、を開いて 「全てのアプリケーションを許可」 を選択。

上記の手順を実行するとシステムのセキュリティが弱くなるので注意してください。元に戻すには以下の手順を実行してください。

  1. システム環境設定 → セキュリティとプライバシー → 一般 → ダウンロードしたアプリケーションの実行許可、を開いて 「App Store と認証済みの開発元からのアプリケーションを許可」 を選択。
  2. ターミナルを開いて sudo spctl --master-enable を実行。

参考リンク

GUI の見た目の設定

初回設定時は手動で次のファイルを作成してください。

プラグインのウィンドウを開くたびに style.json が読み込まれて更新されます。

既存の色のテーマを次のリンクに掲載しています。 style.json にコピペして使ってください。

style.json の設定例です。

{
  "fontFamily": "Tinos",
  "fontBold": true,
  "fontItalic": true,
  "foreground": "#000000",
  "foregroundButtonOn": "#000000",
  "foregroundInactive": "#8a8a8a",
  "background": "#ffffff",
  "boxBackground": "#ffffff",
  "border": "#000000",
  "borderCheckbox": "#000000",
  "borderLabel": "#000000",
  "unfocused": "#dddddd",
  "highlightMain": "#0ba4f1",
  "highlightAccent": "#13c136",
  "highlightButton": "#fcc04f",
  "highlightWarning": "#fc8080",
  "overlay": "#00000088",
  "overlayHighlight": "#00ff0033"
}

フォントオプション

以下はフォントオプションの一覧です。

カスタムフォントを使用するには、プラグインディレクトリの *.vst3/Contents/Resources/Fonts*.ttf ファイルを配置します。

注意: fontFamilyfontBoldfontItalic で設定したフォントファミリ名とスタイルの組み合わせが *.vst3/Contents/Resources/Fonts 以下のいずれかの *.ttf ファイルに含まれていないときは VSTGUI が指定するデフォルトフォントが使用されます。

fontFamily が長さ 0 の文字列 "" のときはフォールバックとして "Tinos" に設定されます。長さが 1 以上かつ、存在しないフォントファミリ名が指定されると VSTGUI が指定するデフォルトフォントが使用されます。

ボールドあるいはイタリック以外のスタイルは VSTGUI がサポートしていないので動作確認していません。該当する例としては Noto フォントの Demi Light や、 Roboto フォントの Thin や Black などがあります。

色のオプション

16 進数カラーコードを使っています。

プラグインはカラーコードの 1 文字目を無視します。よって ?102938\n11335577 も有効なカラーコードです。

2 文字目以降のカラーコードの値に 0-9a-f 以外の文字を使わないでください。

以下は設定できる色の一覧です。設定に抜けがあるとデフォルトの色が使われます。

操作

パラメータが割り当てられているコントロールの上で 右クリック すると、 DAW から提供されるコンテキストメニューが開きます。

つまみと数値スライダでは次の操作ができます。

青い縦棒が並んだコントロール (BarBox) ではショートカットが使えます。ショートカットは BarBox を左クリックしてフォーカスすると有効になります。フォーカス後にマウスカーソルを BarBox の領域外に移動させると、ショートカットが一時的に無効になります。ショートカットによって変更されるパラメータはカーソルの位置によって変更できます。

左下のプラグイン名をクリックすると、よく使いそうな一部のショートカットを見ることができます。利用できる全てのショートカットを次の表に掲載しています。

入力 操作
左ドラッグ 値の変更
Shift + 左ドラッグ 値の変更 (スナップ)
Ctrl + 左ドラッグ デフォルト値にリセット
Ctrl + Shift + 左ドラッグ 値の変更 (フレーム間の補間が無効)
ホイールドラッグ 直線の描画
Shift + ホイールドラッグ 1 つのバーを編集
Ctrl + ホイールドラッグ デフォルト値にリセット
Ctrl + Shift + ホイールドラッグ ロックの切り替え
a 符号を交互に入れ替え
d すべての値をデフォルト値にリセット
D 最小値・中央値・最大値の切り替え
e 低域の強調
E 高域の強調
f ローパスフィルタ
F ハイパスフィルタ
i 値の反転 (最小値を保存)
I 値の反転 (最小値を 0 に設定)
l マウスカーソル下のバーのロックの切り替え
L 全てのバーのロックを切り替え
n 最大値を 1 に正規化 (最小値を保存)
N 最大値を 1 に正規化 (最小値を 0 に設定)
p ランダムに並べ替え
r ランダマイズ
R まばらなランダマイズ
s 降順にソート
S 昇順にソート
t 少しだけランダマイズ (ランダムウォーク)
T 少しだけランダマイズ (0 に収束)
z アンドゥ
Z リドゥ
, (Comma) 左に回転
. (Period) 右に回転
1 すべての値を低減
2-9 インデックスが 2n-9n の値を低減

Shift + 左ドラッグ のスナップは一部の BarBox だけで有効になっています。特定の BarBox にスナップを追加したいという要望があれば、気軽に GitHub のリポジトリに issue を開いてください。

Shift + ホイールドラッグ による 1 つのバーを編集は、マウスホイールが押された時点でカーソルの下にあるバーだけを編集します。マウスホイールが押されている間はカーソルの左右の位置に関わらず、選択したバーのみを編集できます。

Ctrl + Shift + ホイールドラッグ によるロックの切り替えでは、マウスホイールが押された時点でカーソルの下にあるバーの反対の状態が残り全てに適用されます。例えばカーソルの下のバーがアクティブだったときはロックに切り替えます。

いくつかの BarBox の下にはスクロールバーがついています。細かい調整を行うときはスクロールバーの左右のハンドルを 左ドラッグ で動かすことで表示範囲を変更できます。スクロールバーでは次の操作が行えます。

注意

Feedback の値が 1 のときに Highpass Cutoff の値を 0 にすると入力信号によっては極端な直流が乗ることがあります。

ブロック線図

図が小さいときはブラウザのショートカット Ctrl + マウスホイール や、右クリックから「画像だけを表示」などで拡大できます。

図で示されているのは大まかな信号の流れです。実装と厳密に対応しているわけではないので注意してください。

パラメータ

Delay Time [s]

ディレイ時間の秒数です。最終的なディレイ時間の秒数は以下の式で計算されます。

delayTime = (Time Multi.) * (Delay Time) + (Time LFO Amount) * random().

ディレイ時間は 1 秒を超えることはないので注意してください。例えば Delay Time を最大に設定すると Time LFO Amount の値によらず LFO はかかりません。

Time LFO Amount [s]

ディレイ時間に加算される LFO の量です。例えば Time LFO Amount の値が 0.1 ならディレイ時間の最大値は (Delay Time) + 0.1 秒になります。

Interp. Rate が 1.0 を超えると変調によるノイズが目立ち始めます。とにかく滑らかな音が欲しいときは Interp. Rate を 0.25 以下にすることを推奨します。

Lowpass Cutoff [Hz]

ディレイの出力にかかるローパスフィルタのカットオフ周波数です。

Highpass Cutoff [Hz]

ディレイの出力にかかるハイパスフィルタのカットオフ周波数です。

Feedback の値が 1 のときに Highpass Cutoff の値を 0 にすると直流が乗ることがあるので注意してください。

Delay

Time Multi.

Delay Time に乗算される値です。まとめてディレイ時間を変えたいときに便利です。

Feedback

FDN からフィードバックされる量です。別の言い方をすると FDN のフィードバック行列に掛け合わされるスカラーです。

1.0 に近づくほどリバーブ時間が長くなります。 1.0 のとき、ほとんど減衰しなくなります。このときは Gate を使って残響を打ち切ることができます。

Interp. Rate

ディレイ時間の変動を補間するレートリミッタの 1 サンプルあたりの制限量です。例えば Interp. Rate が 0.1 のときは、 10 サンプル経過でディレイ時間が 0.1 * 10 = 1 サンプル変わります。

Gate [dB]

ゲートのしきい値です。

入力振幅が Gate の値を一定時間下回ると、 Stereo Cross の値を内部的に変調して出力振幅を 0 にします。

このゲートは Rotation 使用時にフィードバックを打ち切るためにつけた機能です。リリース時間は約 5 ms です。

Matrix

フィードバック行列の種類です。この値を変更するとポップノイズがでることがあるので注意してください。

GUI 上の略称 行列名 追加情報
Ortho. 直交行列
S. Ortho. 特殊直行行列
Circ. Ortho. 巡回行列
Circ. 4 巡回行列 1 行当たりの非ゼロ要素が 4 特殊効果
Circ. 8 巡回行列 1 行当たりの非ゼロ要素が 8 特殊効果
Circ. 16 巡回行列 1 行当たりの非ゼロ要素が 16 特殊効果
Circ. 32 巡回行列 1 行当たりの非ゼロ要素が 32 特殊効果
Upper Tri. + 上三角行列 ランダマイズ範囲が [0, 1]
Upper Tri. - 上三角行列 ランダマイズ範囲が [-1, 0]
Lower Tri. + 下三角行列 ランダマイズ範囲が [0, 1]
Lower Tri. - 下三角行列 ランダマイズ範囲が [-1, 0]
Schroeder + シュローダー・リバーブ行列 ランダマイズ範囲が [0, 1]
Schroeder - シュローダー・リバーブ行列 ランダマイズ範囲が [-1, 0]
Absorbent + 吸収オールパス行列 ランダマイズ範囲が [0, 1]
Absorbent - 吸収オールパス行列 ランダマイズ範囲が [-1, 0]
Hadamard アダマール行列 行列の性質よりランダマイズ無効
Conference カンファレンス行列 行列の性質よりランダマイズ無効

質は大まかな目安です。ショートディレイによる金属的な質感が出やすいものは低、出にくいものは良としています。特殊効果としているものは一般的なリバーブとしては音が変という意味です。 Rotation の効果は質が低いほど聞こえやすくなります。

Seed

フィードバック行列のランダマイズに使われるシード値です。この値を変更するとポップノイズがでることがあるので注意してください。

Change Matrix

フィードバック行列をランダマイズするボタンです。押すたびに Seed の値が変更されます。この値を変更するとポップノイズがでることがあるので注意してください。

Mix

Dry [dB]

FDN をバイパスした入力にかけ合わせられるゲインです。

Wet [dB]

FDN の出力にかけ合わせられるゲインです。

Stereo Cross

左右のチャンネルの FDN の出力をクロスしてフィードバックする量です。 1.0 にすると発散を防ぐために入力を止めてしまうので注意してください。

Rotation

Speed [Hz]

FDN への入力ゲインを回転させる速度です。

Offset

入力ゲインの回転に使われる波形の初期位相です。

Speed が 0 かつ Skew が 0 より大きいときに音を変えることができます。どのような音になるかはフィードバック行列のランダマイズに大きく影響されます。

Skew

入力ゲインの回転に使われる波形を変更します。 Skew が 0 のときは SpeedOffset を変えても音が変わらないので注意してください。

以下は Skew と波形の関係についてのプロットです。

Image of plot of relation between `Skew` parameter and rotation waveform. The equation of waveform is `exp(skew * sin(ω * t))`.

チェンジログ

旧バージョン

ライセンス

FDN64Reverb のライセンスは GPLv3 です。 GPLv3 の詳細と、利用したライブラリのライセンスは次のリンクにまとめています。

リンクが切れているときは ryukau@gmail.com にメールを送ってください。

VST® について

VST is a trademark of Steinberg Media Technologies GmbH, registered in Europe and other countries.