Skip to content

A lightweight 4-partial additive synthesizer VST3 plugin. Features per-partial waveform control, anti-aliased oscillators, and a robust SVF filter. Built with iPlug2.

License

Notifications You must be signed in to change notification settings

amariichi/PartialAddSynth

Repository files navigation

PartialAddSynth

Image Image

PartialAddSynth is a lightweight, 4-partial additive synthesizer VST3 plugin. It features per-partial waveform selection, anti-aliased oscillators, a versatile LFO, and a robust SVF filter with dedicated envelope control.

>> 日本語版 (Japanese Version)


English Manual

Features

  • 4-Partial Additive Synthesis: 4 oscillators (partials) with individual control over Ratio, Amplitude, Phase, and Drift.
  • Waveform Selection: Choose from Sine, RoundSquare, Triangle, Saw, White Noise, and Tunable S&H Noise for each partial.
  • Anti-Aliasing: High-quality oscillators with band-limiting to prevent digital artifacts (aliasing) in high frequencies.
  • Filter: Resonant State Variable Filter (Low Pass) with dedicated ADSR envelope, wet/dry Intensity control, and Reverse polarity.
  • Modulation: Global LFO mappable to Amplitude, Ratio, Drift, or Odd/Even harmonics balance.
  • Polyphony: 8-voice polyphony with smart voice stealing.

Installation

  1. Download the release zip file.
  2. Copy the PartialAddSynth.vst3 folder to your VST3 directory:
    • Windows: C:\Program Files\Common Files\VST3\
    • macOS: /Library/Audio/Plug-Ins/VST3/ or ~/Library/Audio/Plug-Ins/VST3/
  3. Restart your DAW and rescan plugins.

Building from Source

For developers who want to modify or build the plugin themselves. Access the Source folder in the release package (or clone the repository).

Prerequisites

  1. Environment Setup: Run the included setup script to automatically fetch iPlug2, VST3 SDK, dependencies, and fonts.
    • Windows:
      ./tools/setup_env.ps1
    • macOS:
      ./tools/setup_env.sh

Windows (Visual Studio 2022)

  1. Open PowerShell in the project root.
  2. Run the helper script included in the tools folder:
    ./tools/sync_and_build_win.ps1
  3. The script will automatically sync sources, generate the project, and build the VST3 in third_party\iplug2\Examples\PartialAddSynth\build-win. (Command Example: pwsh -ExecutionPolicy Bypass -File tools\sync_and_build_win.ps1 -Config Release -Generator "Visual Studio 17 2022")

macOS (Xcode)

  1. Generate Project: Create a new iPlug2 project shell named "PartialAddSynth":
    cd third_party/iplug2/Scripts
    python3 duplicate.py --src IPlugInstrument --dst PartialAddSynth
  2. Import Sources:
    1. Open third_party/iplug2/Examples/PartialAddSynth/projects/PartialAddSynth-mac.xcodeproj.
    2. Delete the default PartialAddSynth.cpp and PartialAddSynth.h from the project.
    3. Drag and Drop the src folder (from this package) into the Xcode project tree.
      • Check "Create groups" and ensure targets are selected.
    4. Config: Replace resources/config.h (in the project) with the one from src/plugin/resources/config.h (in this package).
  3. Build: Select the PartialAddSynth-vst3 scheme and build (Cmd+B).

Controls

Oscillators (Partials 1-4)

Each of the 4 partials has the following controls:

  • Wave (Mini Knob): Select waveform (Sine, RoundSq, Tri, Saw, Noise, S&H).
    • Note: Sq AA only affects RoundSquare.
  • Sq AA (Switch): Toggles Anti-Aliasing for the RoundSquare waveform.
    • Behavior: This button flashes when clicked to indicate the toggle action. It is primarily effective for reducing digital noise on RoundSquare waves.
  • Ratio: Frequency ratio relative to the played note (e.g., 2.0 = 1 octave up).
    • Tip: Hold Shift or Ctrl (Cmd on Mac) while dragging to disable snapping to integer values.
  • Amp: Volume of this partial.
  • Phase: Starting phase offset.
  • Drift: Amount of random pitch drift for analog feel.

Filter (VCF)

  • Cutoff: Filter cutoff frequency.
  • Reso: Filter resonance (peak at cutoff).
  • Intensity: Wet/Dry balance. 100% = Full filter effect, 0% = Bypass.
  • Reverse: Inverts the effect of the Filter Envelope.
  • Filter ADSR: Attack, Decay, Sustain, Release for the filter cutoff modulation.
  • Env Amt: Amount of envelope modulation applied to Cutoff (Cut) and Resonance (Res).

Global & LFO

  • Amp ADSR: Global volume envelope for the sound.
  • LFO Rate: Speed of the Low Frequency Oscillator.
  • LFO Depth: Strength of the LFO modulation.
  • LFO Target: Choose what the LFO modulates:
    • OddEven: Balance between Odd and Even harmonics.
    • Amp: Tremolo (Volume modulation).
    • Ratio: FM-like / Chorus effect (Pitch modulation).
  • SqEdge: Adjusts the sharpness of the RoundSquare waveform.

License

MIT License. Copyright (c) 2025 amariichi.


PartialAddSynth (Japanese)

PartialAddSynth (旧 HaarWaveletSynth) は、4つのパーシャル(倍音)を個別に制御できる軽量な加算合成シンセサイザー VST3 プラグインです。

