Information ausblenden

PlugIn programmieren

Dieses Thema im Forum "Musik produzieren" wurde erstellt von 200Puls, 21.03.06.

Status des Themas:
Beachte, dass dieses Thema älter als ein Jahr ist! Möglicherweise ist es sinnvoller, einen neuen Thread zu erstellen.
  1. 200Puls

    200Puls Themenersteller

    Registriert seit:
    25.12.04
    Punkte:
    35
    35
    Servus,

    die Frage vorab:
    Was brauche ich um ein Effekt-PlugIn selber zu programmieren?

    Seit einiger Zeit versuche ich mich an DirectX-Programmierung unter Visual-Basic.
    Soweit klappt es auch ganz gut >> Samples mit Echo, Reverb etc. zu erstellen, leider nicht in Echtzeit, sondern nur vorab als wav gespeicherte Sounds :-(

    Jetzt möchte ich einen oder mehrere Schritte weiter gehen und ein Delay-PlugIn selber
    schreiben ... als VST - oder besser als Stand-Allone, wie auch immer.

    Bevor ich mich aber total verlaufe, frage ich vorab mal hier.
    - Hat jemand Erfahrung damit?

    - Welche Programmiersprache ist erforderlich?

    - Was muss ich beachten und bedenken?

    - Gibt's nützliche Links?

    und, und, und ...
     
  2. DJGravityBochum

    DJGravityBochum

    Registriert seit:
    10.09.03
    Punkte:
    3.715
    3715
    du brauchst erstmal die SDK von Steinberg !!! die man auf der HP bekommt !!

    Dann kanste loslegen !
     
  3. ammass

    ammass

    Registriert seit:
    01.05.04
    Punkte:
    1.359
    1359
    meines wissens nach wirst du mit visual basic da nicht weit kommen!
    da ist C oder C++ angesagt! ;)

    versuche es doch auch mal mit dem hier: www.synthedit.com
     
  4. orpheus2006

    orpheus2006

    Registriert seit:
    26.05.05
    Punkte:
    815
    815
    Wenn Du ein VST-Plugin entwickeln möchtest, musst Du Dich in C++ einarbeiten und Dich mit dem SDK von Steinberg auseinandersetzen. Ein Plugin ist im Prinzip eine shared-Library, in Windows-Terminologie auch als Dynamic Link Library (DLL) bekannt, die ein gegebenes Interface (hier: das von Steinberg) implementieren muss. Und natürlich brauchst Du DirectX-Kenntnisse, um die eigentliche Logik für die Effekte, etc. entwickeln zu können!

    Standalone Anwendungen kannst Du mit jeder Programmiersprache entwickeln, die eine Sound-API und -Library bietet (z.B. DirectX für Windows, oder Java Sound API als platformunabhängige Variante).
     
  5. 200Puls

    200Puls Themenersteller

    Registriert seit:
    25.12.04
    Punkte:
    35
    35
    prima, das hat mir schon mal extrem weiter geholfen.
    Die ersten wackligen Schritte in Richtung VST laufen auch. :)

    Nur bin ich von der Standalone-Variante eher angetan.
    Welche Vorgehensweise würdet ihr mir empfehlen um ein eigenständiges
    Effektprogramm zu erstellen?

    Der Knackpunt ist: Es soll ein Line-In-Signal in Echtzeit mit Delay ausgegeben werden.

    Leider finde ich unter der DirectX-SDK-Anbindung (DirectSound / DirectMusic) keine Möglichkeit das Eingangssignal der Soundkarte abzugreifen und mit Effekt auszugeben.
    ... oder ich hab's übersehen....
    Es funktioniert nur über schon vorab als wav-Datei gespeichrten Sounds.

    Hat jemand ne Idee wie das ganze als Realtime-Lösung angegangen werden kann?
    Ein Ansatz oder ne Referenz wäre hilfreich.

    Bei all den Komponenten (DirectX-SDK, ASIO-SDK, VB, C++) fällt es mir schwer den
    richtigen Einstieg zu finden.
     
  6. birdseedmusic

    birdseedmusic Administrator Mitarbeiter

    Registriert seit:
    13.04.02
    Artikel:
    2
    Punkte:
    25.576
    25576
    Hi

    Wusstest du dass es noch kein einziges Feedback Destroyer VST-Plugin gibt? Also da seh ich ma eine Marktlücke...Delays gibt es schon wie Sand am Meer, auch sehr gute.

    C++ und das Steinberg VST-Plugin sind schonmal eine gute Möglichkeit. Visual Basic erlaubt keine anständigen Code/Compiler-Optimierungen und Pointer-Operationen.

    Microsoft Visual C++ 6.0 ist eine gute Entwicklungsumgebung. Das Visual Studio 2005 hat zwar ein paar mehr Features, ist aber schweinelahm ohne 3 Ghz Prozessor und 7200 rpm Festplatte.

    Warum willst du das Soundkartensignal abgreifen? So etwas ist Aufgabe eines Sequenzers. Eine Standalone Lösung ist unflexibel, und ausser dir selbst wird sie wohl keiner so recht nutzen. Besser ist es, über die VST Schnittstelle den Audiostream abzugreifen und zu modifizieren.

    Über Fruityloops kann man z.B. Echtzeit-Plugins fahren. Dazu muss ich dann nur meine Gitarre an die Soundkarte anschliessen, dein Plugin in Fruityloops einladen und kann dann die Effekte in Echtzeit spielen.

    gruss
    MK
     
  7. 200Puls

    200Puls Themenersteller

    Registriert seit:
    25.12.04
    Punkte:
    35
    35
    das nenne ich mal "Spaß"!
    ... hätte nie gedacht, dass Fruity so viel Freude als Live-Effekt-Tool macht - schnell und einfach. 2/3 Klicks, ein paar Einstellungen der Midi-Controller -> fertig!
    Für den Hausgebrauch brauch ich mir nicht mal nen KaossPad etc. zulegen ***freu***
    ..bin begeistert :D


    Drotzdem bin ich von dem Vorhaben ein eigenständiges kleines Effektprogramm zu schreiben nicht abgekommen - ich will wissen was hinter den Kulissen passiert, wie z.B. ein Echo, Delay, Reverb usw. aufgebaut ist.

    Gut, ich brauche Ahnung von C++ und komme hier mit meinem Visual-Basic-Kram nicht weiter.
    Zudem habe ich festgestellt, dass DirectX nicht den Line-In Sound der Soundkarte abgreifen kann und in Echtzeit ausgibt. Er muss vorab immer als Datei gespeichert werden (oder ich hab was übersehen?).
    Jetzt klammere ich mich an die ASIO-Technologie. Die Erläuterung dazu besagt, dass ein direkter Zugang zur Soundkarte besteht und verarbeitet werden kann.

    Hat jemand Erfahrungen mit der ASIO-Programmierung gemacht?
    Wie fange ich an?
    Ist ASIO die Lösung, oder geht das anders?
    Was mus bedacht werden?
    Oder bin ich auf dem Holzweg?

    Diese eigenstänigen Programme zur Live-Effekt-Berechnung gibt es ja nun auch - Beispielsweise fügt Creative das "EAX" bei (das gibt's schon seit Ende der 90er).

    Ich bin für jeden Link, jede noch so kleine Antwort und jeden Hinweis dankbar.
     
  8. NoMax

    NoMax

    Registriert seit:
    05.09.04
    Punkte:
    853
    853
    ... schau doch mal bei tobybear rein, da findet sich so einiges, auch weiterführende links. und wenn du nicht gleich alles programmieren willst, schau dir mal synthedit ( oder auch synthmaker ) an ...
     
  9. lurchy

    lurchy

    Registriert seit:
    18.10.05
    Punkte:
    538
    538
    Hi!

    Sammle doch erst einmal ein paar Erfahrungen mit Synthedit, Synthmaker oder ähnlichen. Die sind recht gut um sich überhaupt einmal in die ganze DSP-Geschichte einzuarbeiten, ohne jeden Regler selbst bauen zu müssen und seine eigenen Algorithmen testen zu können.
    Bei geschickter Anwendung, kann man sogar recht performante Plugins erstellen -> der Superwave P8 ist da ein recht passables Beispiel.
    Es gibt übrigens auch ein VST-SDK für Delphi - ist ein bisschen handlicher als die C++ Version und für jemanden, der von VB kommt evtl. angenehmer in der Anwendung.

    Ich hab übrigens hier angefangen: http://www.tobybear.de/dsp.htm

    EDIT: Da war wohl jemand schneller ...

    Grüße
    Lurchy
     
  10. lurchy

    lurchy

    Registriert seit:
    18.10.05
    Punkte:
    538
    538
    Ach ja - nicht vergessen: Ein Plugin muss vor allem sexy aussehen um gut zu klingen ;)

    Lurchy
     
  11. orpheus2006

    orpheus2006

    Registriert seit:
    26.05.05
    Punkte:
    815
    815
    Klar, das Auge isst mit!
    ... und was ich bisher nicht wusste, es hört auch noch mit! :D ;) :headbang:
     
  12. he

    he

    Registriert seit:
    04.04.05
    Punkte:
    134
    134
    Wozu zum Teufel sind die DirectX-Kenntnisse wichtig? Ich entwickle meine Plug-Ins ohne auch nur ansatzweise irgendetwas mit DX zutun zu haben.
     
Status des Themas:
Beachte, dass dieses Thema älter als ein Jahr ist! Möglicherweise ist es sinnvoller, einen neuen Thread zu erstellen.