MIDI-P the modular MIDI Processor

Nur ein kleines Update, MIDI-P Console läuft nun auch unter Windows95!
Ich konnte auf realer Hardware testen und bin begeistert :rolleyes:
 

Anhänge

  • Unbenannt.png
    Unbenannt.png
    7,4 KB · Aufrufe: 194
Heute habe ich das Modify Module soweit bekommen, daß ich ein wenig damit rumspielen kann.
Ich präsentiere mit Stolz die ersten Bilder von MIDI-P in aktion :great:

Die erste Version zum testen wird es geben, sobald das Condition Modul eingebaut ist.
Erst dann kann man das Programm halbwegs sinnvoll einsetzen.

 
Keine "echte" News, nur ein Update. MIDI-P läuft erfreulicherweise sogar unter Linux mit Wine. Optisch hat sich auch etwas getan, hinzugekommen ist ein Rechteck in der oben rechten Ecke der Module. Damit läßt sich das Modul direkt deaktivieren / aktivieren und man muß nicht erst in die Eigenschaften gehen, um es zu deaktivieren. So läßt sich schnell ein ganzer Zweig abschalten oder zuschalten.

Ebenfalls geändert wurde die Priorität der Linien. Wenn sich mehrere Linien in der Darstellung überschneiden, haben die Linien des aktuell ausgewählten Moduls vorrang vor allen anderen. Danach kommen die Linien von aktiven Modulen und zum Schluß die von inaktiven. Das klingt einfach und intuitiv, muß aber bei der Programmierung ersteinmal alles berücksichtigt werden.

Die Modifier sind soweit abgeschlossen, optisch sieht das ganze nun so aus (unter Wine):
attachment.php
 

Anhänge

  • Screenshot-2.png
    Screenshot-2.png
    59,9 KB · Aufrufe: 197
  • Untitled.png
    Untitled.png
    5,9 KB · Aufrufe: 652
Zuletzt bearbeitet:
Mal wieder ein Lebenszeichen :rolleyes: Ich arbeite von Zeit zu Zeit am Projekt und finde immer mal wieder einen Bug oder eine elegantere Lösung für diverse Probleme. Ich werde mich die kommenden Wochen (endlich!) intensiver mit MIDI-P beschäftigen und das Projekt hoffentlich soweit bekommen, daß es auch von euch getestet werden kann.

Im Anhang ist eine spannende Frage zu finden: Wie behält man bei einem komplexen Projekt / Konstrukt die Übersicht?

Zu sehen MIDI-P und ein Projekt auf das ich immer wieder mal schaue, Building Blocks von Aureality. Building Blocks ist in der Lage sogenannte Makros, also Module innerhalb eines Moduls, anzulegen. Diese Option finde ich gut um riesige Modulkonstrukte zu verhindern und wiederkehrende Aufgaben effektiv zu lösen. Allerdings kann man sich in einem mehrfach verschachtelten Moduldschungel auch verlieren.

Eine andere Grundsatzentscheidung wurde bei der Verbindung der Module getroffen. Building Blocks trennt die einzelnen Ebenen relativ weit auf, das resultiert in vielen Verbindungen und Farben. Für mich persönlich ist das (besonders bei größeren Systemen) nicht sehr übersichtlich. Insbesondere bei Modulen, die mehrere Parameter verarbeiten wie z.B. das Calc Modul auf dem Bild. MIDI-P trennt den Signalpfad nicht nach Note oder Velocity auf, es gibt nur eine einzige Verbindung zwischen Modulen die alles weiterreicht. Die Auftrennung erfolgt dann innerhalb der Module, siehe Screenshot zu meinem Modify Modul.

Man könnte fast sagen, daß Building Blocks eine parallele Verarbeitung modelliert während MIDI-P mit seriellem Multiplex arbeitet. Was ist nun intuitiver?

Besonders viele Gedanken mache ich mir im Moment um die Fehlersuche und debugging Funktionen. Besonders wenn die Systeme komplexer werden, ist es wichtig einen übersichtlichen Ansatz zu haben, mit dem sich Probleme aufspühren lassen. Im Moment schwirren mir 2 Ideen im Kopf herum, zum einen Protokollierung und zum anderen Nachverfolgung.

