Softwareersatz für Midipatchbay

  • Ersteller Schulti
  • Erstellt am
Das eigentliche Absenden von MIDI-Befehlen und eine kleine GUI, um den Song auszuwählen und zu aktivieren ist wirklich nicht so umständlich zu programmieren. Komplizierter wird es dann, wenn man eine komfortable GUI für das Erstellen von Setups haben will. Deswegen habe ich nach dem Einsatzszenario gefragt, also einfach eine kleine erzählerische Darstellung, wie du dir die Benutzung vorstellst.

Chris
 
Aus zwei Gründen.
1.) Ich habe Ableton Live 7. Das kann leider kein sysex. Einen anderen Sequenzer brauche ich aber auch nicht und vor allem, will ich mir jetzt nicht einen anderen für teueres kaufen, bloß um damit Programmwechselbefehle an meine Instrumnete zu schicken und alle anderen Funktionen benutze ich nicht...
2.) Ich habe nicht den schnellest Rechner auf der Bühne, deswegen gilt die Devise, je weniger Leistung das Programm braucht, desto besser.

Gruß
Christoph

---------- Post hinzugefügt um 15:43:59 ---------- Letzter Beitrag war um 15:29:29 ----------

Hey Strogon,

also dann berichte ich mal, wie ich mir das so vorstelle:

Ich nehme mir einmal viel Zeit um alle Songs, die wir spielen im Programm einzustellen und jeweils als eigene Datei auf dem Rechner zu speichern. ODER das Programm enthält in sich eine Art Playlist mit den verschiedene Presets für jedes Stück.
Wie komfortalbel das eingeben der Befehle im Vorfeld ist, sit mir gar nicht so wichtig, denn das ist ja eine Arbeit, die ich nur einmal zu tun habe, da nehme ich es gerne in Kauf, dass es länger dauert. Wichtig ist mir dabei nur, dass ich dafür nicht irgendeine Programmiersprache lernen muss, bin mit dem ganzen Midikram schon genug beschäftigt ;)

Im Livebetrieb passiert also folgendes. In der Probe, als auch auf der Bühne, wähle ich die entsprechende Datei für den nächsten Song aus dem Window-Ordner und führe sie aus. ODER ich wähle in der Playlist des Programms den nächsten Song und lade die Einstellung (bzw die entsprechenden Befehle werden an meine Instrumente übertragen).

Dann spielen wir den Song, dabei muss nichts umgeschaltet werden.

Ist der Song vorbei wiederhole ich das für den nächsten usw.....
 
ich verwende hierfür wie schon gesagt, brainspawn forte + ehco; zusätzlicher vorteil hierbei ist, das die einzelnen scenes, welche die program changes bzw. systex rausschicken per MIDI (z.b. vom keyboard o. fusstaster) angewählt werden können und der laptop somit geschlossen im rack bleiben kann und während des livebetriebs nicht bedienst werden muss. das Programm kostet zwar ein paar euro, ist es aber meiner meinung nach eindeutig wert..
 
Ich habe Brainspawn Forte auch hierfür verwendet, und es eignet sich hervorragend. Wenn du sowieso einen Rechner auf der Bühne hast, dann ist es eine gute Wahl. Da ich den Rechner auf der Bühne loswerden will, bin ich auf der Suche nach etwas anderem (siehe auch Thread in Midi). Habe dir, Schulti, ne PM geschickt, haste die nicht bekommen?

Viele Grüße,
Johannes
 
warum versuchst Du mir zu erzählen, dass ich mich nicht richtig informiert und das flasche Gerät gekauft hätte ?

Es war für mich deutlich zu lesen, daß eben nicht alles geht, somit ist das eine halbgare Lösung. Wer sich als PC-User ein reines Mac-Interface kauft, hat sich in meinem Augen einfach nicht richtig informiert.

