オヌディオプラグむンの䜜成、パヌト3

シリヌズのすべおの投皿

パヌト1.玹介ずセットアップ

パヌト2.コヌドの孊習

パヌト3. VSTおよびAU

パヌト4.デゞタル歪み

パヌト5.プリセットずGUI

パヌト6.信号合成

パヌト7. MIDIメッセヌゞの受信

パヌト8.仮想キヌボヌド

パヌト9.封筒

パヌト10. GUIの改善

パヌト11.フィルタヌ

パヌト12.䜎呚波発振噚

パヌト13.再蚭蚈

パヌト14.ポリフォニヌ1

パヌト15.ポリフォニヌ2

パヌト16.アンチ゚むリアス






この投皿では、開発環境の必芁なセットアップを完了し、補助環境を準備したす。



VSTおよびAU





WDL-OLでは、アプリケヌションをVSTたたはAUに簡単に倉換できたす。 MacでVSTを䜜成するには、レむアりトを倉曎したす VST2-> My Mac 64-Bit 実行をクリックしたす 。 ゚ラヌはないはずですが、䜕も始たっお​​いたせん Finderを開き、 〜/ Library / Audio / Plug-Ins / VSTに移動したす。 ラむブラリフォルダがホヌムディレクトリに衚瀺されおいない堎合は、 MyFirstPlugin.vstが衚瀺されたす。Cmd + Shift + Gを抌し、指定されたパスを貌り付けおEnterを抌したす。



次のセクションはMac甚です。 以䞋のWindowsバヌゞョン。



Xcodeでのデバッグ





プラグむンを実行するには、ホストが必芁です。 できれば64ビットバヌゞョンのREAPERをダりンロヌドし、 アプリケヌションフォルダヌにドラッグしおください。60日間制限なく䜿甚できたす。その埌、ラむセンスを賌入するよう求められたすただし、匕き続き機胜したす。 Xcodeで実行をクリックするず、REAPERずデバッガヌが起動するように、すべおを構成したす。 アプリケヌションで行ったのず同じ方法でブレヌクポむントを䜿甚できたす。



補品→スキヌム→スキヌムの線集...に移動し、巊偎のリストで「 実行 」を遞択したす 。 実行可胜サブ項目で、 その他...を遞択したす 。







ダむアログボックスを䜿甚しお、 REAPER64.appを芋぀けたす 。 次のようになりたす。







[ OK]をクリックしお、もう䞀床実行したす。 REAPERが起動したす。 サりンド甚の新しいトラックを䜜成するには、Cmd + TWindowsではCtrl + Tを抌し、その䞊にFXボタンがありたす







開いたりィンドりで、 myfirstpluginず入力するず、プラグむンが芋぀かりたす。







遞択しお、 OKをクリックしたす。 圌が衚瀺されるはずです。 REAPERを䜿甚する利点は、プラグむンで任意のサりンドファむルを凊理し、すぐに結果を聞くこずができるこずです。 これは、マむク入力から垞に聞くよりもはるかに興味深いです。 さらに、ここでは、プラグむンの出力信号の分析など、他のさたざたなプラグむンを䜿甚できたす。 これは䟿利になりたすが、埌になりたす。

このファむルをダりンロヌドしお、REAPERのトラックにドラッグしたす 。 トラックの巊境界線の近くに配眮したす。 スペヌスバヌを抌しお再生したす。 䜎い音が聞こえたす







䟿宜䞊、スペヌスバヌをもう䞀床抌すたで無限に再生されるようにサりンドをルヌプするずよいでしょう。 CmdWindowsではShiftを抌しながら、トラック䞊のファむルをダブルクリックしたす。 明るい長方圢が時間範囲を瀺したす。 Rを抌しおルヌプし、実行したす。 プラグむンノブを回す-音量が倉わりたす







ノブを回すず、カチッずいう音がする堎合がありたす。 これは、倀を補間せず、信号に急激な差を䜜成しないためです。 Xcode Stopをクリックしお、REAPERを閉じたす。



AUバヌゞョンの䜜成は簡単です。タヌゲットをAUに倉曎したす。 REAPER.appを実行する前のようにRunスキヌムを倉曎し、 Runをクリックしたす 。 プラグむンがコンパむルされ、そのファむルが〜/ Library / Audio / Plug-Ins / Componentsに衚瀺されたす 。 REAPERが起動し、VSTバヌゞョンず同じこずができたす。



これらすべおが始たり、トラックを䜜成し、プラグむンをスロヌしたす。 私はこのようなものを最適化するこずを奜みたす。 REAPERですべおの準備ができたらサりンドがルヌプバックされ、プラグむンは既にトラックにかかっおいたす、プロゞェクトMacではCmd + S、WindowsではCtrl + SをXcodeのプロゞェクトフォルダヌに保存したす 〜/ plugin-development / wdl-ol / IPlugExamples / MyFirstPlugin / およびreaper-project.RPPずいう名前。



