はじめに
gyaboと申します。
まあ恥ずかしいことにJUCEはCEDEC2016の時に初めて知って、それ以来ウォッチし続けてたんですが、書き捨てまくってるせいでプライベートでちゃんとした開発環境がまだ無いなってことで整理整頓する意味でまとめます。
目標
VSTプラグインのひな型を作ります。
※推敲してたら実は前日のアドベントカレンダーが極めて優秀で(PCMシンセ)重複しまくってるのでぜひご覧ください。
@COx2
JUCEのAPIでPCMシンセサイザーを作る
https://qiita.com/COx2/items/e50e8f29bea633c6e5b0
前提環境
Windows 10 64bit, 適当なマシンです。
VSTホストは何かしらあればいいので、Reasonでもいいし、FL Studioでもいいかな。
初学者向けの設定は優秀な記事にゆずるとして
もろもろ登録終わらせると、以下のように出てきます。
音作れるVSTプラグインを作りたいので「Audio Plugin」を押します。
適当に入力してCreateします。
うまい感じでプロジェクトが作成されると上記の通り表示されます。
こんな感じ。次は、VStudioのアイコンがあるのでクリックするといつものが立ち上がったので、おもむろにビルドします。
ペンネームみたいな本名見えてるけど関係なし。淡々とビルドします。VS2017です。
※
ここで環境変数周りでコンパイルエラーになったんですが、Windows SDK最新周りが入っていないからとのこと。
JUCEプロジェクトは作ってくれるけどWindows SDK周りは見てくれていないので、淡々と本家からinstallする必要あります。
出来上がったVSTを確認する
うまくビルドできると、こんな感じでdllが作られています。こいつがVSTプラグインのようです。
VSTを入れる
こんな感じでコピペしてフォルダにいれます。
ホストアプリから起動する
FL Studioのライセンスを持ってるので、FLから起動します。
FL Studioは以下。
https://www.image-line.com/flstudio/
plugin databaseから新しく追加されてますね!ってVSTを選んでトラックに入れたりすると、
以下の通り出ます。
やったね。あとはやりたい放題だ!
すごいな。こんなあっさりとVST作れるなんて。
JUCEを使うメリットを考える
あとはMIDIのコントロール受け取ったりするだけのこまごまとした処理ばかりのはずなので、軽く感想。
生のVSTSDKを使った記事は過去に自分のサイトに書いています。
VSTプラグインを自作する
http://gyabo.sakura.ne.jp/tips/vst0.html
GHP - PROG-RAHAM - SOUND
http://gyabo.sakura.ne.jp/progsnd.html
で、VSTのSDKは割とちょくちょく変わる印象あって(?いつ頃の話だろう)めんどくさいなと思っていたんですが
JUCE frameworkでGUIのひな型を含めてすべてお世話してくれる環境を一撃でもらえる恩恵は非常にでかいです。
もちろんVSTSDK側のサンプルもそれなりにできてて良いのですが、本質的なところじゃないところで脳のリソース使うのは浪費だな~と思うくらいJUCE側よくできている印象があります。
JUCEのサンプルについて
2017/12現在、以下のフォルダにあります。
juce-huckleberry-windows\JUCE\examples\OpenGLAppExample\
私は本来はグラフィック屋さんなので特に目をひいたのがOpenGLのサンプルです。
juce-huckleberry-windows\JUCE\examples\OpenGLAppExample\Source
MainComponent.cpp側にゴリゴリシェーダーとか書いてあって、そのままいろいろ改造して使えそうな雰囲気もあります。
サウンド周りとグラフィック周りが同時にいろいろサポートしてくれるフレームワーク、サウンド周りがたいていおざなりだったりするのですが、
JUCEはよくできています。ここまでお世話してくれれば何か一つ作れそうな気がします。
終わりに
JUCE、サンプルを淡々と紹介するサイトとかあったら需要あるんですかね。
とにかく幅広がってて楽しいフレームワークなので触ってみてください。
レッツエンジョイJUCE!
おまけ
JUCEのロゴっぽいのをねらってたんですが、失敗しました。
以上です。