C++でVST作り

C++でVST作り

本サイトではこのサイトではVST/VSTiプラグイン(エフェクター、ソフトシンセ)を作成するための情報をメモしております。
旧サイトの編集パスワード紛失により移転いたしました。(更新は停止しておりますが、VST/VSTiプラグインの作成情報については、旧サイトにも多くあります。)

【主なコンテンツ】
ギター音源 GT-Strum
自作のギターストローク音源です。不具合報告や要望等、作成にご協力いただける方を募集しております。
はじめてのVSTプラグインの作り
VSTプラグインを作成するための手順を全8回に分けて記載しています。
デジタルフィルタ
極力高度な数学(Z変換、伝達関数 等)を使わずに簡単にデジタルフィルタを設計・実装できる方法を紹介しております。

各コンテンツや掲示板ブログにコメントに要望やご意見、応援をいただけるとうれしいです。
掲示板

(10月26日に見た目を大幅に変更し、スマホに対応してみました。表示崩れなどがある場合、教えていただけると助かります。)

VST3.6勉強中 6 – VST3プラグインのパラメーター実装方法2

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

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

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

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

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

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

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

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

    続きを読む

    簡単なデジタルフィルタの実装の更新

    簡単なデジタルフィルタの実装を更新しました。

    Q値等についての説明が不足していましたので、各デジタルフィルタのパラメータ説明を若干修正いたしました。
    また、各デジタルフィルタの周波数特性グラフも追加いたしました。

    ※更新したページ → 簡単なデジタルフィルタの実装

    ご参考になればと思います。

    VST SDKダウンロード方法の更新

    コメントでいただいた情報なのですが、いつの間にやらVST SDKは会員登録なしでダウンロードできるようになったようです。
    これに合わせ、VST SDKのダウンロードの説明ページを更新いたしました。

      Steinberg公式サイト 3rd Party Developerページ

      ※VST SDKのダウンロード(更新したページ) → VST SDKをダウンロードする

    また、MicroSoft社の開発環境である、Visual StudioもExpress以外に無償で使用できる新しいエディションができたようです。
    Visual Studio 2013 Express自体はまだダウンロードできるようですが、今後廃止されるようですので、「開発環境のインストール方法」もそのうち修正したいと思います。

      Microsoft Visual Studioページ

    現時点ですでにVisual Studio 2013 Expressのダウンロードリンクのページが変わっているようです。

      Microsoft Visual Studio Expressのダウンロードページ

    更新再開のお知らせ

    昨年度末から忙しく更新していなかったのですが、ようやく落ち着き更新できる余裕ができました。

    ほとんどVST作りができていなかったので、リハビリをしながらゆっくり更新していきたいと思います。
    なお、今後の更新としては下記を予定しております。

    パラメータ実装方法2 前回のパラメータは「0.0~1.0」しか表示できないので、それ以外(例えば「10~100」等)を表示するパラメータを実装する方法を記載します。
    パラメータ実装方法3 「フィルタのカットオフ周波数」等の線形でないパラメータを実装する方法を記載します。
    パラメータの保存方法 せっかく追加したパラメータを次回起動時も変更が反映されるようパラメーターを保存する方法を記載します。
    (サンプルコードのみであればここにあります。)
    MIDIメッセージの受取1 MIDIのNote On、Note Offメッセージを受け取る方法の記載します。
    MIDIメッセージの受取2 MIDIのControl Change、Pitch Bend等のメッセージを受け取る方法の記載します。

    今後ともよろしくお願いします。

    ギター音源更新(20150105)

    あけましておめでとうございます。

    log.txt様よりアコースティックギターのサンプルをいただけましたので、
    ギターストローク音源に音色を追加いたしました。

    ●アコースティックギターサンプル

     ギターストローク音源 GT-Strum ダウンロードサイト