Jedes Modul könnte z.B. ein Protokoll über eingehende und ausgehende Daten führen. So ließe sich mit einem Klick nachschauen was wirklich angekommen ist und wie es verarbeitet wurde. Um den Überblick zu behalten kommt die Nachverfolgung ins Spiel. Stellt man sich die Midi Signale wie kleine Farbtöpfe vor, so könnte ein Midi Signal jedes Modul und jede Verbindung die es passiert einfärben. So würde man sehen, welchen Weg das Signal genommen hat und könnte in die Module schauen wie es verarbeitet wurde. Klingt das sinnvoll?

Ich bin gespannt, schauen wir was die nächsten Wochen so bringen :great:
 

Anhänge

  • mb_mp.png
    mb_mp.png
    31,2 KB · Aufrufe: 213
  • mb_bb.png
    mb_bb.png
    54,1 KB · Aufrufe: 191
Das Condition Module bereitet mir doch mehr Ärger als gedacht. Zum "Ausgleich" habe ich mir deswegen ein rudimentäres DMX Out Module implementiert. Im Moment funktioniert es nur mit dem ENTTEC DMX Pro Interface, es macht aber schon Spaß eine LED Bar passend zum Solo anzusteuern.

Oder eine MIDI Datei drüber abzuspielen... Wenn die Sache etwas ausgereifter wird, werde ich definitiv ein Video davon drehen und hier einstellen :D

Und getreu dem Motto "Schlimmer geht immer" noch ein Screenshot meines Testprojekts im Anhang. Sieht noch jemand durch? :p
 

Anhänge

  • Bild1.png
    Bild1.png
    28,2 KB · Aufrufe: 227
Ich habe das versprochene Video vergessen... jetzt wird es etwas OT in meinem eigenen Thread, aber damit es was zu sehen gibt.. :D

Man kann einen beliebigen Sequenzer benutzen, ich habe Cubase genommen. Mein Programm setzt dann die MIDI Spuren in DMX Kanäle um, in meinem Fall habe ich Mittel C (60) als Kanal 1 definiert, deswegen ist ein Note - 59 Modifier zu sehen. Die Note wird zum Kanal umgesetzt, die Anschlagstärke zum Wert. Klappt wie man sieht richtig gut!

Demo:


Spuren in Cubase:
attachment.php


MIDI-P (meine Software):
attachment.php
 
Es hat sich einiges getan, mittlerweile ist ein Emitter Modul dazugekommen, das aller X Millisekunden ein Midiereignis aussendet. Damit lassen sich schon kleine Sequenzen oder ein Arp bauen (im Bild zu sehen). Layout und Farbgebung wurden ebenfalls überarbeitet. Ich hoffe, daß die letzten paar Bugs bald ausgeräumt sind damit eine Testversion veröffentlicht werden kann. Bis dahin :gutenmorgen:

attachment.php
 

Anhänge

  • MIDIP.png
    MIDIP.png
    26,9 KB · Aufrufe: 575
Ich guck mir diesen Thread jetzt gerade zum ersten Mal wirklich an.
Schönes Projekt, sieht gut aus.
Aber erinnert mich stark an Max, was in Ableton integriert ist, oder hab ich da was falsch verstanden?

max.png
 
Zuletzt bearbeitet:
Es gibt bereits viele Lösungen für dieses Problem, die meisten sind jedoch kostenpflichtig. Ich sehe es nicht als Konkurrenz zu bestehenden Lösungen, diesen Anspruch kann ich als Freizeitprogrammierer auch gar nicht erfüllen, vielmehr als eine von vielen Alternativen :)
 
Alles klar, in dem Fall: weitermachen! :)
 
Heute möchte ich eine erste Testversion von MIDI-P zur Verfügung stellen. Es wird immer wieder kleine und größere Updates geben, im Moment geht es mir hauptsächlich darum zu schauen ob das Programm stabil funktioniert. Den Quellcode (Delphi) gibts ebenfalls, vorerst allerdings nur auf Anfrage. Es gibt sogar eine halbe Doku dazu, ich hoffe ich kann sie weiter ausbauen. Einige Demos sind ebenfalls mit dabei, einfach über die Toolbar öffnen.

