diff --git a/docs/dev_note/vst3_dev.html b/docs/dev_note/vst3_dev.html index 5d34eac0..cc73083d 100644 --- a/docs/dev_note/vst3_dev.html +++ b/docs/dev_note/vst3_dev.html @@ -5,7 +5,7 @@ - + vst3_dev + + + + + +
+

Back to Index

+

+ Update: 2019-12-09 +

+
+ Table of Contents + +
+
+

IterativeSinCluster

+

+

IterativeSinCluster is an additive synthesizer. This synth computes 512 sine waves for each note to make tone cluster.

+ +

The package includes following builds:

+ +

IterativeSinCluster requires CPU to support AVX2 instructions.

+

macOS build isn’t tested because I don’t have Mac. If you found a bug, please file a issue to GitHub repository or send email to ryukau@gmail.com.

+

Linux build is built on Ubuntu 18.0.4 and tested on Bitwig 3.0.3 and Reaper 5.983. Both seems to have problem to display GUI, therefore GUI is currently disabled for Linux build.

+

Installation

+

Place IterativeSinCluster.vst3 directory to:

+ +

DAW may provides additional VST3 directory. For more information, please refer to the manual of the DAW.

+

Linux Specific

+

On Ubuntu 18.0.4, those packages are required.

+
sudo apt install libxcb-cursor0  libxkbcommon-x11-0
+

If DAW doesn’t recognize the plugin, take a look at Package Requirements section of the link below and make sure all the VST3 related package is installed.

+ +

REAPER 5.983 on Linux may not recognize IterativeSinCluster. A workaround is to delete a file ~/.config/REAPER/reaper-vstplugins64.ini and restart REAPER.

+

Controls

+

Knob and slider can do:

+ +

Parameters

+

Gain

+

Boost, Gain

+

Both controls output gain. Peak value of output will be Boost * Gain.

+

It’s possible that output gain becomes too small while changing gain of Note, Chord, Overtone. Boost can be useful in this situation.

+

ADSR

+

Parameters for gain envelope.

+ +

Curve

+

Change attack curve of gain envelope.

+

Shelving

+

Cutoff freqeuncy can be changed by Semi, which is relative to a note frequency. For example, if the note is C4 and Semi is 12.000, cutoff frequency is set to C4 + 12 semitone = C5.

+ +

Pitch

+

Add Aliasing

+

When checked, the synth enables rendering of sine waves over nyquist frequency.

+

Roughly speaking, nyquist frequency is the highest frequency that can be reconstructed from recorded digital signal. When generating sound, it’s possible to set value that is higher than nyquist frequency. However, the result may contain unexpected frequency due to a phenomenon called aliasing. Add Aliasing is option to add those aliasing noise.

+

Reverse Semi

+

When checked, negate sign of Semi. For example, 7.000 becomes -7.000.

+

Octave

+

Note octave.

+

ET

+

ET stands for equal temperament. This parameter can be used to change tuning of Semi and Milli.

+

Note that this parameter is not to change tuning of notes sent from plugin host. Only affect to internal parameters.

+

Multiply, Modulo

+

Change sine wave frequency.

+

Equation is noteFrequency * (1 + fmod(Multiply * pitch, Modulo)). pitch is calculated from Note, Chord and Overtone. fmod(a, b) is a function that returns reminder of a / b.

+

Smooth

+

Time length to change some parameter value to current one. Unit is in second.

+

List of parameters related to Smooth. * represents wild card.

+ +

Other parameter uses the value obtained from the timing of note-on for entire duration of a note.

+

nVoice

+

Maximum polyphony. Lowering the number of this option reduces CPU load.

+

Random

+

Retrigger

+

When checked, reset random seed for each note-on.

+

Seed

+

Random seed. This value change random number sequence.

+

To Gain

+

Amount of randomization to sine wave gain. Randomization is done for each note-on.

+

To Pitch

+

Amount of randomization to sine wave pitch. Randomization is done for each note-on.

+

Note, Chord, Overtone

+

Change sine wave gain and pitch.

+

1 Note have 16 Overtone. 1 Chord consists of 8 Note. 4 Chord are available to use.

+

Common parameters for Note and Chord.