Ich habe sowieso einen PC auf der Bühne - er zeigt mir meine Leadsheets an. Aus diesem Grund habe ich mich für die Timepiece II entschieden, da ich diese für 34 EUR gekauft habe. Das steht preislich in keinem Verhältnis zu einer PMM-88 oder einer vergleichbaren Patchbay.
Ich nutze die völlig beliebigen Midi-Routingmöglichkeiten des Timepiece II und möchte einfach nur mit meinem Rechner (über eine Midiverbindung) Programmwechsel senden und dazu das entsprechende Leadsheet aufrufen. Das ist ja wohl nicht inkonsequent?!

In meinen Augen ist das Inkonsequent, vor allem weil Du an der falschen Stelle knauserst. Eine PMM-88 gibts für 80.- und sie ist jeden Cent Wert, aber wenn Dir das schon zuviel ist ... denk immer dran, daß Dir der Rechner auch mal abschmieren kann, dann stehst ziemlich dumm da, eine PMM-88 ist da wesentlich unempfindlicher.
 
... denk immer dran, daß Dir der Rechner auch mal abschmieren kann, dann stehst ziemlich dumm da, eine PMM-88 ist da wesentlich unempfindlicher.

Ist zwar OT, aber ich finde es immer wieder erstaunlich, dass Leute eine Riesenangst vor Abstürzen des Rechners haben und statt dessen lieber auf 20 Jahre alte Hardware setzen. Einem Bekannten von mir ist beim Soundcheck das MP88 gestorben. DAS war extrem unlustig, es musste dann nämlich innerhalb von zwei Stunden eine komplett andere Band eingeflogen werden, weil das Setup in der Kürze der Zeit nicht zu fixen war. Nur so am Rande...
 
  • Gefällt mir
Reaktionen: 2 Benutzer
Das ist ein wichtiger Punkt, heutige Rechner sind nicht umsonst Universalrechner. Sie können mit Software flexibel für Probleme konfiguriert werden und sind nicht an Spezialaufgaben wie z.B. das MP88 gebunden. Eine rechnerbasierte Lösung hat den Vorteil unabhängig zu sein. Entwickelt man eine Midi Software zum Beispiel unter Linux, kann man im schlimmsten Fall irgendeinen Rechner schnappen, per live CD booten und das Programm + Daten vom USB Stick aufspielen.

Und hat damit sofort ein einsatzfähiges System. Ein Laptop / Rechner sollte sich sehr schnell auftreiben lassen. Falls du ernsthaft an einem Programm arbeiten möchtest strogon14, verfolge ich es mit großem Interesse und drücke die Daumen! :great:
 
Ja gell :)
Aber ich hab mit 20 Jahre alter Hardware bisher immer sehr gute Erfahrungen gemacht. Ich benutze z.B. einen ESI 4000 Hardware Sampler - das geht einwandfrei.
Man darf nur niemals vollständig von irgendwas abhängig sein. Sollte der Sampler mal den Geist aufgeben, aber habe ich einen zweiten als Ersatz. Sollte der PC mal abschmieren kann ich meine Keyboards trotzdem noch manuell umschalten....

@ strogon:
Darf ich dich fragen, ob dein Angebot noch steht?

Grüße
Christoph
 
Ist zwar OT, aber ich finde es immer wieder erstaunlich, dass Leute eine Riesenangst vor Abstürzen des Rechners haben und statt dessen lieber auf 20 Jahre alte Hardware setzen. Einem Bekannten von mir ist beim Soundcheck das MP88 gestorben. DAS war extrem unlustig, es musste dann nämlich innerhalb von zwei Stunden eine komplett andere Band eingeflogen werden, weil das Setup in der Kürze der Zeit nicht zu fixen war. Nur so am Rande...

Dieser Einzelfall soll jetzt den Gegenbeweis antreten? Netter Versuch. Das PMM-88 hat seine Bewährungsprobe schon zigmal durch, ebenso wie andere MIDI-Patchbays. Wenn sowas stirbt, dann liegts an trockenen Kondensatoren im Netzteil, und das kann man recht schnell fixen, wenn man einen guten Techniker an der Hand hat. Ist trotzdem unlustig, aber ein solches Gerät sollte man, wenn man es regelmäßig einsetzt, auch mal warten lassen. Ich tausche grundsätzlich beim Gebrauchtkauf von solcher Hardware die Kondensatoren im Netzteil, dann hab ich lange Ruhe.
Das mit der Angst vor den Abstürzen ist nicht übertrieben, sondern schlichte Tatsache. Lies im Netz und frag rum, Du wirst mehr Berichte über abgeschmierte Rechner finden als über kaputte Hardware.
 
