GW暇だったんでプラグインを作ってみた。

そんな片手間でできるの〜?
…決して簡単とは言えぬ(笑)。

なんかさぁ、YouTubeみてたらたまたま自作プラグイン関係の動画に触れまして、どんな感じなのか軽い気持ちでやってみたら…ってのが今回の話です。

結論から言うと、

メンドクサいが楽しい!

ってコトぉ。

肌に合う合わないは絶対あるので万人にオススメはしませんが、AIという武器があれば、結構簡単だと言えるのかも知れない。

Menu

はじめに

私は一応GoogleのAIサブスクに課金してるので、AI自体には興味があります。ただガチ勢ではなく自分のMVの為の画像やら動画を生成するくらい。

Claudeでなんか色々やれる、という噂はかねがね聞いてはいたのですが、知識ゼロの私的にはそういう小難しいのは別次元の話だと思ってました。コードを書いて〜とかマジで考えてもみなかった。

GWに時間を持て余してた時、ホントになんとなくGeminiに「ClaudeでDTMプラグイン作れるの?」って聞いてみたらやはりというか、中々に難解な返答が返って来ました(笑)。

んで私も愛用しているGeminiでも可能かどうか聞いてみたら「当然じゃん!」みたいに答えるから、じゃあちょっと試してみますか、的なそんな軽いノリでやってみることにしました。

必要なアプリケーション

Visual Studio 2026

Visual Studioとは

「ソフトを作るための、すべてが揃った万能な作業部屋」

マイクロソフトが開発している「統合開発環境(IDE)」と呼ばれるソフトで、プログラミングに必要な「コードを書くエディタ」「エラーを見つけるデバッガ」「完成品を組み立てるビルド機能」などが、最初からすべて一つのパッケージにまとまっています。

by Gemini

まずはVisual Studioです。私よりもAIのが説明上手いのでGeminiにお任せしとります。ハッキリ言って私もこのツールが一体何なのか理解しておりません(笑)。コード書けるヤツ、みたいな認識。

Visual Studioの使用にはマイクロソフトアカウントが必要で個人利用なら無料で使えます。素晴らしいですな。

私がゼロからコードを書けるわけないので、Geminiに全振りさせてもらいました。もしかしたら、Copilotの方が親和性高いのかもしれないですし、Claudeの方が楽なのかもしれない。

その辺私には分かんない。

▼Microsoft Visual Studio
https://visualstudio.microsoft.com/ja/

JUCE

JUCEとは

「オーディオアプリ・プラグイン制作に特化した、強力な開発用ツールキット」

プログラミング言語の「C++」を使用して、音楽制作ソフト(DAW)で使うエフェクターやシンセサイザー(VSTプラグインなど)、または音楽再生アプリなどを効率よく作るためのフレームワークです。

by Gemini

続いてJUCE。オーディオプラグイン関係の開発にはコレが業界標準みたいな感じなのかな。

JUCEも無料で使えますが、コチラは年間収益によってライセンス体系が異なります。300万円超えたら有料プランにしないとダメらしい。

何がどうなってコレがいるのか全然理解しとらんとですはい。取り敢えずJUCEをインストールすると付いてくる「Projucer」を入り口にVisual Studioが起動する。

▼JUCE
https://juce.com/

この2つをどう使うのか

​「Visual Studio」と「JUCE」はセットで使われることが多い「道具箱と設計図」のような関係。

JUCEは「どんな音を出すか」「どんな見た目にするか」というアプリの設計図や部品を提供します。
Visual StudioはJUCEで作った設計図を読み込み、実際に動くプログラム(.exeや.vst3ファイル)として組み立てる場所(ビルド環境)になります。

大まかな流れ
  1. JUCE(Projucer)で基本設定をする。
  2. Visual StudioなどのIDEでC++のコードを書く。
  3. ビルドして自分のDAW(Studio OneやCubaseなど)で読み込める形にする。

って事らしい。Geminiちゃんによると(笑)。

何を作るか

欲しいものは何だ。

そう考えた時、ガッツリエフェクトプラグインなんか無理無理ってフツーに思ったんで、音量系のものにしようと考えました。無知な私でもこれはシンプルな部類に入るだろう事は分かりますから。

ワンボタンで指定した音量に合わせる

最初にイメージしたのはそんな感じ。GoodhertzのLoudnessみたいな感じですかね。でも欲張らずあれよりももっとシンプルなもの。

しかしながら作ってみたら別物になってた。作ってる途中から「あれれ?」みたいな違和感を感じながらも取り敢えずGeminiに言われるがまま最後までやってみた。

なので意図せず生まれた処女作と、伝え方をちゃんとして出来た本命、2つのプラグインが誕生しました。

完成したプラグイン

AutoGain

こちらが我が1stプラグイン。その名も「AutoGain」。まんまですけど、機能的にはボーカルライダーです。途中で方向性が違うのは気付きましたが、無駄な経験はないという思いのもと完遂する事にしました。

右のノブがターゲット音量で、ここに合わせてなんかいい感じに小さい音は大きく、大きい音は小さくしてくれます。全体的に滑らかに動作してるとは思いますが、一部違和感を感じる部分もあります。

音質的には良くはない(笑)。市販品と比べるとクソみたいなものですが、それでもこういうプラグインが己の手で作れるんだと、ちょっと感動。んでも無知な者がコレを完成させるのは中々に大変でしたよ。