+ +

Leftmost of Overtone is gain of fundamental frequency (1st overtone) of a note. For each bar from left represents 1st, 2nd, 3rd, … , 16th overtone gain.

+

Below is the summary of calculation of sine wave frequency.

+
function toneToPitch(semi, milli):
+  return 2 ^ (1000 * semi + milli) / (ET * 1000)
+
+for each Chord:
+  chordPitch = toneToPitch(Chord.semi, Chord.milli)
+  for each Note:
+    notePitch = toneToPitch(Note.semi, Note.milli)
+    for each Overtone:
+      frequency = midiNoteFrequency
+        * (1 + mod(Multiply * Overtone * notePitch * chordPitch, Modulo))
+

Chorus

+

Mix

+

Change Dry/Wet mix ratio.

+

Freq

+

Chorus LFO frequency.

+

Depth

+

Change stereo spread.

+

Range

+

Amount of modulation from LFO to delay time. There are three delays in this chorus.

+

Time

+

Delay time.

+

Phase

+

LFO phase.

+

Offset

+

Phase difference between delays.

+

Feedback

+

Feedback of delay.

+

Key Follow

+

When checked, change delay time relative to note frequency.

+

Change Log

+ +

License

+

IterativeSinCluster is licensed under GPLv3. Complete licenses are linked below.

+ +

If the link above doesn’t work, please send email to ryukau@gmail.com.

+

About VST

+

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

