LoginSignup
2
2

More than 5 years have passed since last update.

JUCE 5.4.0以降でVST 2.xをビルドするための設定

Posted at

JUCEって何?

JUCE (Jules' Utility Class Extensions)は、C++言語によるマルチメディア系アプリケーションの開発を支援するフレームワークです。クロスプラットフォーム設計のライブラリと、付属されているプロジェクトジェネレータ『Projucer』から各種IDE(VisualStudio, Xcode, Makefile)向けにプロジェクトファイルを出力することで、ワンソースからWindows, macOS, Linux, iOS, Android で動作するアプリケーションを作成することができます。
公式サイト

JUCEの最大の特徴として、オーディオプラグインを開発するためのテンプレートが充実していることが挙げられます。VST/AudioUnit/AAX/RTASプラグインといった、DTMユーザーにはお馴染みのプラグインフォーマットを開発するのに長けており、日本国内外で多くの採用事例があります。
JUCEについてより詳しく知りたい場合は、こちらの記事JUCE ハンズオン 〜JUCEをはじめよう〜や、JUCE Advent Calendar 2017をご覧いただければと思います。

VSTプラグインとは?

VST(Steinberg's Virtual Studio Technology)とは、ドイツのSteinberg(スタインバーグ)社が提供している仮想音響技術のことです。音源(シンセサイザー)として機能するものはVSTi(VST instrument)とも呼ばれます。C++のダイナミックライブラリで実装され、DAW(Digital Audio Workstation)等のホストアプリケーションに組み込むことができ、フィルタや仮想楽器をシミュレートすることができます。仕様そのものはクロスプラットフォームなC++ライブラリで提供されているため、プラットフォーム上でコンパイルしてしまえば、そのプラットフォーム上で楽器やエフェクターとして使用することが出来ます。

本記事では、そのVSTプラグインを実装するにあたり、より簡単かつGUI用のコンポーネントが充実しているJUCEフレームワークを利用します。

JUCE 5.4.0からはVST 2.xの出力が非推奨に

Steinberg社がVST 2.x のサポートを終了するのに合わせて、2018年11月にリリースされたのJUCE 5.4.0からはVST 2.xの出力が非推奨扱いになりました。
また、JUCE 5.3.2以前ではJUCEライブラリ内にVST 2.xのCインターフェースを定義したクラスが同梱されていましたが、そのクラスも取り除かれるようになりました。
JUCEとしては非推奨ではあるものの、Steinberg社から個別にライセンスを受けることでVST 2.xを出力することができます。
具体的には、旧バージョンのVST SDKを入手し、Projucerのライブラリパスを設定することでVST 2.xを出力することができるようになります。
※本記事では、旧バージョンのVST SDKを所有していることを前提として解説していきます。

グローバルパスの設定

Projucerのメニューバーから[File]->[Global Paths...]を選択します。
globalpath.png

Glopal Paths設定画面のうち、VST(Legacy)SDKの項目を設定します。
globalpath2.png

旧バージョン(3.6.10以前)のVST SDKに含まれるフォルダーからVST2_SDKフォルダを選択してOKを押します。
vst2sdk.PNG

プロジェクト設定の[Plugin Formats]の項目にチェックを入れてプロジェクトを保存する。
vst2check.PNG

ここまでの設定を行ったら、後は通常通りプロジェクトをビルドするだけでVST 2.xのdllファイルが出力されるようになります。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2