VST SDK 2.4のサポート終了がアナウンスされました

VST SDK 2.4のサポート終了がアナウンスされました

VST SDK 2.4のサポート終了がアナウンスされました。詳細は下記になります。

 →Steinberg – VST 2 coming to an end

2018年10月にVST SDK 2.4のサポートが終了しVST SDK 3.6にも同梱されなくなるとのことです。
Steinberg社が出すホストアプリ(Cubaseなどと思われます)については引き続き互換性を残すとのことです。

引き続きVST SDK 2.4を使用して開発を行いたい場合は、今のうちにダウンロードしておく必要がありそうです。

 →Steinberg – 3rd Party Developer (SDKダウンロードページ)

なお、過去バージョンのVST SDKについては下記にリンクを記載しております。

  VST SDKの各バージョンのリンク

ご指摘やご質問は各コンテンツページや掲示板Twitterでいただけばとおもいます。

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

コントロール値を数字で表示

VST GUIのコントロール値を数字で表示する

VST GUIを作成するうえで、コントロールの値を表示したい場合があります。今回はその実装方法を説明いたします。

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

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

もっと見る

エフェクターの簡単な実装例 – コンプレッサー

コンプレッサーの実装例

コンプレッサーとは入力音声の音圧に応じて音量を調整するエフェクターです。

パラメーターとして下記がよく利用されます。

パラメーター 意味 だいたいの範囲
スレッショルド 圧縮が始まる音圧 0.1~1.0程度(dBで計算する場合もある)
レシオ 圧縮する割合 2.0~10.0程度(例えば2.0の場合、圧縮比率2:1でスレッショルドを超えた分が1/2になる。)/td>
音量 最終的な音量 1.0~3.0倍程度(dBで計算する場合もある)

実装では下記のような処理を行います。

  1. 入力信号に応じた音圧を検知。
  2. 検知した音圧に応じて音量(ゲイン)を計算。
  3. 入力信号に計算した音量(ゲイン)を

音圧を検知は「入力信号の絶対値をとったものにローパスフィルタを通す」ことでできます。
(他の方法もありますが、ここではこの方法を利用しています。)

フィルタは「簡単なデジタルフィルタのサンプルコード」を使用しています。
あくまで実装例ですのでいい音質のものがほしい場合は、ご自身で試行錯誤いただくようお願いします。

【実装イメージ】

上記はあくまで実装例です。
今回は急激に音量(ゲイン)が変化しないようにローパスフィルタを使用していますが、アタックやリリースを持ったエンベロープを使用することもあります。
また、音圧検知にRMS(二乗平均平方根)を使用することもあります。

質問はコメント欄や掲示板Twitterでいただけばとおもいます。
他のエフェクター実装例はこちらにもあります。 → エフェクターの簡単な実装例

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

VST3.6開発11 – ツールを使ったVST GUIの作成方法

ツールを使ったVST GUIの作成方法

前回までで、パラメータやMIDIメッセージの受信などの内部処理に関する部分を中心に記載いたしました。

ここでは作成したVSTプラグインの見た目をよくし、使いやすくするためにGUIの実装方法を説明いたします。

GUIの追加にはInline UI Editor for VST3を使用します。このInline UI Editor for VST3を使用することで、出来る限りコードを書かずにUIを作成できます。
なお、UIに関するコードを記述して実装する方法は別途ご説明いたします。

今回作成するプラグインは「パラメーター実装方法2」で作成したプラグインにGUIを追加していきます。

もっと見る