VST SDK 3.6.11が公開されました

VST SDK 3.6.11が公開されました。

参考→sdk.steinberg.net

変更点は下記のようです。(公式サイトとマニュアルからの翻訳ですが英語は自信がないです。)

  • INoteExpressionPhysicalUIMappingインターフェイス
    • これにより、VST3プラグインのNote-Expressionと物理UIのマッピングをホストが取得可能に
  • VST GUI
    • VST GUIが4.7にバージョンアップ
    • Linuxで使用していたGUIライブラリをGTK+からXCBに変更
    • ドラッグ&ドロップの処理を再設計
    • 新しいイメージステッチャーツール
    • WindowsのGUI描画処理をGDI+からDirect2Dに変更
    • Windowsにおいて、ビットマップのドラッグ処理をサポート
    • Windows 7のスタンドアロンライブラリをサポート
  • 修正・改善の実施
    • VST 2.4のインターフェイスの利用不可に
    • CMakeで作成されるユーザプロジェクトを改善
    • VST2ラッパーを修正
    • AAXラッパーを修正
    • Parameterクラスのいくつかの関数をvirtualに
  • VST3用アイコンのバンドル
    • 新しくVST3用アイコンがバンドルされるように
    • アイコンはVST_SDK/VST3_SDK/doc/artworkフォルダに保存(VST_Logo_Steinberg.icoとVST_Logo_Steinberg.icns)

VST3.6についての情報は下記にもございます。

また、質問やご指摘はコメント欄や掲示板Twitterでいただけばとおもいます。

掲示板
■Twitterアカウント:@vstcpp   URL:https://twitter.com/vstcpp

VST3プラグイン開発00 – VSTとは?

VSTとは?

VSTとは音楽制作ソフトウェア上で動かすエフェクターやデジタル楽器などのソフトウェアの規格です。
1996年にStenberg(音楽制作ソフトウェア Cubaseを開発した会社)がこの規格を発表し、多くの音楽制作ソフトウェアに採用されました。

このソフトウェア規格に基づいて作成されたプログラムはVSTプラグインやVSTiプラグインといわれています。
VSTプラグインは主にエフェクターを、VSTiプラグインはデジタル楽器を示しますが、どちらも略してVSTプラグインやVSTと呼ばれることが多く、上記規格ともあわせて混同してしまうこともあります。

用語 概要
VST 音楽制作ソフトウェア上で動かすエフェクターやデジタル楽器などのソフトウェアの規格。
VSTプラグイン VSTの規格に基づいて作成されたプログラムで主にエフェクターとして動作するもの。(VSTeと呼ばれる場合もある。)
VSTiプラグイン VSTの規格に基づいて作成されたプログラムでデジタル楽器て動作するもの。

もっと見る

VSTプラグインのファイル・フォルダ構成

VSTプラグインのファイル・フォルダ構成

VSTプラグインは専用アイコン(Windows)やスナップショットのサポートのために下記のファイル・フォルダ構成とする必要があります。(Windowsの場合)

例:VST3プラグインのファイル名が「MyVSTPlugin.vst3」の場合

プラグイン名のフォルダを作り、Contents配下に実際の.vst3ファイルやドキュメントを保存する形となります。(「Resources」フォルダは任意かもしれません。)

なお上記フォルダは下記のプラグインフォルダ配下にある前提です。

  • C:\Program Files\Common Files\VST3\

ツールを使ったVST GUIの作成方法」などで使用される画像ファイルやuidescファイルは上記のResourecesフォルダ配下に保存する必要があります。
Resourecesフォルダ配下に画像ファイルなどがない場合、GUIが表示されないなどの不具合が出ます。

なお、.vst3ファイル単体でプラグインフォルダに保存する形式は非推奨となります。
Cubase等のホストアプリケーションは列挙されますが、上記のようにGUIの画像が表示されないなどの不具合が発生する場合があります。

VST3の開発についての情報は下記にもございます。

また、質問やご指摘はコメント欄や掲示板Twitterでいただけばとおもいます。

掲示板
■Twitterアカウント:@vstcpp   URL:https://twitter.com/vstcpp

VST SDK 3.6.10が公開されました

VST SDK 3.6.10が公開されました。

参考→sdk.steinberg.net

変更点は下記のようです。(英語は自信がないです。)

  • VST3のファイル構成を新しく定義
    特定構成のフォルダ内に.vst3ファイルやドキュメントを保存するように指定
    .vst3ファイル単体は非推奨に
  • 新しいVST3のファイル構成でWindowsでアイコンをサポート
  • 新しいVST3のファイル構成でスナップショット画像をVST3にバンドル出来るように
  • その他いくつかの修正・改善を実施

新しいVST3のファイル構成については分かり次第サイトにアップしたいと思います。

VST3.6についての情報は下記にもございます。

また、質問やご指摘はコメント欄や掲示板Twitterでいただけばとおもいます。

掲示板
■Twitterアカウント:@vstcpp   URL:https://twitter.com/vstcpp

VST GUIにおけるコントロールの定期更新

VST GUIにおけるコントロールの定期更新

音声処理クラスからパラメータ情報のフィードバックを受け取った場合やアニメーション行う場合など、コントロールを定期的に更新したい場合があります。今回はその実装方法を説明いたします。

なお、VST GUIの基本的な作成方法として下記をご理解いただいている前提で進めさせていただきます。

また、こちらのTipsで紹介している各コントロールを作成する関数も使用しています。

もっと見る

パラメーター情報のフィードバック

パラメーター情報のフィードバック

MIDIノートオン・オフに合わせてパラメーターを変更したり、音圧に応じて値が変わるVUメーターなど、音声処理クラスからパラメータ操作クラスに値をフィードバックさせる方法を説明いたします。

なお、パラメーターの作成などについては下記をご参照ください。

パラメーター実装方法 パラメータ自体を実装する方法
パラメーター実装方法2 0.5~30.0の範囲や文字列リスト等のパラメーターを実装する方法。
パラメーター実装方法3 「フィルタのカットオフ周波数」等の線形でないパラメーターを実装する方法を記載

まずはパラメーター操作クラスのinitialize関数にパラメーターを追加します。(「パラメーター自体を実装する方法」と同じです。)
もっと見る