Wie werden VST-Plugins hergestellt?


105

Ich möchte VST-Plugins erstellen (oder lernen, wie man sie erstellt). Gibt es dafür ein spezielles SDK? Wie ergibt man eine .vst anstelle einer .exe? Wie wird das gemacht, wenn man Audio Units für Logic Pro herstellen möchte? Vielen Dank

Antworten:


50

Beginnen Sie mit diesem Link zum Wiki, erklären Sie, was sie sind und geben Sie Links zum SDK. Hier einige Informationen zur Entwicklung

So kompilieren Sie ein Plugin - Um VST-Plugins in C ++ Builder zu erstellen, benötigen Sie zunächst das VST-SDK von Steinberg. Es ist auf der Website von Yvan Grabit verfügbar (der Link befindet sich oben auf der Seite).

Als nächstes müssen Sie eine .def-Datei erstellen (zum Beispiel: myplugin.def). Dies muss mindestens die folgenden Zeilen enthalten:

EXPORTS main=_main

Borland-Compiler fügen Funktionsnamen einen Unterstrich hinzu, der die Funktion so exportiert, main()wie es ein VST-Host erwartet. Weitere Informationen zu .def-Dateien finden Sie in den C ++ Builder-Hilfedateien.

Dies ist jedoch nicht genug. Wenn Sie ein VCL-Element verwenden möchten (alles, was mit Formularen oder Komponenten zu tun hat), müssen Sie darauf achten, dass Ihr Plugin Cubase (oder einen anderen VST-Host) nicht zum Absturz bringt. Hier ist wie:

  1. Fügen Sie float.h hinzu.
  2. Schreiben Sie im Konstruktor Ihrer Effektklasse

    _control87(PC_64|MCW_EM,MCW_PC|MCW_EM);

Das sollte den Trick machen.

Hier sind einige weitere nützliche Websites:

http://www.steinberg.net/de/company/developer.html

Wie schreibe ich ein VST-Plugin (pdf) über http://www.asktoby.com/#vsttutorial


1
Zwei Ihrer Links sind nicht vollständig. Bitte beheben Sie sie.
Tiboo

44

Ich weiß, dass dies 3 Jahre alt ist, aber für alle, die dies jetzt lesen: Halten Sie sich nicht an VST, AU oder das Format eines anderen Anbieters. Steinberg hat die Unterstützung von VST2 eingestellt, und die Leute haben Probleme, ihren Code auf neuere Formate zu portieren, weil er zu stark an VST2 gebunden ist.

Diese Tutorials behandeln das Erstellen von Plugins, die unter Win / Mac 32/64 ausgeführt werden, alle Plugin-Formate aus derselben Codebasis.


Dieses Tutorial scheint nur ein Mac zu sein.
Liftarn

6
Für die Teile, in denen es Unterschiede gibt, werden in den Tutorials sowohl Mac als auch Windows behandelt. Der Autor verwendet jedoch einen Mac.
Basteln

28

Ich habe ein HOWTO für die VST-Entwicklung unter C ++ mit Visual Studio geschrieben in dem die Schritte zum Erstellen eines Basis-Plugins für die Windows-Plattform aufgeführt sind (die Mac-Version dieses Artikels wird in Kürze veröffentlicht). Unter Windows ist ein VST-Plugin nur eine normale DLL, es gibt jedoch eine Reihe von "Fallstricken", und Sie müssen das Plugin mit bestimmten Compiler- / Linker-Switches erstellen, da es sonst von einigen Hosts nicht erkannt wird.

Was den Mac betrifft, ist ein VST-Plugin nur ein Bundle mit der Erweiterung .vst. Es gibt jedoch auch einige Einstellungen, die korrekt konfiguriert werden müssen, um ein gültiges Plugin zu generieren. Sie können auch eine Reihe von Xcode VST-Plugin-Projektvorlagen herunterladen, die ich vor einiger Zeit erstellt habe und die Ihnen helfen können, ein funktionierendes Plugin auf dieser Plattform zu schreiben.

Für AudioUnits hat Apple eigene Projektvorlagen bereitgestellt, die in Xcode enthalten sind. Apple hat auch sehr gute Tutorials und Dokumentationen online:

Ich würde auch empfehlen, das Juce Framework zu testen , das eine hervorragende Unterstützung für die Erstellung plattformübergreifender VST / AU-Plugins bietet. Wenn Sie Open Source verwenden, ist Juce ein Kinderspiel, aber Sie müssen Lizenzgebühren dafür zahlen, wenn Sie Ihre Arbeit ohne Quellcode veröffentlichen möchten.


7

Wenn Sie eine .NET-Sprache (C # / VB.NET usw.) kennen, checken Sie VST.NET aus . Mit diesem Framework können Sie (nicht verwaltete) VST 2.4-Plugins in .NET erstellen. Es wird mit einem Framework geliefert, das die Erstellung eines VST-Plugins mit Unterstützung für Parameter, Programme und Persistenz strukturiert und vereinfacht.

Es gibt mehrere Beispiele, die die typischen Plugin-Szenarien demonstrieren. Es gibt auch eine Dokumentation, in der die ersten Schritte und einige der Konzepte hinter VST.NET erläutert werden.

Ich hoffe es hilft. Marc Jacobi


5

Mir ist klar, dass dies ein sehr alter Beitrag ist, aber ich hatte Erfolg mit der JUCE-Bibliothek, die Projekte für die wichtigsten IDEs wie Xcode, VS und Codeblocks erstellt und automatisch VST / 3, AU / v3, RTAS und AAX erstellt.

https://www.juce.com/


Für diejenigen, die sich fragen, ob dies ein guter Weg ist, hat das Befolgen des OSX-Tutorials für mich keine Ergebnisse erbracht, sondern nur Fehler.
Seph Reed
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.