エフェクターの簡単な実装例 – 3バンドイコライザー

3バンドイコライザーの実装例

3バンドイコライザーとは入力音声の低音域、中音域、高音域を増幅するエフェクターです。

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

パラメーター 意味 だいたいの範囲
低音周波数 増幅する低音域の周波数 50Hz~1kHz程度
低音ゲイン 低音域の増幅量 -15~15dB
中周波数 増幅する中音域の周波数 500Hz~4kHz程度
中音ゲイン 中音域の増幅量 -15~15dB
高周波数 増幅する高音域の周波数 1kHz~15kHz程度
高音ゲイン 高音域の増幅量 -15~15dB

実装は入力信号をローシェルフフィルタ、ピーキングフィルタ、ハイシェルフフィルタの順に通すだけです。

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

【実装イメージ】

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

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

VST SDK 3.6.8への対応

VST SDK 3.6.8への対応

はじめてのVST3プラグイン作りをVST SDK 3.6.8に対応いたしました。

複数ページにわたって更新しておりますので、まだまだ誤記なとが残っている可能性がございますがご了承ください。
(ご指摘いただけると幸いです。)

  はじめてのVST3.6.8プラグインの作り

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

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

VST3.6 ポリフォニックシンセサイザー サンプルコード

VST3.6 ポリフォニックシンセサイザー サンプルコード

Twitterで少し話題がありましたので補足と他の方の参考のまでに、ポリフォニックシンセサイザーのサンプルコードを公開いたします。
対象としてるVST SDKのバージョンは3.6.6のため、最新のものでは動かない可能性があります。

※現時点(2020年1月)で判明している不具合として下記があります。(サンプルコード自体の修正は手が空いてから実施しますので少々お待ちください。)

不具合内容 回避方法
一部のDAW(Sonar、VSTHost等)でエラー(例外)が発生する パラメータ操作クラスを実装する
ヘッダファイル「pluginfactoryvst3.h」が見つからない。 ヘッダファイルを「pluginfactoryvst3.h」から「pluginfactory.h」に修正する。

少し落ち着いてから解説する予定ですので、今回は解説はありません。

ソースファイルはこちらになります。 → 20171207_vst3

なお、VST3.6のプロジェクトの作成方法やVST3開発環境の準備方法は下記をご参照ください。

その他、VST3.6については下記をご参照ください。

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

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

エフェクターの簡単な実装例 – オートワウ

オートワウの実装例

オートワウとはテンポに合わせてカットオフ周波数を変化させたフィルターを入力信号に適用するエフェクターです。
※オートワウは本やサイトによって説明が変わるようですが、ここではテンポに合わせてかかるワウをオートワウとすることとします。

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

パラメーター 意味 だいたいの範囲
テンポ ワウの周期 25~300BPM程度
深さ ワウの深さ(周波数変化量) 0~5程度
カットオフ周波数 ワウで使用するフィルターのカットオフ周波数 200~5kHz程度

実装はカットオフ周波数をテンポに合わせて変化させたバンドパスフィルターを入力信号にかけます。

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

【実装イメージ】

上記はあくまで実装例です。
バンドパスフィルタをローパスフィルタに変えたり、cos関数をノコギリ状の波形など 他の周期関数にすることでかかり方が変わってきます。
また、フィルタをかける前やかけた後に増幅したり飽和関数(tanh関数など)を適用してブーストしてみても面白いかもしれません。

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

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

VST3プラグイン開発02 – VST3プロジェクトの作成

VST3のプロジェクトの作成

前回は開発環境の準備方法を記載いたしました。

今回はVST SDKでVST3開発用のVisual Studioプロジェクトを作成方法について記載いたします。

なお、OSはWindows 10 64bitで、Visual Studio 2019 CommunityとVST SDK 3.7.1を使用することを前提としています。
また、VST基本ライブラリは作成済みであることを前提としております。

プロジェクトの作成

まずはVisual Studioのプロジェクト自体を作成します。

Visual Studioを起動し、「新しいプロジェクトの作成」を選びます。

もっと見る

VST3プラグイン開発01 – VST3開発環境の準備

VST3開発環境の準備

VST3を開発するにはいくつかのソフトウェアが必要になります。
このサイトではWindows 10 64bitでVisual Studio 2019 CommunityとVST SDK3.7.3を使用してVST3を開発する方法を説明いたします。

まずは、開発するための環境を準備する方法を記載いたします。下記のステップで環境の準備を行います。

  1. 開発環境のインストール
  2. VST SDKのダウンロード
  3. VST基本ライブラリの作成

開発環境のインストールやVST SDKダウンロードなどすでに終わっている項目については読み飛ばしていただいてもかまいません。

開発環境のインストール

VST/VSTiプラグインはC/C++で開発する必要があります。
もっと見る