+ + + + + diff --git a/docs/manual/IterativeSinCluster/IterativeSinCluster_en.md b/docs/manual/IterativeSinCluster/IterativeSinCluster_en.md new file mode 100644 index 00000000..34cb5d3f --- /dev/null +++ b/docs/manual/IterativeSinCluster/IterativeSinCluster_en.md @@ -0,0 +1,193 @@ +# IterativeSinCluster +![](img/iterativesincluster.png) + +IterativeSinCluster is an additive synthesizer. This synth computes 512 sine waves for each note to make tone cluster. + +- [Download IterativeSinCluster 0.1.0 - VST® 3 (github.com)](https://github.com/ryukau/VSTPlugins/releases/download/IterativeSinCluster0.1.0/IterativeSinCluster0.1.0.zip) VST compatible logo. + +The package includes following builds: + +- Windows 64bit +- Linux 64bit +- macOS 64bit + +IterativeSinCluster requires CPU to support AVX2 instructions. + +macOS build isn't tested because I don't have Mac. If you found a bug, please file a issue to [GitHub repository](https://github.com/ryukau/VSTPlugins) or send email to `ryukau@gmail.com`. + +Linux build is built on Ubuntu 18.0.4 and tested on Bitwig 3.0.3 and Reaper 5.983. Both seems to have problem to display GUI, therefore GUI is currently disabled for Linux build. + +## Installation +Place `IterativeSinCluster.vst3` directory to: + +- `/Program Files/Common Files/VST3/` for Windows. +- `$HOME/.vst3/` for Linux. +- `/Users/$USERNAME/Library/Audio/Plug-ins/VST3/` for macOS. + +DAW may provides additional VST3 directory. For more information, please refer to the manual of the DAW. + +### Linux Specific +On Ubuntu 18.0.4, those packages are required. + +```bash +sudo apt install libxcb-cursor0 libxkbcommon-x11-0 +``` + +If DAW doesn't recognize the plugin, take a look at `Package Requirements` section of the link below and make sure all the VST3 related package is installed. + +- [VST 3 Interfaces: Setup Linux for building VST 3 Plug-ins](https://steinbergmedia.github.io/vst3_doc/vstinterfaces/linuxSetup.html) + +REAPER 5.983 on Linux may not recognize IterativeSinCluster. A workaround is to delete a file `~/.config/REAPER/reaper-vstplugins64.ini` and restart REAPER. + +## Controls +Knob and slider can do: + +- Ctrl + Left Click: Reset value. +- Shift + Left Drag: Fine adjustment. + +## Parameters +### Gain +#### Boost, Gain +Both controls output gain. Peak value of output will be `Boost * Gain`. + +It's possible that output gain becomes too small while changing gain of `Note`, `Chord`, `Overtone`. `Boost` can be useful in this situation. + +#### ADSR +Parameters for gain envelope. + +- `A` : Attack time which is the length from note-on to reaching peak value. +- `D` : Decay time which is the length from peak value to reaching sustain level. +- `S` : Sustain level which is the gain after decay. +- `R` : Release time which is the length from note-off to the gain reaching to 0. + +#### Curve +Change attack curve of gain envelope. + +### Shelving +Cutoff freqeuncy can be changed by `Semi`, which is relative to a note frequency. For example, if the note is C4 and `Semi` is 12.000, cutoff frequency is set to `C4 + 12 semitone = C5`. + +- `Low` shelving changes `Gain` of sine waves **less than or equal to** cutoff frequency specified by `Semi`. +- `High` shelving changes `Gain` of sine waves **greater than or equal to** cutoff frequency specified by `Semi`. + +### Pitch +#### Add Aliasing +When checked, the synth enables rendering of sine waves over nyquist frequency. + +Roughly speaking, nyquist frequency is the highest frequency that can be reconstructed from recorded digital signal. When generating sound, it's possible to set value that is higher than nyquist frequency. However, the result may contain unexpected frequency due to a phenomenon called aliasing. `Add Aliasing` is option to add those aliasing noise. + +#### Reverse Semi +When checked, negate sign of `Semi`. For example, 7.000 becomes -7.000. + +#### Octave +Note octave. + +#### ET +`ET` stands for equal temperament. This parameter can be used to change tuning of `Semi` and `Milli`. + +Note that this parameter is not to change tuning of notes sent from plugin host. Only affect to internal parameters. + +#### Multiply, Modulo +Change sine wave frequency. + +Equation is `noteFrequency * (1 + fmod(Multiply * pitch, Modulo))`. `pitch` is calculated from `Note`, `Chord` and `Overtone`. `fmod(a, b)` is a function that returns reminder of `a / b`. + +### Smooth +Time length to change some parameter value to current one. Unit is in second. + +List of parameters related to `Smooth`. `*` represents wild card. + +- All parameters in `Gain` section. +- `Chord.Pan` +- All parameters in `Chorus` section, except `Key Follow`. + +Other parameter uses the value obtained from the timing of note-on for entire duration of a note. + +### nVoice +Maximum polyphony. Lowering the number of this option reduces CPU load. + +### Random +#### Retrigger +When checked, reset random seed for each note-on. + +#### Seed +Random seed. This value change random number sequence. + +#### To Gain +Amount of randomization to sine wave gain. Randomization is done for each note-on. + +#### To Pitch +Amount of randomization to sine wave pitch. Randomization is done for each note-on. + +### Note, Chord, Overtone +Change sine wave gain and pitch. + +1 `Note` have 16 `Overtone`. 1 `Chord` consists of 8 `Note`. 4 `Chord` are available to use. + +Common parameters for `Note` and `Chord`. + +- `Gain` : Sine wave gain. +- `Semi` : Distance from note frequency. Unit is semitone. +- `Milli` : Distance from note frequency. Unit is 1 / 1000 semitone, or 1 / 10 cent. + +Leftmost of `Overtone` is gain of fundamental frequency (1st overtone) of a note. For each bar from left represents 1st, 2nd, 3rd, ... , 16th overtone gain. + +Below is the summary of calculation of sine wave frequency. + +``` +function toneToPitch(semi, milli): + return 2 ^ (1000 * semi + milli) / (ET * 1000) + +for each Chord: + chordPitch = toneToPitch(Chord.semi, Chord.milli) + for each Note: + notePitch = toneToPitch(Note.semi, Note.milli) + for each Overtone: + frequency = midiNoteFrequency + * (1 + mod(Multiply * Overtone * notePitch * chordPitch, Modulo)) +``` + +### Chorus +#### Mix +Change Dry/Wet mix ratio. + +#### Freq +Chorus LFO frequency. + +#### Depth +Change stereo spread. + +#### Range +Amount of modulation from LFO to delay time. There are three delays in this chorus. + +#### Time +Delay time. + +#### Phase +LFO phase. + +#### Offset +Phase difference between delays. + +#### Feedback +Feedback of delay. + +#### Key Follow +When checked, change delay time relative to note frequency. + +## Change Log +- 0.1.0 + - Initial release. + +## License +IterativeSinCluster is licensed under GPLv3. Complete licenses are linked below. + +- [https://github.com/ryukau/VSTPlugins/tree/master/License](https://github.com/ryukau/VSTPlugins/tree/master/License) + +If the link above doesn't work, please send email to `ryukau@gmail.com`. + +### About VST +VST is a trademark of Steinberg Media Technologies GmbH, registered in Europe and other countries. diff --git a/docs/manual/IterativeSinCluster/IterativeSinCluster_ja.html b/docs/manual/IterativeSinCluster/IterativeSinCluster_ja.html new file mode 100644 index 00000000..a8055e1b --- /dev/null +++ b/docs/manual/IterativeSinCluster/IterativeSinCluster_ja.html @@ -0,0 +1,431 @@ + + + + + + + + +IterativeSinCluster_ja + + + + + + +
+