Ich wollte auch ganz sicher keinen Flamewar für oder gegen rechnerbasierte Lösungen starten. Ich bin nur kein Freund von Pauschalisierungen in der Art dass Hardwarelösungen grundsätzlich stabiler und zuverlässiger sind. Wer ein Computer-basiertes System mit Verstand aufsetzt und pflegt kann meiner Erfahrung nach damit absolut sicher und zuverlässig arbeiten.

Wie immer gilt auch hier: Je komplexer das System, desto fehleranfälliger wird das Ganze und desto schwieriger wird es auch im Ernstfall, das Problem einzukreisen. Das gilt für aufwändige Softwarelösungen mit vielen beteiligten Komponenten, aber auch für Racks mit 10 verschiedenen Expandern, Midi-Patchbay, Mischpult, Effektgeräten usw.

Und mehr werde ich dazu nicht mehr beitragen. Wer sich mit Hardware sicherer fühlt, sollte dabei bleiben.
 
@ strogon:
Darf ich dich fragen, ob dein Angebot noch steht?

Ich hatte eigentlich vor, mich dieser Tage mal mit dieser Aufgabe zu beschäftigen und ein wenig Prototyping zu betreiben. Dabei wollte ich die Chance nutzen, mich ein wenig in die Programmierung grafischer Oberflächen mit Python und pyglet einzuarbeiten, weil man damit plattform-übergreifende Fullscreen Userinterfaces machen kann.

Da aber momentan das Wetter so schön ist, bin ich tagsüber meist lieber draußen anstatt vorm Computer zu hocken. Wenn's was zu berichten gibt, melde ich mich.

Chris
 
Kein Problem!
Ich bin dann schon mal sehr auf regnerische Tage gespannt ;)

Viele Grüße
Christoph
 
Zuletzt bearbeitet:
Hallo,
ich wollte mal wissen, ob du schon ein zeigbares Ergebnis hast oder hat sich das Thema für dich erledigt?
Gruß
Christoph
 
Das Wetter ist entsprechend optimal, kalt nass und dunkel. Ich bin auch sehr gespannt auf dieses Projekt hier! :D
 
Kurze Antwort: nein, ich habe noch nix Fertiges vorzuzeigen, bin aber noch (wieder) dran und habe hoffentlich bald (Anfang Januar) eine erste Testversion.

Hier mal ein Teaser-Screenshot des ersten GUI-Entwurfs im Fullscreenmodus:

midipanel_fullscreen.png

Lange Antwort:

Aaalso, wie immer, bei solchen Hobbyprojekten, ist, nachdem ich einige Zeit über die Idee nachgedacht habe, die Liste der geplanten Features erstmal explodiert. ;) Dann habe ich lange damit verbracht, zu schauen, ob sich das User Interface mit pyglet umsetzten lässt, bin aber irgendwann zu der Ansicht gekommen, dass ich damit zu viel Grundlagenarbeit leisten müsste und mich erstmal in OpenGL einarbeiten und praktisch ein ganzes GUI Toolkit von Grund auf programmieren müsste. Also blieb die Sache erst mal liegen.

Seit ein paar Tagen, wie's der Zufall will, habe ich die Sache wieder in Angriff genommen und setzte jetzt (nach ein paar Experimenten mit pyGTK) auf wxPython als GUI-Toolkit und pyportmedia als MIDI-Framework. Letzteres ist jetzt Teil von PyGame, kann aber unabhängig davon verwendet werden. Mit diesem Stack sollte es möglich sein, die Software plattform-übergreifend für Windows, OS X und Linux zu programmieren.