[ スキヌムの線集]りィンドりで、䞊郚の[ VST2]を遞択したす。 次に、[ 匕数 ]タブに移動し、[ 起動時に枡される匕数 ] 行の䞋にあるプラス蚘号をクリックしたす。 reaper-project.RPPをプロゞェクトフォルダヌから新しい行にドラッグしたす。







AUに぀いおも同じこずを繰り返す必芁がありたす。 必芁に応じお、AUバヌゞョン甚に別のプロゞェクトを䜜成するこずもできたす。 これで、REAPERはすべおのゞャンクで既に開始されたす。 わあ



必芁に応じお、Xcodeで盎接実行されおいなくおも、ブレヌクポむントをいじっおプラグむンの倉数の倀を远跡できたす。



Windowsでのデバッグ





゚クスプロヌラヌを開き、 C\ Program Filesに移動したす 。 そこでvsthostずいう名前の新しいフォルダヌを䜜成したす。 Savihostプログラムをダりンロヌドし savihostx86.zipが必芁です 、 savihost.exeファむルを解凍しおこのフォルダヌにコピヌしたす。







Visual C ++で、 MyFirstPlugin-vst2を右クリックし、「スタヌトアッププロゞェクトずしお蚭定 」を遞択したす。 F5を抌すず、プラグむンがSavihostで起動したす。







䜕も衚瀺されない堎合は、タスクバヌのりィンドりをクリックしおください。

もう1぀実行する必芁がありたす。Savihostはすべおの䟋倖をキャッチし、プラグむンがクラッシュしないこずを確認しようずしたす。 ステヌゞで挔奏するのは玠晎らしいこずですが、今はデバッグする必芁がありたす。 Visual C ++で、 MyFirstPlugin-vst2を右クリックし、 [ プロパティ ] を遞択したす 。 開いたりィンドりで、「 デバッグ 」を遞択したす。 図のように、パラメヌタヌの右偎に/noexc /noft



远加したすスペヌスを倱わないでください。







これで、Visual C ++デバッガヌに䟋倖がスロヌされたす。



VST3バヌゞョンを実行しようずするず、次のようなメッセヌゞが衚瀺される堎合がありたすおそらくドむツ語ではありたせん。







前にダりンロヌドしたVST3 SDKでは、アヌカむブは\ binサブフォルダヌにありたす。 32ビットおよび64ビットシステムに必芁なフォルダヌを䜜成するむンストヌラヌ C\ Program Filesx86\ Steinberg \ VST3PluginTestHost \およびC\ Program Files \ Steinberg \ VST3PluginTestHost \ が含たれ、 そこにVST3PluginTestHostファむルの必芁なバヌゞョンをコピヌしたす.exe むンストヌル䞭に、パラメヌタヌを倉曎する必芁はありたせん。



Windowsでは、実際の状態でプラグむンのパフォヌマンスを確認するこずもできたす。 REAPERを再び䜿甚したす。 プラグむンの堎所を圌に䌝える必芁がありたす。 プロゞェクトフォルダヌには、サブフォルダヌ\ build-winがありたす。これには、特に.dllおよび.vstプラグむンファむルが含たれおいたす。 REAPER オプション→蚭定→プラグむン→VST蚭定で、これらのファむルを含むディレクトリを远加できたす。







次に、REAPERで、目的のプラグむンのビルドx86 / x64を䜿甚しおプロゞェクトを䜜成し、必芁に応じお構成たずえば、プラグむンハンドルを特定の䜍眮に配眮しお保存したす。 Visual Studioのメニュヌ[ プロゞェクト ] →[プロパティ ]で、reaper.exeず構成枈みの.rppぞのフルパスを蚘述したす。







䞀般に、 $(VST2_64_HOST_PATH)



およびその他の倚くのパラメヌタヌは、WDL-OLディレクトリヌのcommon.propsファむルに登録されたす。 蚭定で遊ぶ前にバックアップするこずを忘れないでください。



デバッグモヌドでREAPERを䜿甚しおいるずきにreaper_host32.exeがクラッシュし始めた堎合は、蚭定で[ネむティブのみ]を遞択しお、このプロセスをバむパスしおプラグむンをロヌドするように蚭定しおみおください。







reaper_host32.exeは匕き続きクラッシュする可胜性がありたすが、それをバむパスしおロヌドされたプラグむンの凊理ずサりンド出力の䞭断を停止したす。



Macラむブラリアラヌトロック





次にWindowsバヌゞョンが登堎したす。



ご芧のずおり、次のような譊告が衚瀺されたす。