特徴

  • 4パーシャル加算合成: 4つのオシレーター(パーシャル)それぞれで、周波数比(Ratio)、音量(Amp)、位相(Phase)、ピッチ揺らぎ(Drift)を制御可能。
  • 波形選択: 各パーシャルで、Sine, RoundSquare, Triangle, Saw, White Noise, Tunable S&H Noise から波形を選択可能。
  • アンチエイリアス: 高域でのデジタルノイズ(エイリアシング)を防ぐ帯域制限付き高品質オシレーター。
  • フィルター: 専用ADSRエンベロープを備えたレゾナンス付きSVF(ローパス)フィルター。Wet/Dryの適用量(Intensity)や極性反転(Reverse)も調整可能。
  • モジュレーション: 音量、周波数比、ピッチ、奇数/偶数倍音バランスに変調をかけられるグローバルLFO。
  • ポリフォニー: 最大8音ポリフォニック(スマートなボイススチール機能付き)。

インストール方法

  1. リリース版のzipファイル (Release_v2.4.2.zip 等) をダウンロードします。
  2. PartialAddSynth.vst3 フォルダを、お使いのPCのVST3フォルダにコピーしてください:
    • Windows: C:\Program Files\Common Files\VST3\
    • macOS: /Library/Audio/Plug-Ins/VST3/ または ~/Library/Audio/Plug-Ins/VST3/
  3. DAWを再起動し、プラグインのスキャンを行ってください。

ソースコードからのビルド

改造やビルドを行いたい方向けの手順です。 同梱の Source フォルダを使用します(またはリポジトリをクローンしてください)。

事前準備 (Prerequisites)

  1. 環境構築: 同梱のセットアップスクリプトを実行して、iPlug2、VST3 SDK、依存ライブラリ、およびフォントを自動取得します。
    • Windows:
      ./tools/setup_env.ps1
    • macOS:
      ./tools/setup_env.sh

Windows (Visual Studio 2022)

  1. プロジェクトルートで PowerShell を開きます。
  2. tools フォルダ同梱のビルドスクリプトを実行します:
    ./tools/sync_and_build_win.ps1
  3. スクリプトが自動でソース同期、プロジェクト生成、ビルドを行い、third_party\iplug2\Examples\PartialAddSynth\build-win に VST3 ファイルが生成されます。(実行例:pwsh -ExecutionPolicy Bypass -File tools\sync_and_build_win.ps1 -Config Release -Generator "Visual Studio 17 2022"

macOS (Xcode)

  1. プロジェクト生成: third_party/iplug2/Scripts にあるスクリプトで、空のプロジェクト "PartialAddSynth" を生成します(上記セットアップスクリプト実行によりフォルダは準備されています):
    cd third_party/iplug2/Scripts
    python3 duplicate.py --src IPlugInstrument --dst PartialAddSynth
  2. ソースコードの反映:
    1. Xcode で third_party/iplug2/Examples/PartialAddSynth/projects/PartialAddSynth-mac.xcodeproj を開きます。
    2. プロジェクトナビゲータにある、自動生成された PartialAddSynth.cppPartialAddSynth.h削除します。
    3. このパッケージの src フォルダを、Xcodeのファイルツリーの中にドラッグ&ドロップします。
      • Create groups」を選び、ターゲットにチェックが入っていることを確認してください。
    4. 設定ファイルの更新: プロジェクト内の resources/config.h を、パッケージ内の src/plugin/resources/config.h の内容で上書きしてください。
  3. ビルド: スキームで PartialAddSynth-vst3 を選び、Cmd+B (ビルド) を実行します。

操作説明

オシレーター (パーシャル 1-4)

4つのパーシャルそれぞれに以下の操作子があります:

  • Wave (ミニノブ): 波形を選択します (Sine, RoundSq, Tri, Saw, Noise, S&H)。
  • Sq AA (スイッチ): RoundSquare 波形使用時のアンチエイリアス処理のON/OFFを切り替えます。
    • 挙動: ボタンを押すと一瞬光り、モードが切り替わります(点灯し続けるタイプではありません)。RoundSq使用時のデジタルノイズを減らす効果があります。
  • Ratio: 基本の音程に対する周波数比を設定します(例: 2.0 で1オクターブ上)。
    • Tip: Shift または Ctrl (MacではCmd) キーを押しながらドラッグすると、整数比へのスナップを無効化して微調整できます。
  • Amp: そのパーシャルの音量です。
  • Phase: 発音開始時の位相(波のスタート位置)をずらします。
  • Drift: アナログシンセのようなピッチの微妙な揺らぎを加えます。

フィルター (VCF)

  • Cutoff: フィルターのカットオフ周波数(明るさ)です。
  • Reso: レゾナンス(カットオフ周波数付近の強調)です。
  • Intensity: フィルターのかかり具合(原音とのバランス)。100%で完全適用、0%でバイパスです。
  • Reverse: フィルターエンベロープの動きを反転させます(アタックで閉じていく動きになります)。
  • Filter ADSR: フィルター専用のエンベロープ(Attack, Decay, Sustain, Release)。
  • Env Amt: エンベロープがカットオフ(Cut)とレゾナンス(Res)に与える影響の強さです。

全体設定 & LFO

  • Amp ADSR: 音量全体のエンベロープ設定です。
  • LFO Rate: LFO(揺らぎ)の速さです。
  • LFO Depth: LFOのかかる強さです。
  • LFO Target: LFOで揺らす対象を選びます:
    • OddEven: 奇数倍音と偶数倍音のバランスを変化させます。
    • Amp: トレモロ効果(音量を揺らします)。
    • Ratio: コーラスやFMのような効果(ピッチ/倍音構成を揺らします)。
  • SqEdge: RoundSquare波形を選んだ際の、波形の「角の鋭さ」を調整します。

ライセンス

MIT License. Copyright (c) 2025 amariichi.

About

A lightweight 4-partial additive synthesizer VST3 plugin. Features per-partial waveform control, anti-aliased oscillators, and a robust SVF filter. Built with iPlug2.

Resources

License

Stars

Watchers

Forks

Packages

No packages published