LoginSignup
2
4

More than 3 years have passed since last update.

JUCEで簡単なソフトシンセを作る(準備編)

Last updated at Posted at 2018-12-29

目的

ほぼほぼ自分用のメモ、いわゆる備忘録。表題とは裏腹に、AUv3ってどうやれば作れるんだろーなーという疑問を解決するためのものです。なんでAUv3かって?それはAUv3ならApp Storeで売れるものが(簡単に?)作れるから。Mac用に書いてるけど、iOS用のAUv3にもたぶんそのまま適用可(未検証→動きました)。

前提条件

  • macOS Mojave (10.14.x)
  • AudioUnit v3
  • Xcode
  • JUCE 5.4.1(執筆時)
  • VST 3.6.7 SDK(VSTSDKは3.6.12が最新だが、それを使うとリンクエラーが出ることがわかっている)
  • Logic Pro XとMainStage (AUv3のテスト用)
  • Studio One 3(VSTのテスト用。個人的には割とどーでもいい)

環境整備

Xcode

App Storeからインストール。特に設定はいらないはず。

JUCE

JUCEのサイトからJUCEをダウンロードし、展開してホームディレクトリ直下に置く。別の場所に置いても良いがその場合はGlobal PathsでPath to JUCEを変更の必要あり。Projucerはアプリケーションフォルダの中にコピーしておく。

VST SDK

3.6.7を使う必要がある。今どこからダウンロードできるか不明。ファイル名はvstsdk367_03_03_2017_build_352.zip。ダウンロードしたらホームディレクトリの下にSDKsというディレクトリを作って、その中にVST3_SDKを置いておく。Projucerを起動して、Global Pathsの中でVST SDKのディレクトリを設定しておく。
JuceGlobalPaths.png

Developer IDとかProvisioningとか…

俺的に超めんどくさいので後で…。普通にMacのアプリ作れてる人はスキップ可能(たぶん)。iOSのアプリ作ってる人は同じようなことをMacのアプリに対しても行えばOK。AU/VST3はこれ無くてもいいけど、AUv3はこれが無いとプラグインが認識されない。

プロジェクトを作成

Projucerを起動し、メニューのFile -> New Project...を選択。出てきたダイアログでAudio Plug-inを選択。Project NameにSimpleSynthと入力してCreate...ボタンをクリック。スクショではUse global module pathにチェックが入ってるが、実際には外さないとエラーで作成できなかった。スクリーンショット 2018-12-29 22.24.38.png
作成したプロジェクトが表示されたら、おもむろに左上の方にある設定アイコンをクリック。スクリーンショット 2018-12-29 22.36.54.png

  • Project NameはそのままでOK。変えたきゃ変える。
  • Project Version、Company Name、Company Copyright、Company Website、Company E-mailは適宜設定。
  • Bundle Identifierはドメインの逆順で適宜設定。
  • Plugin FormatsはVST3、AUv3、Standaloneにチェックを入れる。
  • Plugin CharacteristicsはPlugin is a Synth、Plugin MIDI Inputにチェックを入れる。
  • Plugin NameからPlugin Codeまでは適宜設定。
  • Plugin Channel Configurationsに {0, 2} と記述。
  • Plugin AU is sandbox safeをEnabledに。

と、ここまで設定したら一旦保存して、ウィンドウ上部にあるXcodeのアイコンをクリックするとXcodeでプロジェクトが開く。そのままCmd+Bでビルドすると、たぶんWarningが3つ出てビルドが成功するはず。スクリーンショット 2018-12-29 22.51.42.png

Warningの解決

最初のUnable to recommended settingsは、クリックするとビルド設定変える?的なダイアログ出るのでそのままPerform Changesをクリックして閉じると解決。
2番目のはAUv3に対してcode signが設定されていないから。ウィンドウ一番上の左上のフォルダみたいなアイコンをクリックして、一番上のSimpleSynthのプロジェクトを選択してから、ターゲットをSimpleSynth - AppExtension AUv3にしてから、Build Settingsタブをクリックして、Signingまでスクロール。Code Signing IdentityをAutomatic - Mac Developerに、Development Teamを自分のチームに設定。
スクリーンショット 2018-12-29 22.58.29.png
この状態でビルドするとWarningは1つに減るはず。最後のは未使用変数なので後でコードいじるときに解決する。ビルドした後、Standaloneのアプリを起動するとAUv3がシステムに登録される。←ココ重要スクリーンショット 2018-12-29 23.08.02.png
その後、Logic Pro XかMainStageを起動して、プラグインマネージャを開いてビルドしたプラグインが認識されていればひとまずOK。
スクリーンショット 2018-12-29 23.09.09.png
AUv3はこれまでのAUと違ってビルトインのプラグインと同じようにメニューの上の方に出てきます(なんでだろう?)。
スクリーンショット 2018-12-29 23.12.01.png
このままでは全く何も音は出ないけど、たぶん今までプラグインを作ってた人(←俺)ならここまでで必要な情報は網羅できてると思う。

2
4
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
4