Back to Index

+

+ Update: 2019-12-11 +

+
+ Table of Contents + +
+
+

IterativeSinCluster

+

+

IterativeSinClusterイテレイティブ サイン クラスタはノート 1 つあたり 512 のサイン波を計算する加算合成シンセサイザです。

+ +

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

+ +

IterativeSinCluster を使うには CPU が AVX2 をサポートしている必要があります。

+

Mac を持っていないので、 macOS ビルドはテストできていません。もしバグを見つけたときは GitHub のリポジトリに issue を作るか、 ryukau@gmail.com までメールを送っていただければ対応します。

+

Linux ビルドは Ubuntu 18.0.4 でビルドしています。また Bitwig 3.0.3 と REAPER 5.983 で動作確認を行っています。どちらも GUI の表示に問題があったので、今のところ Linux ビルドでは GUI を無効にしています。

+

インストール

+

IterativeSinCluster.vst3 を OS ごとに決められたディレクトリに配置してください。

+ +

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

+

Linux

+

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

+
sudo apt install libxcb-cursor0  libxkbcommon-x11-0
+

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

+ +

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

+

操作

+

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

+ +

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

+ +

Overtone では次の操作ができます。

+ +

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

+

パラメータ

+

Gain

+

Boost, Gain

+

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

+

NoteChordOvertone のゲインを調整すると音がかなり小さくなることがあります。そんなときに Boost が使えます。

+

ADSR

+

音量エンベロープのパラメータです。

+ +

Curve

+

音量エンベロープのアタックの曲線を変更するパラメータ。

+

Shelving

+

LowHigh の 2 つのシェルビングができます。

+

カットオフ周波数はノートの音程を基準として、 Semi で指定した半音単位で相対的に決まります。例えば音程が C4 、 Semi が 12.000 のときは カットオフ周波数は C4 + 12 半音 = C5 になります。

+

変更する音量は Gain で調整できます。

+ +

Pitch

+

Add Aliasing

+

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

+

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

+

Reverse Semi

+

チェックを入れると、 Semi の符号を逆転させます。たとえば 7.000-7.000 として処理されます。

+

Octave

+

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

+

ET

+

平均律の値です。この値によって SemiMilli の調律を変更できます。例えば ET が 12 なら 12 平均律になります。 ET は Equal Temperament の略です。

+

ホスト側から送られてくるノートの調律を変更するわけではないので注意してください。

+

Multiply, Modulo

+

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

+

計算式は ノートの周波数 * (1 + fmod(Multiply * pitch, Modulo)) のようになっています。 pitchNoteChordOvertone で指定した値から計算されるピッチです。 fmod(a, b)ab で割った余りを計算する関数です。

+

Smooth

+

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

+

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

+ +

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

+

nVoice

+

最大同時発音数です。

+

Random

+

Retrigger

+

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

+

Seed

+

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

+

To Gain

+

ノートオンごとに各サイン波の音量をランダマイズする度合いです。

+

To Pitch

+

ノートオンごとに各サイン波の周波数をランダマイズする度合いです。

+

Note, Chord, Overtone

+

サイン波のピッチと音量を指定します。

+

