C++でVST作り

C++でVST作り

本サイトではこのサイトではVST/VSTiプラグイン(エフェクター、ソフトシンセ)を作成するための情報をメモしております。

【主なコンテンツ】

自作アプリ 自作VSTプラグイン 自作VSTプラグインを公開しております。
プログラミング情報 VST3.6プラグインの作り VSTプラグインを作成するための手順を記載しています。(SDK 3.6.13版)
簡単なデジタルフィルタ 極力高度な数学(Z変換、伝達関数 等)を使わずに簡単にデジタルフィルタを設計・実装できる方法を紹介しております。
エフェクター実装例 ディストーションやコーラス等のエフェクターの実装例を紹介しております。
SoundFontファイルの読み込み SoundFontファイルの読み込みと組み立てについて説明しております。
現在作成中です。

【その他】
■各コンテンツや掲示板Twitterにコメントに要望やご意見、応援をいただけるとうれしいです。 →掲示板

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

■Youtubeチャンネル:うつぼかずら URL:https://www.youtube.com/channel/UCDl-jNREvFXbLvmDbn-6dag

■本サイトは旧サイト(https://www39.atwiki.jp/vst_prog/)の編集パスワード紛失により移転したサイトとなります。

ギターMIDIエフェクト – Utsbox MIDI Tool1

概要

Utsbox MIDI Tool1はマルチティンバー音源向けのギターMIDIエフェクトです。
MIDIノートを1~6chに分離するとともに、Utsbox MIDI Tool1に割り当てたキースイッチを入力することで、簡単にピッチベンドやハンマリング・プリングオフなどを行うことができます。

下記のリンクよりダウンロードできます。

  Download→ Utsbox MIDI Tool1 v1.1

もっと見る

任意のフォントの利用

任意のフォントの利用

VST GUIにおいてテキストを表示させるコントロールのフォントを変更する方法を説明いたします。

なお、VST GUIの基本的な作成方法、テキストラベルコントロールの作成方法として下記をご理解いただいている前提で進めさせていただきます。

フォントを変更すると下記のようになります。

同様の手順でテキストエディットコンボボックスチェックボックス等のコントロールのフォントも変更可能です。

もっと見る

VST GUIにおけるコンテキストメニューの実装

VST GUIにおけるコンテキストメニューの実装

VST GUIにおいて右クリックでポップアップするコンテキストメニューを実装する方法を説明いたします。

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

また、コンテキストメニューはCOptionMenuクラスを使用したり、valueChanged()関数でメニュー項目の選択処理などを行うため、「コンボボックスの実装」や「複数コントロールの同期」についても参考にしてください。

もっと見る

VST GUIにおける「ファイルを開く」ダイアログの実装

「ファイルを開く」ダイアログの実装

VSTでファイルを読み込む際に必要なファイル読み込み用の”「ファイルを開く」ダイアログ”の実装方法を説明いたします。

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

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

もっと見る

VST SDK 3.6.14が公開されました

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

参考→sdk.steinberg.net

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

  • CMAKEの修正
    • リファクタリングの実施
    • SMTG_VST3_SDK.cmakeファイルの追加
    • FindJackとLinuxクロスコンパイラのサポートの強化
  • VSTサンプルの追加・修正
    • HostCheckerプラグインで64bitプロセッシングといくつかのチェックの追加
    • AAXバージョンのHostCheckerプラグインを追加
    • Validatorでいくつかのチェック機能の追加(別スレッドでの処理、バイパス機能の保存、実行テストで新しいオプションの追加、MIDIMappingテストのパフォーマンス改善)
  • プラグインラッパーの修正
    • AAXラッパーでSMPTEサポートを追加
    • InterAppAudioラッパーは次期SDKで排除される予定とした
  • VST3 ヘルパークラスの修正
    • EditControllerEx1にあるprogramList、programIndexMap、unitsを終了時にクリアするよう修正
  • VST3 Plug-in Test Hostの修正
    • Windowsのメニューを変更
    • 新しいテストを追加
  • VST GUIの修正
    • VST GUIが4.9に
    • VSTGUI::CListControlを追加
    • カスタムフォントのサポート(Windowsの場合、Windows 10のみ)

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

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

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

Visual Studio 2019でVST基本ライブラリをコンパイルできない不具合の回避策

Visual Studio 2019でVST基本ライブラリをコンパイルできない不具合の回避策

最新(2019年11月時点)のVisual Studio 2019でVST SDK 3.6.13の基本ライブラリをコンパイルできないという不具合が出ています。

原因は「public.sdk/source/vst/hosting/module_win32.cpp」でMicrosoftが非推奨とした「experimental/filesystem」を使用しているためです。
これにより、下記のエラーが発生しコンパイルできない状態になっています。

このエラーを回避するにはプリプロセッサ「_SILENCE_EXPERIMENTAL_FILESYSTEM_DEPRECATION_WARNING」を定義する必要があります。

回避策1

一つ目の回避策は、「public.sdk/source/vst/hosting/module_win32.cpp」に直接定義する方法です。
もっと見る