C++でVST作り

C++でVST作り

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

【ご連絡】
このたび、VSTプラグイン開発の本を執筆させていただきました。
工学社様より2020年6月25日発売となっております。なお、誤記などについては工学社様の書籍サポートページにてご案内しております。

内容としてはC++を使って初めてVST開発をする方にむけたものとなっております。
本サイト「はじめてのVST3プラグイン作り」をベースに加筆し、応用的な部分を少し抑えた内容となっています。

 工学社様サイト → https://www.kohgakusha.co.jp/books/detail/978-4-7775-2108-1

 書籍で使用するVST SDK 3.6.14はこちらからダウンロードできます。 → VST SDK 3.6.14

【主なコンテンツ】

自作アプリ 自作VSTプラグイン 自作VSTプラグインを公開しております。
プログラミング情報 VST3プラグイン作り VSTプラグインを作成するための手順を記載しています。
簡単なデジタルフィルタ 極力高度な数学(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/)の編集パスワード紛失により移転したサイトとなります。

グリッチエフェクト – Utsbox Glitch

概要

テープストップやリトリガー等、複数のエフェクトを内蔵したグリッチエフェクターになります。
オートメーションだけでなく、MIDI(ノートオン・オフ、CC)でエフェクトを操作することが可能です。

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

  Download→UtsboxGlitch_v1.2.zip


※画面は開発中のものです。

もっと見る

「VST3開発環境の準備」「VST3プロジェクトの作成」の更新

VST SDK 3.6.11の公開に伴い、「VST3プラグイン開発01 – VST3開発環境の準備」と「VST3プラグイン開発02 – VST3プロジェクトの作成」を更新しました。

※更新したページ
 VST3プラグイン開発01 – VST3開発環境の準備
 VST3プラグイン開発02 – VST3プロジェクトの作成

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

古いVST SDKでのVST3開発環境の準備

古いVST SDKでのVST3開発環境の準備

こちらの記事はVST SDK 3.6.14以前のバージョンでのVST3環境の準備方法になります。
過去の記事ですので、内容としては古いものになりますので、新しいバージョンのVST SDKを利用している場合は、下記をご参照ください。

  VST3開発環境の準備→VST3開発環境の準備

もっと見る

VST SDK 3.7.1が公開されました

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

参考→sdk.steinberg.net

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

  • ヘルパークラスの修正
    • Visual StudioにおいてGetPluginFactory()に__declspec(dllexport)が追加されるよう修正
  • プラグインラッパーの修正
    • AAXラッパーとAUv3ラッパーでオフライン処理のサポートを追加
    • 出力バスの有効化の処理を修正
    • コンポーネントがUIスレッドからロードされない不具合の修正
  • CMAKEの修正
    • ファイル構成を変更
    • CMAKEファイルの名前を「SMTG_」で始まるよう修正
    • CMAKEの関数名を「smtg_」で始まるよう修正
    • Mingw32とVST SDKの互換性を高めるよう修正
    • チームIDなしのAUv3ビルドをサポート
    • smtg_add_plugin_resourceにおけるパスの処理を修正
  • VST3PluginTestHostの修正
    • ボルテージバス情報の列を追加
    • ヘルプメニューに新しいリンクを追加
    • MPEの有効化をサポート
    • ダークライトモードをサポート
    • 64bitのみのプラグインで”Valid State Transition”テストが失敗する不具合を修正
    • オートメーションユニットテストを修正
  • VST 3 Project Generatorの修正
    • VST GUIをサポート
    • 誤ったcmake.exeパスを指定したときにフリーズする不具合を修正
    • Windowsでシンボリックリンクを有効化
    • WindowsのVisual StudioでデバッグコマンドにVST3PluginTestHostを追加するよう修正
    • CMAKEファイルの生成を改善

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

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

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

SoundFontプレイヤー Utsbox SF2 Playerを更新しました

自作VSTであるSoundFontプレイヤー – Utsbox SF2 Playerを更新いたしました。

SoundFontプレイヤー – Utsbox SF2 Player

Studio Oneで音声出力されない不具合の修正として、サイレンスフラグの処理を修正をしております。

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

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

VST3ホスト開発03 – 音声処理クラスの作成と初期化

音声処理クラスの作成と初期化

前回はVST3プラグインの情報を表示する簡単なVST3ホストの作成について記載いたしました。
今回はVST3プラグインから音声処理クラスを取得するプログラムの説明を実施します。

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

  • VST3プラグインを読み込む
  • VST3プラグインから音声処理クラスを作成する

実際に音声処理を行うまではもう少し手順がありますが、まずは音声処理クラスを作成するところまで実施いたします。

今回作成したVST3のソースファイルはこちらになります。→ vst3host02_20200906
なお、Visual Studioのプロジェクトは「コンソールアプリケーション」で作成しております。
プロジェクト設定などは「Visual Studioのプロジェクト設定」もご参照ください。

今回の説明内容

本ページでは、前回説明したVST3プラグインの利用の流れ(下記)のうち、3.についての内容を説明します。
なお、前回説明した内容については、説明を省略させていただきます。

もっと見る