Back to Index

Update: 2020-06-15

Table of Contents

EnvelopedSine

EnvelopedSineエンベロープド サインはノート 1 つあたり 64 のサイン波を計算する加算合成シンセサイザです。各サイン波に AD エンベロープとサチュレータがついているので IterativeSinCluster よりもパーカッシブな音が得意です。

EnvelopedSine を使うには CPU が AVX 以降の SIMD 命令セットをサポートしている必要があります。

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

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 ごとに決められた位置に配置してください。

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 を再起動してみてください。

色の設定

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

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

style.json の設定例です。

{
  "fontPath": "",
  "foreground": "#ffffff",
  "foregroundButtonOn": "#000000",
  "foregroundInactive": "#8a8a8a",
  "background": "#353d3e",
  "boxBackground": "#000000",
  "border": "#808080",
  "borderCheckbox": "#808080",
  "unfocused": "#b8a65c",
  "highlightMain": "#368a94",
  "highlightAccent": "#2c8a58",
  "highlightButton": "#a77842",
  "highlightWarning": "#8742a7",
  "overlay": "#ffffff88",
  "overlayHighlight": "#00ff0033"
}

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

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

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

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

操作

操作できる箇所を右クリックすると DAW によって提供されているコンテキストメニューを開くことができます。

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

OctaveSeed などで使われている数値スライダーでは、上記に加えて次の操作ができます。

AttackDecayGainSaturation を操作する、青い縦棒が並んだインターフェイス (BarBox) ではショートカットが使えます。ショートカットは BarBox を左クリックしてフォーカスした上で、マウスカーソルが BarBox の領域内にあるときだけ有効になります。左下にあるプラグインのタイトルをクリックするとショートカットの一覧を見ることができます。

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

ブロック線図

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

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

パラメータ

Overtone

右上にある 4 つの大きなコントロールです。

Attack, Decay

各オシレータの音量エンベロープのアタックとディケイです。

Gain

各オシレータの音量です。

Saturation

各オシレータのサチュレーションの大きさです。

Gain

Boost, Gain

どちらも音量を調整します。出力のピーク値は Boost * Gain となります。

Pitch

Add Aliasing

チェックを入れると、ナイキスト周波数より高い周波数が指定されたサイン波もレンダリングします。

ナイキスト周波数とは、ざっくりいえば録音したデータが再現可能な最高周波数のことです。音を生成するときはナイキスト周波数以上の値を指定することができますが、折り返し(エイリアシング)と呼ばれる現象によって計算結果は予期しない周波数になってしまいます。 Add Aliasing は、こうしたエイリアシングノイズを足し合わせるオプションです。

Octave

ノートのオクターブです。

Multiply, Modulo

サイン波の周波数を変更します。

計算式は ノートの周波数 * (1 + fmod(Multiply * pitch, Modulo)) のようになっています。 pitch はノートの音程と倍音のインデックスから計算される係数です。 fmod(a, b)ab で割った余りを計算する関数です。

Expand

倍音コントロールのインデックスを拡大・縮小するスケーリング係数です。

Shift

倍音コントロールのインデックスを右シフトする量です。

Random

ランダマイズに関するパラメータです。 Unison にチェックを入れた状態で使うと効果的です。

Retrigger

チェックを入れると、ノートオンごとに乱数列をリセットします。

Seed

乱数のシード値です。この値を変えると生成される乱数が変わります。

To Gain, To Attack, To Decay, To Sat.

倍音コントロールの値をランダマイズします。ランダマイズの式は value * random です。 random の値の範囲は [0.0, 1.0) です。

To Pitch

ピッチをランダマイズします。

To Phase

位相をランダマイズします。

Misc.

Smooth

特定の値を変更したときに、変更前の値から変更後の値に移行する時間(秒)です。

Smooth と関連するパラメータのリストです。 * はワイルドカードです。

他のパラメータはノートオンのタイミングで指定されていた値を、ノートの発音が終わるまで使い続けます。

nVoices

最大同時発音数です。

Unison

チェックを入れるとユニゾンを有効にします。

ユニゾンが有効になると 1 つのノートについて左右のチャンネルに 1 つずつボイスを配置します。 Random.To PhaseRandom.To Pitch と組み合わせることで広がりのある音を作ることができます。

Modifier

Attack*, Decay*

倍音コントロールの AttackDecay にかけ合わせる値です。まとめて長さを変えたいときに使えます。

Declick

チェックを入れると、倍音コントロールの Attack あるいは Decay の値が 0 のときに生じるプチノイズを低減します。各オシレータのピッチに応じた値を足し合わせます。

Gain^

倍音コントロールの Gain をべき乗する値です。 1 つのオシレータの最終的なゲインは次の式で計算されます。

Gain.Boost * Gain.Gain * pow(Overtone.Gain, Modifier.Gain^)
Sat. Mix

サチュレーションの Dry : Wet の信号比です。右いっぱいにすると Dry : Wet = 0 : 1 になります。

Phaser

nStages

オールパスフィルタの数です。

Mix

フェイザの Dry : Wet の信号比です。右いっぱいにすると Dry : Wet = 0 : 1 になります。

Freq

LFO の周波数です。

Feedback

フィードバックの大きさです。 12 時にするとフィードバックなし、左に回すと負のフィードバック、右に回すと正のフィードバックとなります。

Range

LFO によって変更するオールパスフィルタの特性の幅です。

Min

LFO によって変調するオールパスフィルタの特性の最小値です。

Offset

左右の LFO の位相差です。

Phase

LFO の位相です。オートメーションで音を作りたいときに使えます。 Freq を左いっぱいに回すことで LFO の周波数を 0 にできます。

チェンジログ

旧バージョン

ライセンス

EnvelopedSine のライセンスは GPLv3 です。 GPLv3 の詳細と、利用したライブラリのライセンスは次のリンクにまとめています。リンクが切れているときは ryukau@gmail.com にメールを送ってください。

VST® について

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