Zu finden unter https://www.box.com/s/19533ee158f8fad97b54

Die Doku kann man in der box direkt betrachten.

Viel Spaß!

Und abschließend nochwas völlig anderes, was haltet ihr von diesem Konzept? Relativ ähnlich aber deutlich kompakter. Ich persönlich finde es elegant aber erinnert bereits sehr stark an richtige Programmierung, vieles ist nicht ersichtlich und muß gelernt werden.

 
Und wieder ein spannendes Projekt im Netz entdeckt http://patchwork-synth.com/

attachment.php


Besonders die Idee mit dem Step Sequenzer gefällt mir, allerdings nimmt so ein Modul auf der Arbeitsfläche ordendlich Platz ein. Ich habe es bisher so gehandhabt, daß man erst durch das Modul Parameter Fenster an die Werte kommt. Vielleicht könnte man Module erzeugen, die sich in mehreren Stufen darstellen lassen, quasi auf und zugeklappt. Dann hätte man direkt auf der Oberfläche Zugriff und kann sie bei Bedarf / Platzmangel auch kleiner machen.
 

Anhänge

  • patchwork.png
    patchwork.png
    36,2 KB · Aufrufe: 529
Das Projekt ist noch aktiv, im Moment arbeite ich mich in die VST Programmierung ein. MIDI-P wird es dann hoffentlich in 3 Varianten geben, standalone mit grafischer Oberfläche, standalone auf der Konsole z.B. für Skripte etc und als VST Plugin.

Im Moment habe ich lediglich ein paar Screenshots zu bieten, in den kommenden Wintertagen werde ich dann wieder mehr Zeit haben :rolleyes:

PS: Die Grafiken in Cubase sind im Moment "Platzhalter", DirectDraw will nicht mit VST zusammen. Ich werde die Grafikengine wohl erst noch umschreiben müssen...
 

Anhänge

  • midip_gui.png
    midip_gui.png
    25,2 KB · Aufrufe: 203
  • midip_console.png
    midip_console.png
    20,7 KB · Aufrufe: 219
  • midip_cubase.png
    midip_cubase.png
    31,4 KB · Aufrufe: 190
Zuletzt bearbeitet:
Angeregt durch iMidiPatchbay habe ich mich mal wieder drangesetzt und etwas am Condition Modul gebaut. Ob ich das Blau drin laß, kann ich noch nicht sagen, das Gold ist aber im Moment im Trend der Zeit und paßt ganz gut zum Rest :p Eine neue Testversion gibt es vorerst nicht. Das wird erst, wenn ich einen Step Sequenzer drin habe, dann macht das ganze auch richtig Spaß ;)

Die Entwicklung der grafischen und der Konsolenversion laufen parallel, diese wird es dann auch zum Testen geben. Die VST Version liegt vorerst auf Eis wegen besagter Grafik Engine. Prinzipiell ist es auch möglich, MIDI-P auf Linux und Mac OS zu portieren, allerdings fehlt mir noch eine platformübergreifende Midi Komponente für Lazarus. Wer da eine Idee hat, immer hat damit. :evil:
 

Anhänge

  • MIDI-P.png
    MIDI-P.png
    28,7 KB · Aufrufe: 223
Mal wieder ein kleines Update, ich arbeite an einem Prototypen für einen Sequenzer und damit gibt es eine ganze Reihe neuer Probleme. Zum einen ist das Timing relativ ungenau und zum anderen muß ich mir noch überlegen, wie man soetwas sinnvoll umsetzen kann. Ich habe mal ein ganz kleines Testvideo erstellt, damit man einen Eindruck vom aktuellen Stand bekommt. (Man verzeihe mir den hochwertigen Windows GS Synth...)



Als kleine Anregung für einen möglichen Sequenzer / Editor gefällt mir das Konzept der Pianoroll ansich gut. Eventuell könnte man etwas in dieser Richtung umsetzen http://www.youtube.com/watch?v=1r-yMTLVW1U

