72
60

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

JUCE Frameworkを使ってVST/AudioUnitプラグインを作る Mac編 -HelloWorldの巻-

Last updated at Posted at 2016-01-21

JUCE frameworkについて

JUCE(Jules' Utility Class Extensions) framework はC++言語で様々なマルチメディア系アプリケーションを作るのを支援するフレームワークです。公式サイト
付属のエディタ『Projucer』から複数のIDE(VisualStudio, Xcode, Makefile)向けのプロジェクトファイルを自動で出力してくれるので、ワンソースでクロスプラットフォームなアプリケーションの作成を実現できます。
一機能としてVSTプラグインやAudioUnitプラグイン(以下AU)を作成することができます。

本記事はその機能を使って、VST/AUプラグインを作る工程を紹介します。
※VST = Steinberg's Virtual Studio Technology

準備

JUCE Frameworkの入手

  • Get JUCE (2016/05/07現在)

  • プラットフォーム選択

    • Mac, Windows, Linux用のダウンロードリンクが表示されるので、
      自分の環境に合わせてダウンロードしましょう。
      今回はMac編なので、『Download JUCE for Mac』を選択します。
    • 『juce-grapefruit-osx.zip』のダウンロードが完了したら、解凍します。
      適当なディレクトリに置いて頂いて構いません。
スクリーンショット 2016-01-24 1.16.17.png

VST SDKの入手

  • Get VST SDK
    • Steinberg社の開発者向けページ
      中の『VST 3.6.5 Audio Plug-Ins SDK』と書かれたダウンロードリンクから入手します。
    • 『vstsdk365_XX_XX_XXXX_build_XX.zip』のダウンロードが完了したら、
      zipを解凍して『VST3 SDK』フォルダを適当なディレクトリに置いてください。
      これからの説明を簡単にするため、今回は以下のディレクトリに置きます。
      ディレクトリ:~/SDKs/VST3 SDK

HelloWorld

Projucerでの作業

  • Projucer起動
    • 先ほど解凍した『juce-grapefruit-osx』フォルダの中にある『Projucer.app』を起動すると、新規プロジェクト作成画面が表示されます。
      ※表示されない場合は、『File』→『New Project』を選択すると新規ウインドウで表示されます。
スクリーンショット 2016-01-24 1.45.12.png
  • VST SDKのパス設定
    • 『Tools』→『Global Preferences』を選択するとこの画面が出てきます。
      『VST SDK』と『VST3 SDK』のパス設定を、先ほど配置した『VST3 SDK』ディレクトリに設定してください。
スクリーンショット 2016-01-24 1.45.28.png
  • 新規プロジェクト作成

    • スタート画面に並んだアイコンのうち[Audio Plug-in]と書かれた下段左から2番目のアイコンをクリックしてください。
    • 『Project Name』プロジェクト名の設定 クラス名の一部に自動的に使用されます。
    • 『Target Platforms』ビルドターゲット・IDEの選択
    スクリーンショット 2016-01-24 2.10.19.png
  • Configタブ - プロジェクトの設定

    • 出力したいビルド形式にチェックしてください
      • 『Build VST』 VST(2.4)形式で出力
      • 『Build VST3』VST3形式で出力
      • 『Build AudioUnit』AU形式で出力
    • 『Bundle Identifier』com."Plugin Name"."Plugin Manufacturer" としておくとよい
    • 『Plugin Name』ホストアプリケーションに読み込まれた際にプラグイン名として表示
    • 『Plugin Manufacturer』ホストアプリケーションに読み込まれた際にベンダー名として使用される
    スクリーンショット 2016-01-24 2.10.29.png - Xcode用設定項目 - デプロイ設定が自動生成されます スクリーンショット 2016-01-24 1.58.27.png
  • Filesタブ - 自動生成ファイルについて

    • PluginProcessor.cpp/.h
      • DLLのエントリポイントやホストアプリケーションとの入出力を担当します。
      • オーディオバッファのポインタを取得します。
    • PluginEditor.cpp/.h
      • GUIを実装します。
スクリーンショット 2016-01-24 1.59.47.png

Xcodeでの作業

  • Deplyment Targetの設定
    • 対象環境としたいOSXのバージョンより前のものを選択してください。
    • Deplyment Targetより前のOSX上では、ホストアプリケーションに認識されないケースを確認しています。
スクリーンショット 2016-01-24 2.11.59.png
  • Architecturesの設定
    • 32bitプラグイン/64bitプラグインとして出力する選択はここで行います。
スクリーンショット 2016-01-24 2.11.48.png
  • ビルド

    • 『Product』→『Build』
  • デプロイ先ディレクトリの確認

    • AudioUnit:"~/Library/Audio/Plug-Ins/Components/XXX.component"
スクリーンショット 2016-01-24 2.15.14.png
  • VST:"~/Library/Audio/Plug-Ins/VST/XXX.vst"
スクリーンショット 2016-01-24 2.15.27.png
  • VST3:"~/Library/Audio/Plug-Ins/VST/XXX.vst3"
スクリーンショット 2016-01-24 2.15.35.png

DAW(ホストアプリケーション)で確認

  • DAW起動
    スクリーンショット 2016-01-24 2.16.06.png

    • エフェクトプラグイン選択画面
スクリーンショット 2016-01-24 2.16.20.png
  • Audio Unit
スクリーンショット 2016-01-24 2.16.43.png
  • VST
スクリーンショット 2016-01-24 2.16.51.png
72
60
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
72
60

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?