VST3プラグイン開発06 – VST3プラグインのパラメーター実装方法2

VST3プラグインのパラメーター実装方法2

前回はパラメーターを実装しましたが、0.0~1.0の範囲の値しか表示できませんでした。
実際にVSTプラグインを作成する際には、0~1の間だけでなくいろいろな値を表示する場合があると思います。

今回は任意の範囲を表示するパラメーターと文字列リストを表示するパラメーターを実装したいと思います。

今回作成するプラグインは下記のとおりです。

  • ボリュームコントロール、トレモロ、パンニングの機能を持つエフェクター
  • パラメーターは3つ
  • ボリュームコントロール(0.0~1.0の範囲のパラメーター)
  • トレモロスピード(0.5~30.0Hzの範囲のパラメーター)
  • トレモロタイプ(ボリュームコントロール・トレモロ・パンニングの文字列リストパラメーター)
  • 入力バス、出力バスは1つで、共にステレオ(2ch)
  • 20150929

    今回の内容は前回の説明をもとにしていますので、パラメーターの追加方法等については、前回の説明をご参照ください。
    「バス」についての概念はこちらに記載したとおりです。

    このVST3プラグインのサンプルソースファイルはこちらからダウンロードできます→vst3dev_20210403
    ZIPファイルの中の「vst3dev03_パラメーター実装方法2」フォルダが今回のサンプルソースファイルになります。

    コンパイル・ビルドの方法は簡単にこちらでご説明しております。ご参考までに。→サンプルソースファイルのビルド方法

    任意の範囲を表示するパラメーター

    任意の範囲(例えば0.5Hz~30Hz 等)を表示するためには、RangeParameterクラスを使用します。

    もっと見る

    VST3プラグイン開発05 – VST3プラグインのパラメーター実装方法1

    VST3プラグインのパラメーター実装方法1

    前々回ははじめてのVST3プラグインを作成いたしました。
    今回は前々回のVST3プラグインにパラメーターを追加します。

    今回作成するプラグインは下記のとおりです。

    • パラメーターは1つ(ボリュームコントロール)
    • 入力のボリュームをパラメーターにより調整して出力する
    • 入力バス、出力バスは1つで、共にステレオ(2ch)

    「バス」についての概念は前回記載したとおりです。

    このVST3プラグインのサンプルソースファイルはこちらからダウンロードできます→vst3dev_20210403
    ZIPファイルの中の「vst3dev02_パラメーター実装方法1」フォルダが今回のサンプルソースファイルになります。

    コンパイル・ビルドの方法は簡単にこちらでご説明しております。ご参考までに。→サンプルソースファイルのビルド方法

    パラメーター操作クラスの作成

    まずはパラメーター操作を行うクラスを作成します。
    このパラメーター操作クラスを定義して、後述するinitialize()関数内でパラメーターの追加処理(parameters.addParameter()関数を呼び出す)を行うことで、パラメーターを追加できます。

    上記の図のパラメーターはホストアプリケーション(Cubase,Sonar等のDAW)が標準で持つUIを使用しています。
    独自のUIをの作り方は、「ツールを使ったVST GUIの作成方法」や「最小構成のVST GUIコード」「VST GUIコードでのつまみ(ノブ)等の実装方法」などに記載しております。

    もっと見る

    VST3プラグイン開発04 – VST3のバスについて

    VST3のバスについて

    前回は最小構成のVST3プラグインを作成しましたが、その中にあったバスの概念について簡単にメモいたします。
    (VST SDKのバスに関する情報がないため一部推測による記載になります。)

    VST3のプラグインには「バス」というものがあります。

    「バス」とはコンピュータでは”データの流れる道”になります。
    VST3のプラグインには「AudioBus」(オーディオバス)と「EventBus」(イベントバス)の2種類のバス(データの流れる道)があります。

    • AudioBus
    • オーディオデータ(音声波形データ)の流れる道。
      オーディオバスには「モノラルのオーディオバス」や「ステレオのオーディオバス」等の構成がある。

    • EventBus
    • イベントデータ(ノートオン、ノートオフメッセージ等)の流れる道。

    もっと見る

    VST3プラグイン開発03 – はじめてのVST3プラグイン

    はじめてのVST3プラグイン

    前回はVST3のプラグインを作成する際のVisual Studioのプロジェクト作成について記載いたしましたので、今回はさっそくVST3プラグインを作成します。

    今回作成するプラグインは下記のとおりです。

    • パラメーターはなし
    • 入力をそのまま出力する
    • 入力バス、出力バスは1つで、共にステレオ(2ch)

    上記にある「バス」についての概念は次回あたりで記載できればと思います。

    このVST3プラグインのサンプルソースファイルはこちらからダウンロードできます→vst3dev_20210403
    ZIPファイルの中の「vst3dev01_はじめてのVST3プラグイン」フォルダが今回のサンプルソースファイルになります。

    コンパイル・ビルドの方法は簡単にこちらでご説明しております。ご参考までに。→サンプルソースファイルのビルド方法

    はじめてのVST3プラグイン作成の流れ

    はじめてのVST3プラグインでは、主に下記の3つを実装します。

    • FUIDの作成
    • プラグイン情報の設定
    • 音声処理クラスの作成

    ここで作成するはじめてのVST3プラグインのサンプルは実行時に一部のホストアプリケーション(Sonar、VSTHost等のDAW)でエラー(例外)が発生する場合がございます。
    エラー発生の際は「VST3プラグインのパラメーター実装方法1」まで進めていただき、再度試していただきますようお願いします。

    FUIDの作成

    VST3プラグイン開発ではFUIDというIDが必要となります。
    もっと見る

    VST3.6勉強中 2 – VST3作成の準備

    最新情報について

    ここではVST 3.6.0の開発について記載させていただいておりますが、最新版ではないため内容を更新しておりません。
    これから開発を始める方は、新しいVSTバージョンで開発することをお勧めさせていただきます。

     新しいVSTバージョンの開発情報はこちら → はじめてのVSTプラグインの作り

    VST3作成の準備

    VST SDK 3.6でVST3を作成する際のプロジェクト作成方法についてメモいたします。
    開発環境はVisual Studio Express 2013 for Windows Desktopを想定しています。

    VST3の基本ライブラリの作成

    VST3を作る場合は基本ライブラリが必要になります。

    基本ライブラリは、ダウンロードしたSDKの中にありますが、ソースファイルからコンパイル・ビルドする必要があります。
    「VST3 SDK\base\win\base_vc10.vcxproj」をVisual Studio開いて、そのままビルドすれば基本ライブラリ「base_vc10.lib」が完成します。

    →VST SDK 3.6.7では方法が変更となっております。暫定的な手順はこちらです。

    デバッグ版とリリース版の両方作成しておきます。
    もっと見る