1つの Note あたり 16 の Overtone が発音されます。8つの Note で 1 つの Chord になります。そして 4 つの Chord が使えます。

+

NoteChord に共通のパラメータです。

+ +

Overtone は左端が基本周波数(第1倍音)の音量で、右に一つ進むごとに第2倍音、第3倍音、 … 、第16倍音の音量を表しています。

+

サイン波の周波数の計算式は次のようになっています。

+
function toneToPitch(semi, milli):
+  return 2 ^ (1000 * semi + milli) / (ET * 1000)
+
+for each Chord:
+  chordPitch = toneToPitch(Chord.semi, Chord.milli)
+  for each Note:
+    notePitch = toneToPitch(Note.semi, Note.milli)
+    for each Overtone:
+      frequency = midiNoteFrequency
+        * (1 + mod(Multiply * Overtone * notePitch * chordPitch, Modulo))
+

Chorus

+

Mix

+

Dry/Wet の比率を調整します。

+

Freq

+

コーラスの LFO の周波数です。中央から右に回すと正、左に回すと負の周波数を指定できます。

+

Depth

+

左右の広がりを調整します。

+

Range

+

LFO によってディレイ時間を変調する度合いです。 3 つのディレイが用意されています。

+

Time

+

ディレイ時間です。

+

Phase

+

LFO の位相です。

+

Offset

+

ディレイの間での位相差です。

+

Feedback

+

ディレイのフィードバックです。

+

Key Follow

+

チェックを入れると、ディレイ時間をノートの音程に応じて変更します。

+

チェンジログ

+ +

ライセンス

+

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

+ +

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

+

VST® について

+

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