So komfortabel wie eine DAW wird es sicher nicht werden, soll es aber auch nicht. Mal schauen, was das Timing macht, ich hab da so einige Ideen um es in den Griff zu bekommen.
 
Wieder ein kleines Video, diesmal eher in Richtung Tutorial, um einen Eindruck der Bedienung und Denk- / Funktionsweise von MIDI-P zu bekommen. Ganz ungewohnt sogar in HighDefinition und mit SoundSchool Analog, als kleine Wiedergutmachung für das vorherige Video. Ich baue eine kleine Sequenz immer weiter aus und demonstriere ein paar Sachen, die man mit den Modulen anstellen kann.
(Wer die kleinen blauen Hinweise lesen möchte, sollte in 720p und Fullscreen schauen.)

In den aktuellen Modulen sind noch ein paar kleine Bugs, denen ich auf der Spur bin.
Sobald alles stabil läuft, wird es dann auch eine neue Version zum Testen geben!



Wer Vorschläge zur Bedienung / Oberfläche oder ganz allgemein Ideen für zusätzliche Module hat - immer her damit :great:
 
Es gibt eine neue Beta Version zum Testen. Neu sind vor allem flexiblere Optionen der Module und mehr Stabilität. Zu finden ist sie hier https://app.box.com/s/vhohwl8y9hemxlbmb3fz

Die Sequenzer und Emitter Module sind noch nicht enthalten, da ich im Moment den Code für das Timing umschreibe.

Änderungen:
  • Latenzanzeige (in ms) zu Midi Monitor hinzugefügt
  • Condition Modul kann mehrere Abfragen mit und / oder verknüpfen
  • Modifier / Condition Modul können beliebig lange Operationen ausführen
  • Verbindungslinien werden übersichtlicher angeordnet
  • Monitor Modul kann in den Signalweg geschalten werden (besitzt nun Ausgänge)
  • Systemweite Limits für Ausführungszeit und Anzahl der Midi Ereignisse eingeführt
  • Layout von Console und Parameter Edit geändert
 

Anhänge

  • midi-p.png
    midi-p.png
    18,8 KB · Aufrufe: 192
Ich möchte an dieser Stelle bekanntgeben, daß ich die die Arbeit an MIDI-P eingestellt habe. Das Projekt wird aus Zeitmangel aufgegeben, eventuell fließen die Erkenntnisse eines Tages in ein anderes Programm. Die bisherigen Versionen lasse ich so weit es geht noch online, falls es dem einen oder anderen hilft.
 
Schade, wenn so ein Projekt aus Zeitmangel aufgegeben werden muss. Aber ich weiß selbst, wie viel Arbeit sowas ist... Bei mir wird es bald wieder einige MIDI-Updates gegen, vielleicht kannst du dann ja nochmal deine gesammelte Erfahrung als Feedback einfließen lassen :)

Viele Grüße,
Johannes
 
Wieder ein Projekt den Bach runter, das eh keiner braucht.
NEIIIN, SCHERZ!

Ich habe in den letzten Jahren immer mal wieder hier rein geschaut und die Fortschritte des Projektes bewundert und begrüßt. Ich finde, dass es für einen Freizeitprogrammierer eine nicht zu unterschätzende Zeitinvestition ist. Wirklich schade, dass Du keine Zeit mehr dafür hast. Statt den Code vielleicht irgendwann in ein größeres Projekt zu integrieren, würde ich mir wünschen, dass MIDI-P erweitert und evtl. ein größeres Projekt um MIDI-P herum entwickelt wird - wie z.B. ein VST-Host, Softwaresynths usw. Wenn man die Mitglieder des Boards auffordert eigene Ideen einzubringen, fänden sich sicherlich noch mehr und evtl. sogar weitere Programmierer, die sich daran beteiligen wollen. *hoff*hoff*

Gruß
Raven
 

Unser weiteres Online-Angebot:
Bassic.de · Deejayforum.de · Sequencer.de · Clavio.de · Guitarworld.de · Recording.de

Musiker-Board Logo
Zurück
Oben