譊告は、コヌド内の考えられる問題やバグに泚意を払うため、非垞に䟿利です。 この堎合、22個の譊告は䜿甚しおいるラむブラリのコヌドに関連しおいるため、単に修正するこずはできたせん。このラむブラリの最新バヌゞョンをダりンロヌドした堎合、すべおの修正を再床行う必芁があるためです。 しかし、そのたたにしおおくこずも良くありたせん。プラグむンのコヌドをすでに参照しおいる23番目の゚ラヌを簡単にスキップできたす。



私の意芋では、最善の解決策は、これらの譊告をブロックしお、新しい譊告が衚瀺されたずきに、それがコヌドに関連しおいるこずを知るこずです。 このために、 -w



コンパむラフラグを䜿甚できたす。 ナビゲヌタヌで、青いプロゞェクトアむコンをクリックし、 APPタヌゲットを遞択し、 ビルドフェヌズに移動しお、 ゜ヌスのコンパむルセクションを開きたす。 MyFirstPlugin.cppを陀くすべおの行を確認し、 Compiler Flags列をダブルクリックし、 -w



ず入力しおEnterを抌したす。







VST2、AU、およびその他の目的のタヌゲットに察しお繰り返したす。

アセンブリを再床ビルドしたす。 3぀の譊告が衚瀺されたす。 プロゞェクト蚭定の怜蚌は簡単に修正できたす。 プロゞェクト蚭定をダブルクリックし、すべおのボックスをオフにしお[ 完了 ]をクリックしたす。







珟圚、2぀の譊告が残っおいたす。







InfoPlist.stringsを゚ンコヌドする情報は、ファむルを開き、右偎のナヌティリティを䜿甚しおUTF-8に倉換するこずで修正できたす。







MyFirstPlugin.hに #include



ディレクティブを远加するず、䜙分なトヌクンの譊告が削陀されたす 。



 #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wextra-tokens" #include "IPlug_include_in_plug_hdr.h" #pragma clang diagnostic pop
      
      







珟圚、APPおよびAUタヌゲットには譊告はありたせん。 たた、VST2をビルドするず、 メむン関数の宣蚀の1぀のパラメヌタヌに関する譊告がポップアップ衚瀺されたす。 これを修正するには、 MyFirstPlugin.cppの#include



ディレクティブを補完したす .hではありたせん。



 #include "MyFirstPlugin.h" #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wmain" #include "IPlug_include_in_plug_src.h" #pragma clang diagnostic pop #include "IControl.h" #include "resource.h"
      
      







アセンブリをビルドし、すべおがきれいであるこずを確認しおください



Windowsでのラむブラリコヌドの譊告のロック





䞀般に、VS C ++はMacのGCC / LLVM以倖の譊告を生成したす。 すべおのVS C ++ 2010譊告のリストは、 このペヌゞの巊偎にありたす。



たずえば、WDLラむブラリ内のファむルに関する譊告C4101およびC4129が衚瀺される堎合、それらを無芖できたすMyFirstPlugin.h



#include



前に#pragma



远加し#pragma



。



  #pragma warning( suppress : 4101 4129 ) #include "IPlug_include_in_plug_hdr.h"
      
      







Suppress



は、次の行でのみ譊告が無芖されるこずを意味したす぀たり#include



。 そのため、ファむル内の残りのコヌドに関する譊告が衚瀺されたすが、これは問題ありたせん。 「C」なしで譊告番号のみを曞く必芁があるこずに泚意しおください。 MyFirstPlugin.cppでも同じこずができたす。



 #pragma warning( suppress : 4101 4129 ) #include "IPlug_include_in_plug_src.h"
      
      







これは、ラむブラリの.hファむルに適甚されたす。

特定の.cppに関する譊告が衚瀺された堎合は、プロゞェクト゚クスプロヌラヌでそれを芋぀け、巊偎のりィンドりで[ プロパティ ]を右クリックし、[ C / C ++]→[詳现]を遞択したす。 右偎には、 特定の譊告を無効にするオプションがありたす 。







ここで、セミコロンで区切られた譊告番号のリストを远加できたす。 ご芧のずおり、デバッガヌは既にこのファむルの4぀の譊告を無芖しおいたす。 これらの倉曎は、この特定の.cppファむルのみに圱響するこずに泚意しおください。 したがっお、残りのファむルの譊告番号を指定し、適切な蚭定に远加する必芁がありたす。

新しいプロゞェクトを䜜成するずきは、 耇補スクリプトを䜿甚しお、これらすべおの調敎を再床行う必芁がないようにしたす。



矎人 私たちはすべおの譊告をかき集めたした。䞍必芁な譊告を隠し、私たちにずっお重芁なこずを芳察しやすくしたした。 次回、汚い歪みを曞くこずに手を汚したす。



元の蚘事

martin-finke.de/blog/articles/audio-plugins-004-vst-and-au



All Articles