+ + + + + diff --git a/docs/manual/IterativeSinCluster/IterativeSinCluster_ja.md b/docs/manual/IterativeSinCluster/IterativeSinCluster_ja.md new file mode 100644 index 00000000..b5021f2c --- /dev/null +++ b/docs/manual/IterativeSinCluster/IterativeSinCluster_ja.md @@ -0,0 +1,209 @@ +# IterativeSinCluster +![](img/iterativesincluster.png) + +IterativeSinClusterイテレイティブ サイン クラスタはノート 1 つあたり 512 のサイン波を計算する加算合成シンセサイザです。 + +- [IterativeSinCluster 0.1.0 をダウンロード - VST® 3 (github.com)](https://github.com/ryukau/VSTPlugins/releases/download/IterativeSinCluster0.1.0/IterativeSinCluster0.1.0.zip) VST compatible logo. + +パッケージには次のビルドが含まれています。 + +- Windows 64bit +- Linux 64bit +- macOS 64bit + +IterativeSinCluster を使うには CPU が AVX2 をサポートしている必要があります。 + +Mac を持っていないので、 macOS ビルドはテストできていません。もしバグを見つけたときは [GitHub のリポジトリ](https://github.com/ryukau/VSTPlugins)に issue を作るか、 `ryukau@gmail.com` までメールを送っていただければ対応します。 + +Linux ビルドは Ubuntu 18.0.4 でビルドしています。また Bitwig 3.0.3 と REAPER 5.983 で動作確認を行っています。どちらも GUI の表示に問題があったので、今のところ Linux ビルドでは GUI を無効にしています。 + +## インストール +`IterativeSinCluster.vst3` を OS ごとに決められたディレクトリに配置してください。 + +- Windows では `/Program Files/Common Files/VST3/` に配置します。 +- Linux では `$HOME/.vst3/` に配置します。 +- macOS では `/Users/$USERNAME/Library/Audio/Plug-ins/VST3/` に配置します。 + +DAW によっては上記とは別に VST3 をインストールできるディレクトリを提供していることがあります。詳しくは利用している DAW のマニュアルを参照してください。 + +### Linux +Ubuntu 18.0.4 では次のパッケージのインストールが必要です。 + +```bash +sudo apt install libxcb-cursor0 libxkbcommon-x11-0 +``` + +もし DAW がプラグインを認識しないときは、下のリンクの `Package Requirements` を参考にして VST3 に必要なパッケージがすべてインストールされているか確認してみてください。 + +- [VST 3 Interfaces: Setup Linux for building VST 3 Plug-ins](https://steinbergmedia.github.io/vst3_doc/vstinterfaces/linuxSetup.html) + +REAPER 5.983 の Linux 版が IterativeSinCluster を認識しないときは `~/.config/REAPER/reaper-vstplugins64.ini` を削除して REAPER を再起動してみてください。 + +## 操作 +つまみとスライダーでは次の操作ができます。 + +- Ctrl + 左クリック : 値のリセット。 +- Shift + 左ドラッグ : 細かい値の変更。 + +`Gain` 、 `Semi` などで使われている数値スライダーでは、上記に加えて次の操作ができます。 + +- ホイールクリック : 最小値、最大値の切り替え。 + +`Overtone` では次の操作ができます。 + +- Ctrl + 左ドラッグ : 値のリセット。 +- ホイールドラッグ : 値を最小値に設定。 +- Ctrl + ホイールドラッグ : 値を最大値に設定。 + +操作できる箇所を右クリックすると DAW によって提供されているコンテキストメニューを開くことができます。 + +## パラメータ +### Gain +#### Boost, Gain +どちらも音量を調整します。出力のピーク値は `Boost * Gain` となります。 + +`Note` 、 `Chord` 、 `Overtone` のゲインを調整すると音がかなり小さくなることがあります。そんなときに `Boost` が使えます。 + +#### ADSR +音量エンベロープのパラメータです。 + +- `A` (Attack) : 鍵盤を押した瞬間から最大音量になるまでのアタック時間。 +- `D` (Decay) : 最大音量からサステイン音量になるまでのディケイ時間。 +- `S` (Sustain) : アタックとディケイが終わった後に鍵盤を押し続けているときのサステイン音量。 +- `R` (Release) : 鍵盤から指を離したあとに音量が 0 になるまでのリリース時間。 + +#### Curve +音量エンベロープのアタックの曲線を変更するパラメータ。 + +### Shelving +`Low` と `High` の 2 つのシェルビングができます。 + +カットオフ周波数はノートの音程を基準として、 `Semi` で指定した半音単位で相対的に決まります。例えば音程が C4 、 `Semi` が 12.000 のときは カットオフ周波数は `C4 + 12 半音 = C5` になります。 + +変更する音量は `Gain` で調整できます。 + +- `Low` シェルビングは `Semi` で指定したカットオフ周波数**以下**のサイン波の音量を変更します。 +- `High` シェルビングは `Semi` で指定したカットオフ周波数**以上**のサイン波の音量を変更します。 + +### Pitch +#### Add Aliasing +チェックを入れると、ナイキスト周波数より高い周波数が指定されたサイン波もレンダリングします。 + +ナイキスト周波数とは、ざっくりいえば録音したデータが再現可能な最高周波数のことです。音を生成するときはナイキスト周波数以上の値を指定することができますが、折り返し(エイリアシング)と呼ばれる現象によって計算結果は予期しない周波数になってしまいます。 `Add Aliasing` は、こうしたエイリアシングノイズを足し合わせるオプションです。 + +#### Reverse Semi +チェックを入れると、 `Semi` の符号を逆転させます。たとえば `7.000` は `-7.000` として処理されます。 + +#### Octave +ノートのオクターブです。 + +#### ET +平均律の値です。この値によって `Semi` と `Milli` の調律を変更できます。例えば `ET` が 12 なら 12 平均律になります。 `ET` は Equal Temperament の略です。 + +ホスト側から送られてくるノートの調律を変更するわけではないので注意してください。 + +#### Multiply, Modulo +サイン波の周波数を変更します。 + +計算式は `ノートの周波数 * (1 + fmod(Multiply * pitch, Modulo))` のようになっています。 `pitch` は `Note` 、 `Chord` 、 `Overtone` で指定した値から計算されるピッチです。 `fmod(a, b)` は `a` を `b` で割った余りを計算する関数です。 + +### Smooth +特定の値を変更したときに、変更前の値から変更後の値に移行する時間(秒)です。 + +`Smooth` と関連するパラメータのリストです。 `*` はワイルドカードです。 + +- `Gain` セクションの全て +- `Chord.Pan` +- `Chorus` の `Key Follow` 以外 + +他のパラメータはノートオンのタイミングで指定されていた値をノートの発音が終わるまで続けて使います。 + +### nVoice +最大同時発音数です。 + +### Random +#### Retrigger +チェックを入れると、ノートオンごとに乱数シードをリセットします。 + +#### Seed +乱数のシード値です。この値を変えると生成される乱数が変わります。 + +#### To Gain +ノートオンごとに各サイン波の音量をランダマイズする度合いです。 + +#### To Pitch +ノートオンごとに各サイン波の周波数をランダマイズする度合いです。 + +### Note, Chord, Overtone +サイン波のピッチと音量を指定します。 + +1つの `Note` あたり 16 の `Overtone` が発音されます。8つの `Note` で 1 つの `Chord` になります。そして 4 つの `Chord` が使えます。 + +`Note` と `Chord` に共通のパラメータです。 + +- `Gain` : サイン波の音量。 +- `Semi` : ノートの基本周波数からの距離。単位は半音。 +- `Milli` : ノートの基本周波数からの距離。単位は 1 / 1000 半音。 1 / 10 セント。 + +`Overtone` は左端が基本周波数(第1倍音)の音量で、右に一つ進むごとに第2倍音、第3倍音、 ... 、第16倍音の音量を表しています。 + +サイン波の周波数の計算式は次のようになっています。 + +``` +function toneToPitch(semi, milli): + return 2 ^ (1000 * semi + milli) / (ET * 1000) + +for each Chord: + chordPitch = toneToPitch(Chord.semi, Chord.milli) + for each Note: + notePitch = toneToPitch(Note.semi, Note.milli) + for each Overtone: + frequency = midiNoteFrequency + * (1 + mod(Multiply * Overtone * notePitch * chordPitch, Modulo)) +``` + +### Chorus +#### Mix +Dry/Wet の比率を調整します。 + +#### Freq +コーラスの LFO の周波数です。中央から右に回すと正、左に回すと負の周波数を指定できます。 + +#### Depth +左右の広がりを調整します。 + +#### Range +LFO によってディレイ時間を変調する度合いです。 3 つのディレイが用意されています。 + +#### Time +ディレイ時間です。 + +#### Phase +LFO の位相です。 + +#### Offset +ディレイの間での位相差です。 + +#### Feedback +ディレイのフィードバックです。 + +#### Key Follow +チェックを入れると、ディレイ時間をノートの音程に応じて変更します。 + +## チェンジログ +- 0.1.0 + - 初期リリース + +## ライセンス +IterativeSinCluster のライセンスは GPLv3 です。 GPLv3 の詳細と、利用したライブラリのライセンスは次のリンクにまとめています。 + +- [https://github.com/ryukau/VSTPlugins/tree/master/License](https://github.com/ryukau/VSTPlugins/tree/master/License) + +リンクが切れているときは `ryukau@gmail.com` にメールを送ってください。 + +### VST® について +VST is a trademark of Steinberg Media Technologies GmbH, registered in Europe and other countries. diff --git a/docs/manual/IterativeSinCluster/img/VST_Compatible_Logo_Steinberg_negative.svg b/docs/manual/IterativeSinCluster/img/VST_Compatible_Logo_Steinberg_negative.svg new file mode 100644 index 00000000..f03d67ac --- /dev/null +++ b/docs/manual/IterativeSinCluster/img/VST_Compatible_Logo_Steinberg_negative.svg @@ -0,0 +1,82 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/manual/IterativeSinCluster/img/iterativesincluster.png b/docs/manual/IterativeSinCluster/img/iterativesincluster.png new file mode 100644 index 00000000..f0115cd6 Binary files /dev/null and b/docs/manual/IterativeSinCluster/img/iterativesincluster.png differ diff --git a/docs/manual/SevenDelay/SevenDelay_en.html b/docs/manual/SevenDelay/SevenDelay_en.html index 0aaccf97..8e237b54 100644 --- a/docs/manual/SevenDelay/SevenDelay_en.html +++ b/docs/manual/SevenDelay/SevenDelay_en.html @@ -252,7 +252,7 @@

SevenDelay

SevenDelay is a stereo delay with 7th order lagrange interpolated fractional delay and 7x oversampling.