サンプル音源

設定
play_circle_filled
pause_circle_filled
Plugin OFF
volume_down
volume_up
volume_off
play_circle_filled
pause_circle_filled
Plugin ON
volume_down
volume_up
volume_off

音源にはリミッターだけ使ってます。まんまだと小さすぎるので。

取り合えず作ってみた第1号プラグインであり、意図したものではなかったので音質的な追い込みはしてません。よって全体的な音量の均一化はまぁ図れてはいるものの、15秒~20秒らへんのボリュームの起伏に対応しきれてない感があります。

パッと聞いただけではちゃんと機能しているのか正直不明。なにせ内部構造把握しとらんのですから(笑)。

LufsMatcher

本命がコレだ。音量合わせプラグイン。記事用に結構比較音源とか作るんですけど、音量合わせって意外と面倒くさいんですよ。いつもメーター見ながら1つずつ微調整してます。

音量の平均値を取って設定したLUFS値に近づけてくれる、ってな感じです。サウンドを読み込ませる必要がありますが、超絶シンプルで結構気に入ってます。他のラウドネスメーターを見ながらGeminiに何度も修正掛けつつ中身は割と早く完成。

時間が掛かったのはUIの方。なんやかんやでノブ変えたりメーター追加したり配置を弄ったり。正直ここはまだまだ弄り倒したいくらいオモロイ。今後もどこまでのものを作れるのか試すと思う。

サンプル音源

設定
play_circle_filled
pause_circle_filled
Plugin OFF
volume_down
volume_up
volume_off
play_circle_filled
pause_circle_filled
Plugin ON
volume_down
volume_up
volume_off

これは結構いいっスよ。Targetの「-14」って数値よりも実際は1LUFS程小さくなってる感じがしますが、私的には音量を揃えるというのが目的なのでその点では大満足。右のメーターは正確だと思います。

今回の音源は全体的に音量が小さくゲインがプラスに設定されましたが、逆ももちろん可能なので非常に便利です。なんせ自分の記事用ですから、精密な数値など別に気にせんとです。

余計なものがなく迷わない、これ最強。

初代のUI

おまけ。最初に生み出されたものが↓
これ以外にも腐るほどに残骸画像が残ってます(笑)。

AutoGain
LufsMatcher

終わりに

なんか成長した

何度もコードのコピペを繰り返し、テストを行う度に上手く行かず、スクショしてGeminiを問い詰めながら(笑)、Shift+Ctrl+Bを何度も押す。

ただやはり経験、そういう苦労を重ねていくと、ぼんやりとツールの概要が掴めて来るんです。ブロック毎の名称やら役割やらがなんとなくね。

AI使うの上手い人なら最初からコード丸々生成してくれるようにするんでしょうが、私の場合段階踏んでしまったよ。でも結果として理解度が上がったしその工程も楽しめたので良かったと思います。

「ここなんかおかしくない?」とか「こんなのあるけど大丈夫?」みたいにGeminiに質問できるくらいにはなりましたから。

トライするのに最低限必要なこと

必要なこと
  • PCの知識…フォルダやファイルの位置関係の把握、拡張子の意味
  • 多少の英語力
  • AIツール

Visual StudioとJUCEでプラグインは確かに作れます。知識ゼロの私でさえ形には出来ました。しかしながら誰でも即出来る、とは決して言えません。

まずある程度のPC知識がいります。どこにどんなファイルが格納されて何のためのデータなのか、これが分かってないと確実に迷子になります。また、拡張子という“概念”を知らないと、ファイルを開くことすら困難だと思います。

作成したプラグインの保存先にあるフォルダの中のデータのどれを押せば何が開くか、とか(笑)。階層も深い所にあるんすよ。私も見たことない拡張子でしたが、概念を知っていれば何となく当たりを付ける事ができるんですねぇ。

後、コードは当然ながらイングリッシュ。単語を読めるかどうかだけでも吸収力が全然違うと思います。私はもう各ブロックがどう分けられてるかは何となく把握する事ができます。

とは言え、ゼロから自分でコードを書くとかは絶対無理。AI使わないと100%手も足も出ない。私は課金もしてるし慣れ親しんでいるGeminiのProモードでやりましたけど、他のAIツールの方が強力なのかもしれませんし、そこはどうなのか分かりません。

これ、私の感想です

最後にもう1つ私の感想を。

最初Geminiに中途半端な指示をしたせいでハッキリ言って遠回りした。私が理解できるように一つずつ説明を加えながらすげぇ部分部分のコードを作るんですよ。どこからどこまでコピペするとかメチャクチャやり取りしましたから。

先にも言いましたけど、そのおかげで理解度は増したんですけど、マジでクソめんどくさかった。私的にはそれで良かったと思ってますけどね。

でも、正直、cppならcppの、hならhの、コードを頭からお尻まで丸っと作成してもらう方が圧倒的に早いし楽。自分でコード書けないんだから、その方がミスも起きにくいです。

また、Geminiは完璧ではなかった。何度かコードを間違って私に謝ってましたから。偉いよねぇ。「スミマセン私のミスです、ここはこういう風にするべきでした」、みたいに言ってくるんよ(笑)。言い訳もたまにしてたけど、そういうやり取りが出来るAIってやべぇすな。

シェアしてくれたら喜ぶ!
Menu