VST 2.4サポート終了について
ここではVST 2.4の開発について記載させていただいておりますが、公式サポートが終了しており内容を更新しておりません。
これから開発を始める方は、新しいVSTバージョンで開発することをお勧めさせていただきます。
新しいVSTバージョンの開発情報はこちら → はじめてのVSTプラグインの作り
VSTとは?
VSTとは音楽制作ソフトウェア上で動かすエフェクターやデジタル楽器などのソフトウェアの規格です。
1996年にStenberg(音楽制作ソフトウェア Cubaseを開発した会社)がこの規格を発表し、多くの音楽制作ソフトウェアに採用されました。
このソフトウェア規格に基づいて作成されたプログラムはVSTプラグインやVSTiプラグインといわれています。
VSTプラグインは主にエフェクターを、VSTiプラグインはデジタル楽器を示しますが、どちらも略してVSTプラグインやVSTと呼ばれることが多く、上記規格ともあわせて混同してしまうこともあります。
用語 | 概要 |
---|---|
VST | 音楽制作ソフトウェア上で動かすエフェクターやデジタル楽器などのソフトウェアの規格。 |
VSTプラグイン | VSTの規格に基づいて作成されたプログラムで主にエフェクターとして動作するもの。 |
VSTiプラグイン | VSTの規格に基づいて作成されたプログラムでデジタル楽器て動作するもの。 |
2014年6月現在、VSTはバージョン2.4とバージョン3.6の2つのバージョンが混在していますが、多くの音楽制作ソフトウェアはどちらのバージョンでも動かすことができます。
本サイトではバージョン2.4についての情報を扱います。
VST/VSTiプラグインを作成するには?
VST/VSTiプラグインを作成するためにはC/C++でのプログラミング知識と音声信号処理に関する知識、開発のためのソフトウェアが必要となります。
VST/VSTiプラグインはC++言語で開発されることを前提としているため、C/C++でのプログラミング知識が必要となります。また、エフェクターでは楽器などの音声信号を扱うため音声信号処理に関する知識も必要です。デジタル楽器を作成する場合はさらにMIDIやシンセサイザーの原理などについても知っておく必要があります。
項目 | キーワード | 概要 |
---|---|---|
C/C++プログラミング知識 | 配列とポインタ | 音声データは配列に保存されることが多い。またそれらの配列を関数間での引き渡しすため、ポインタの理解が必要。 |
クラスの継承とオーバーライド | VST/VSTiプラグインの開発では雛形のクラスを継承して作成するため、これらの理解が必要 | |
音声信号処理の知識 | 音の基本知識・性質 | 周波数と音の高さや音圧(dB)、人間の可聴範囲などの理解が必要 |
AD/DA変換の基礎知識 | AD/DA変換とは何か?やサンプリング周波数、ナイキスト周波数についての理解が必要 |
開発のために必要なソフトウェアにはC/C++開発環境とVST SDKがあります。
上記のとおり、VST/VSTiプラグインはC++言語での開発が前提のため、C/C++開発環境が必要となります。VST SDKはVST/VSTiプラグインを作成するための雛形(C++のクラス)が記載されたソースコード一式となります。
ソフトウェア | 概要 |
---|---|
C/C++開発環境 | VSTに限らずプログラムを製作するためのソフトウェア。VST/VSTiプラグインはC++言語での開発が前提。 |
VST SDK | SDKとはVST/VSTiプラグインを作成するための雛形(C++のクラス)が記載されたソースコード一式 |
まとめ
- VSTとはStenberg社のエフェクター/デジタル楽器のプラグイン規格。この規格に沿って作られたプラグインをVST/VSTiプラグインという
- VSTのバージョンは現在(2017年12月)2.4と3.6の2種類がある。
- VSTを開発するためには「C/C++開発環境」と「VST SDK」が必要。
最後に
VSTと開発するためについての概要を記載いたしました。
次回はVSTを開発するために必要な「C/C++」の開発環境であるVisudal Studioのダウンロード方法について記載いたします。