RustyPipes Open Source VPO Software

  • Seite 4 von 10
15.01.2026 17:00
#46
So

Beeindruckend, welch große Sprünge du in so kurzer Zeit gemacht hast.

Nur warum Sysex und nicht Note für den Orgelwechsel? Sysex ist aus meiner Sicht etwas spezieller, Note kann quasi jeder Spieltisch leisten (und wenn es nur „unbenutzte“ Tasten auf dem 3. Manual ganz oben sind o.ä.).


 Antworten

 Beitrag melden
15.01.2026 23:14 (zuletzt bearbeitet: 15.01.2026 23:15)
avatar  Montre
#47
avatar

Sehr schön. Da ist aber noch ein Bug drin. Beim ersten mal klappt das Laden, beim zweiten mal stürzt RustyPipes ab oder lädt das bereits geladene Set nochmal. Einmal hatte ich den Fall, dass der angelernte Code für das 2. Set auf einmal den gleichen Code hatte, wie das 1. Set.

Hier habe ich mal den Hauptwerk-Hereford-Favorit (08) für die Niederzwehren verwendet.
Bild entfernt (keine Rechte)


 Antworten

 Beitrag melden
16.01.2026 01:35
#48
avatar

Ich fände es auch sinnvoll wenn man beim Wechsel der Orgel neben diesem SysEx auch ein midi learn machen kann. Grundsätzlich ist es eine gute Idee dem Nutzer immer die Wahl zu lassen. Technisch sollte das beides ja ohne viel Aufwand parallel laufen.


 Antworten

 Beitrag melden
17.01.2026 16:29 (zuletzt bearbeitet: 17.01.2026 20:06)
#49
avatar

Gute Idee!

Ich habe mal v1.6.1 released: [Download]

* Register schalten via NoteOn/NoteOff und SYSEX.
* Orgeln wechseln via NoteOn/NoteOff und SYSEX.
* REST API zum Orgel wechseln
* Eine Race Condition die zum Beenden des Programms führen konnte wurde behoben

Es gibt noch einen kleinen Bug, wenn man das Event zum umschalten anlernt lädt er sofort die neue Orgel. Wird in 1.6.2 gefixt.

@Montre Kannst du bitte testen ob das mit den identischen Sysex-Codes noch immer passiert?


 Antworten

 Beitrag melden
17.01.2026 21:43
avatar  Montre
#50
avatar

Zitat von Dividebysandwich im Beitrag #49
Es gibt noch einen kleinen Bug, wenn man das Event zum umschalten anlernt lädt er sofort die neue Orgel. Wird in 1.6.2 gefixt.

Das habe ich auch bemerkt ;-)
Kein Absturz mehr aufgetreten.
Aber er lädt das richtige Set erst beim zweiten mal. Ist z.B. die Giubiasco geladen und ich wähle die Niederzwehren, dann lädt er die Giubiasco. Dann lade ich die Niederzwehren nochmal, dann geht es. Das ist reproduzierbar. Lade ich anschließend die Guibiasco, lädt er die Niederzwehren. Dann nochmal die Guibiasco, dann gehts.


 Antworten

 Beitrag melden
20.01.2026 14:48
#51
avatar

RustyPipes v1.6.2 ist da! [Download]

* Tremulant steuerbar via MIDI events.
* Presets aktivierbar via MIDI events.
* Fix der verhindert dass die gleiche Orgel 2 mal geladen wird.
* Während des Lernens von MIDI-Events wird keine neue Orgel mehr geladen.


 Antworten

 Beitrag melden
20.01.2026 22:59
#52
avatar

Zitat von Dividebysandwich im Beitrag #45
x) .orgue Dateien werden jetzt direkt geladen (Achtung: WAVPACK wird nicht mehr unterstützt)

Was hat es eigentlich mit diesem Wavpack auf sich? Ist das eine Komprimierung?


 Antworten

 Beitrag melden
20.01.2026 23:17
avatar  Montre
#53
avatar

Zitat von Untersatz32 im Beitrag #52
Was hat es eigentlich mit diesem Wavpack auf sich? Ist das eine Komprimierung?

Steht beim Googeln im Suchergebnis an erster Stelle, an zweiter in Deutsch.

@Dividebysandwich:
Das Laden per SysEx funktioniert nur jeweils beim zweiten Mal. Ich muss also zweimal die Sequenz senden.


 Antworten

 Beitrag melden
20.01.2026 23:32 (zuletzt bearbeitet: 20.01.2026 23:34)
#54
avatar

Zitat von Untersatz32 im Beitrag #52

Was hat es eigentlich mit diesem Wavpack auf sich? Ist das eine Komprimierung?


Ja. Ich habe sogar versucht einfach das offizielle Dekomprimierprogramm zu verwenden - die Files hatten nachher Audio-Artefakte.

Zitat von Montre im Beitrag #53
s an erster Stelle, an zweiter in Deutsch.