Wie man oben sieht, habe ich jetzt die grundlegende Struktur des GUIs fertig. Das Programm ist darauf ausgelegt, im Fullscreen-Modus betrieben und am besten per Touchscreen bedient zu werden. Natürlich wird es noch kleinere Änderungen im Layout und bei Farben, Schriftgrößen etc. geben. Wie man vielleicht sieht, habe ich mich beim GUI von Screenshots vom Korg Kronos inspirieren lassen.

Der MIDI-Stack ist auch fertig, das heißt, es gibt Funktionen, MIDI-Daten asynchron in separaten Threads zu senden und empfangen. Daten lassen sich dabei auch verzögert senden, ohne dass das Hauptprogramm sich darum kümmern muss, das Scheduling läuft dann MIDI-I/O-Thread. Im Prinzip könnte man damit also sogar einen MIDI-Player oder einen einfachen Sequenzer implementieren, aber dazu ist das Timing nicht genau genug, da gibt es noch Jitter im Bereich von 1 bis max. 10 ms.

Jetzt muss ich also nur noch die beiden Bereiche verbinden, dass heißt für die GUI-Controls Handler implementieren, die die MIDI-Daten an den MIDI-I/O-Thread übergeben, und Funktionen um die Konfiguration der GUI-Handler zu laden. Zum Schluss kommen dann natürlich noch GUI-Funktionen, um das Ganze bedienfreundlich und live-tauglich zu machen.

Als erstes werde ich wohl alle möglichen Arten von Buttons implementieren, also Trigger, On/Off-Buttons, Increment/Decrement, Momentary usw. Später sollen dann noch andere GUI-Controls wie Slider, Knobs, X/Y-Pads usw. dazu kommen. Diese Controls können dann vorkonfigurierte MIDI-Messages senden, und zwar jeweils einzelne Events oder auch Listen von Events, bei denen einzelne Events verzögert gesendet werden können. So kann man dann z.B. per Knopfdruck bei mehreren Geräten verschiedenen Programme einstellen und/oder z.B. vorher eine Sysex-Nachricht zur Modus-Umschaltung und dann verzögert Bank Select und Program Change senden. Im Prinzip also so etwas wie TouchOSC auf iOS/Android aber halt für Desktop-Betriebssysteme und für MIDI (und ohne multi-touch). Das Programm soll kein MIDI-Prozessor, -router, -filter o.ä. werden aber es soll zumindest irgendwann MIDI-Empfang für visuelles Feedback, Synchronisation und Steuerung geben.

Das ganze wird, wie oben erwähnt, wohl erstmal per Textdatei konfiguriert, ganz zum Schluss denke ich dann evtl. noch über einen GUI-Konfigurator nach.

Die Konfigurationdatei könnte z.B. folgendermaßen aussehen. Das GUI-Layout legt für jedes Control einen Namen fest und in der Konfigurationsdatei kann ich darüber den Controls dann Beschriftung, Farbe, etc. und Funktion zuweisen.

Code:
[button_1]
enabled = yes
type = pushbutton
label = Panic!
   Send AllSoundOff + Ctl Reset
   on all channels
label_align = top left
image = exclamation.png
image_align = bottom right
on_up = [ AllSoundOff(channel=-1), ResetAllControllers(channel=-1) ]

[button_2]
...

So viel erstmal, nach Weihnachten dann hoffentlich mehr...


Chris
 
  • Gefällt mir
Reaktionen: 2 Benutzer
Das sieht sehr sehr gut aus! Ich bin schon wieder selbst motiviert! Wenn wir so weitermachen, motivieren wir uns ständig gegenseitig und jeder bringt sein Projekt ans Ziel :D *hust*
 
Hey Chris,
das hört sich fantastisch an!
Ich freue mich sehr, dass du das Projekt mit dem Engagement weiterverfolgst!
Viele Grüße und schöne Feiertage!
Christoph
 
Hallo strogon,
darf ich fragen, wie der aktuelle Stand ist?
Wenn du einen Betatester brauchst, mach ich das sehr gerne.
Ich freue mich über eine Antwort
Gruß
Christoph
 

Ähnliche Themen


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

Musiker-Board Logo
Zurück
Oben