@Dividebysandwich:
Das Laden per SysEx funktioniert nur jeweils beim zweiten Mal. Ich muss also zweimal die Sequenz senden.


Ich glaube da hat es was mit deinen Settings. Loesch mal bitte die Datei organ_library.toml im config-Verzeichnis und lerne die Trigger neu an. Wenn das dann immer noch nicht geht, bitte den Inhalt der Datei posten.

EDIT: Vielleicht auch mal MIDI Note Events statt SYSEX probieren, einfach um zu schauen ob sich das anders verhält.


 Antworten

 Beitrag melden
21.01.2026 22:03 (zuletzt bearbeitet: 21.01.2026 22:05)
#55
avatar

Ich hatte heute beim experimentieren so einen Gedanken: Es wäre schön wenn es eine Art Testmodus geben würde der einen Benchmark oder ähnliches mit dem System und einer geladenen Orgel durchführt. Also im Prinzip das ich beim Setup oder so einen Test auslöse, indem RustyPipes mein Set mit meiner Hardware testet um dann anhand der Lesegeschwindigkeit und dem verfügbaren Ram sinnvolle Ratschläge gibt für die Parameter wie Preload.

Oder alternativ ein Modus der das spielen überwacht und wenn dabei Engpässe auftreten ich einen Vorschlag bekomme was ich verändern sollte.


 Antworten

 Beitrag melden
22.01.2026 10:05
#56
avatar

Hmm... Preload zu bestimmen ist gar nicht mal so einfach. Am besten ist es, der Nutzer definiert wie viel RAM entbehrlich ist.

Polyphonie: Da könnte man Vorschläge geben, aber unter 100 klingt grausam, alles über 500 ist Luxus und du wirst im A/B-Test kaum Unterschiede zwischen 500 und 800 hören.

24vs16-Bit: Sehr schwer herauszuhören, aber die meisten werden einfach bei 24-bit bleiben. Ich wüsste auch nicht wann ich dem User vorschlagen sollte dass er doch lieber 16-bit nehmen soll.

Ich habe aber auch bewusst nicht alle Parameter vom Nutzer einstellbar gemacht:

Attack/release transition time: Ist derzeit irgendwas mit 100ms, würde aber kaum helfen.

Chord staggering: Das ist ein erzwungener Delay der verhindert dass zu viele Noten exakt gleichzeitig einsetzen. Das ist deswegen kein User-setting weil es verlockend ist den Wert auf 0 zu setzen, und das erzeugt unnötig Stress. Wenn dann Buffer Underruns passieren ist es schwierig zu erkennen ob das daran liegt oder ob einfach generell zu wenig Rechenleistung für die angeforderte Polyphonie da ist.

Summa summarum: Es ist schwierig hier irgendwelche Vorschläge zu machen da alles stark vom Sampleset und dem gespielten Stück abhängt. Es macht einen riesen Unterschied ob man eine schlanke Bach-Fuge spielt oder einen Betonrüttler von Vierne.


 Antworten

 Beitrag melden
22.01.2026 19:37 (zuletzt bearbeitet: 22.01.2026 21:53)
avatar  Montre
#57
avatar

Zitat von Dividebysandwich im Beitrag #54
Ich glaube da hat es was mit deinen Settings
....
EDIT: Vielleicht auch mal MIDI Note Events statt SYSEX probieren, einfach um zu schauen ob sich das anders verhält.

Nein, das liegt nicht an den Settings. Ich mache ein cargo build und habe immer ein neues Verzeichnis.
Der Bug liegt in der verwendeten MIDI-Bibliothek. Scheinbar puffert die immer ein SysEx-Event und schickt immer das vorherige Event.
Mit NoteOn und SysEx (mit MIDI-OX) funktioniert das mit Rusty Pipes tadellos.


 Antworten

 Beitrag melden
23.01.2026 17:55
avatar  Montre
#58
avatar

Die MIDI-Lib hat sich geändert und hat das 0xF7 am Ende nicht (mehr) gesendet. Jetzt hänge ich das Abschluss-Byte an meinen Buffer und schon funktionierts.


 Antworten

 Beitrag melden
24.01.2026 11:50
#59
avatar

Zitat von Montre im Beitrag #58
Die MIDI-Lib hat sich geändert und hat das 0xF7 am Ende nicht (mehr) gesendet. Jetzt hänge ich das Abschluss-Byte an meinen Buffer und schon funktionierts.


Hmm ich hab Midir 0.10.3, gibts da was neueres?


 Antworten

 Beitrag melden
24.01.2026 12:30
avatar  Montre
#60
avatar

Nee, hat nichts mit deinem Programm zu tun, sondern die von mir genutzte MIDI-Lib in meinem MIDI-Panel.


 Antworten

 Beitrag melden
Bereits Mitglied?
Jetzt anmelden!
Mitglied werden?
Jetzt registrieren!