RustyPipes Open Source VPO Software

  • Seite 6 von 10
26.01.2026 22:57
#76
avatar

Zitat von Montre im Beitrag #75
Ich habe gerade mal mein Midi-Keyboard angeschlossen. Es hat wahnsinnig hohe Latenzen - unspielbar.


Darf ich fragen welches OS, Soundkarte, Soundsystem wenn Linux (Alsa, pipewire, jack, etc)?


 Antworten

 Beitrag melden
26.01.2026 22:58 (zuletzt bearbeitet: 26.01.2026 22:59)
avatar  Montre
#77
avatar

Win11, interne Soundkarte (Onboard)


 Antworten

 Beitrag melden
26.01.2026 23:02
avatar  Montre
#78
avatar

Zitat von Dividebysandwich im Beitrag #74
4. Beim gewünschten Register auf den "1" Button drücken.

Das funktioniert doch auch ohne Mapping (?)


 Antworten

 Beitrag melden
26.01.2026 23:05 (zuletzt bearbeitet: 27.01.2026 00:43)
#79
avatar

Zitat von Montre im Beitrag #77
Win11, interne Soundkarte (Onboard)


Ich glaube das Problem ist, dass ich noch kein Windows-Binary mit ASIO-Support baue. Aber das kann ich mir als nächstes anschauen.
EDIT: ASIO hilft nur bei entsprechenden soundkarten - aber ich glaube ich kann beim WASAPI auch noch einiges optimieren.

Zitat von Montre im Beitrag #78
Das funktioniert doch auch ohne Mapping


Es gibt immer ein mapping. Default ist halt "simple" und er mappt alles auf Kanal 1. Das ist das sicherste wenn jemand nur ein Manual hat und ein bisschen spielen will. Wer mehrere Manuale hat, der muss da ein bisschen was einstellen, je nachdem ob es einzelne MIDI Devices sind, oder nur ein MIDI Device auf dem die Manuale auf separaten MIDI-Channels daherkommen.

@Montre: Kannst du evtl. bitte folgenden Build versuchen, ob die Latenz besser ist?

MSI: https://github.com/dividebysandwich/rust...acts/5264867151
ZIP: https://github.com/dividebysandwich/rust...acts/5264864469


 Antworten

 Beitrag melden
27.01.2026 07:38
#80
So

Zitat von Dividebysandwich im Beitrag #74

1. Auf der Config-Seite die MIDI Device(s) anwählen (Hakerl)
2. "Map" button rechts daneben drücken, und entweder das ganze Device auf einen virtuellen MIDI Channel mappen, oder die einzelnen echten MIDI Channels auf individuelle virtuelle MIDI Channels mappen. Wenn unsicher, einfach Simple Mode und auf Channel 1 mappen, ist auch der Default.
3. Start drücken
4. Beim gewünschten Register auf den "1" Button drücken.
5. Jetzt sollte es klingen :)


Die Reihenfolge war ich sogar intuitiv schon durchgegangen. Vlt. wurde meine externe Soundkarte nicht erkannt oder es war was mit dem ASIO-Treiber, was hier auch noch weiter diskutiert wurde.

Die neue Version jetzt startet bei mir nicht mehr, also nach dem Konfigurationsbildschirm. Es kommt eine Anfrage zum Zugriff auf lokales Netz (hab ich abgelehnt, nutze keine API), danach war Schluss. Das war in der Vorgängerversion noch anders. Auch sehe ich verschiedene Fehlermeldungen.

Bild entfernt (keine Rechte)

Zitat von Dividebysandwich im Beitrag #74

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 

21:47:51 [DEBUG] (1) rusty_pipes::app_state: Updating LCD display ID 1
21:47:51 [INFO] LCD 1: Friesach | Ready CPU:0%
21:47:51 [DEBUG] (1) rusty_pipes::midi: Sending Sysex message: [240, 125, 1, 1, 0, 1, 70, 114, 105, 101, 115, 97, 99, 104, 32, 32, 32, 32, 32, 32, 32, 32, 82, 101, 97, 100, 121, 32, 67, 80, 85, 58, 48, 37, 32, 32, 32, 32, 247]
21:47:51 [DEBUG] (1) rusty_pipes::app_state: Updating LCD display ID 2
21:47:51 [INFO] LCD 2: F2: Medium | None
21:47:51 [DEBUG] (1) rusty_pipes::midi: Sending Sysex message: [240, 125, 1, 2, 0, 1, 70, 50, 58, 32, 77, 101, 100, 105, 117, 109, 32, 32, 32, 32, 32, 32, 78, 111, 110, 101, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 247]
21:47:51 [DEBUG] (1) rusty_pipes::app_state: Updating LCD display ID 3
21:47:51 [INFO] LCD 3: Stopped | Recalled preset F2
21:47:51 [DEBUG] (1) rusty_pipes::midi: Sending Sysex message: [240, 125, 1, 3, 0, 1, 83, 116, 111, 112, 112, 101, 100, 32, 32, 32, 32, 32, 32, 32, 32, 32, 82, 101, 99, 97, 108, 108, 101, 100, 32, 112, 114, 101, 115, 101, 116, 32, 247]
21:47:51 [INFO] Refreshing LCDs. Out connections: 1, Configured Displays: 3
21:47:51 [DEBUG] (1) rusty_pipes::app_state: Updating LCD display ID 1
21:47:51 [INFO] LCD 1: Friesach | Ready CPU:0%
21:47:51 [DEBUG] (1) rusty_pipes::midi: Sending Sysex message: [240, 125, 1, 1, 0, 1, 70, 114, 105, 101, 115, 97, 99, 104, 32, 32, 32, 32, 32, 32, 32, 32, 82, 101, 97, 100, 121, 32, 67, 80, 85, 58, 48, 37, 32, 32, 32, 32, 247]
21:47:51 [DEBUG] (1) rusty_pipes::app_state: Updating LCD display ID 2
21:47:51 [INFO] LCD 2: F2: Medium | None
21:47:51 [DEBUG] (1) rusty_pipes::midi: Sending Sysex message: [240, 125, 1, 2, 0, 1, 70, 50, 58, 32, 77, 101, 100, 105, 117, 109, 32, 32, 32, 32, 32, 32, 78, 111, 110, 101, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 247]
21:47:51 [DEBUG] (1) rusty_pipes::app_state: Updating LCD display ID 3
21:47:51 [INFO] LCD 3: Stopped | Recalled preset F2
21:47:51 [DEBUG] (1) rusty_pipes::midi: Sending Sysex message: [240, 125, 1, 3, 0, 1, 83, 116, 111, 112, 112, 101, 100, 32, 32, 32, 32, 32, 32, 32, 32, 32, 82, 101, 99, 97, 108, 108, 101, 100, 32, 112, 114, 101, 115, 101, 116, 32, 247]
 
 



Die 240 am Anfang stört mich. Die gehört wohl eher in den Header, weil sie die Nachricht als Sysex identifiziert. Die HW Sysex Nachrichten fangen mit DEZ 125 bzw. HEX 0x7d an. Ab Stelle 6 beginnt dann z.B. der Orgelname Friesach oder in meinem Beispiel St. Annes. Hier mal einkopiert aus meinen Aufzeichnungen, als ich in der Analyse war. Vielleicht musst du die 240 einfach nur weglassen. Denn in Summe hast du 39 Stellen, HW sendet aber nur 38. Wenn man die ersten fünf und das letzte Byte abzieht, hast du 32 Bytes (also 2x 16) die saugend in so ein 1602 LCD reinpassen.

1
2
3
4
5
 

HEX 0x7d 0x1 0x0 0x0 0x1 0x53 0x74 0x41 0x6e 0x6e 0x65 0x73 0x4d 0x6f 0x73 0x65 0x6c 0x65 0x79 0x20 0x20 0x20 0x31 0x20 0x53 0x74 0x41 0x6e 0x6e 0x65 0x73 0x4d 0x6f 0x73 0x65 0x2e 0x2e
DEZ 125 1 0 0 1 83 116 65 110 110 101 115 77 111 115 101 108 101 121 32 32 32 49 32 83 116 65 110 110 101 115 77 111 115 101 46 46
ASCII } SOH NUL NUL SOH S t A n n e s M o s e l e y SP SP SP 1 SP S t A n n e s M o s e . .
 
 


 Antworten

 Beitrag melden
27.01.2026 15:25
#81
avatar

Zitat von Dividebysandwich im Beitrag #79
EDIT: ASIO hilft nur bei entsprechenden soundkarten - aber ich glaube ich kann beim WASAPI auch noch einiges optimieren.

Und für alle anderen kann ASIO4ALL helfen https://asio4all.org/

Generell ist Windows aber eher nicht die beste Wahl für solche Dinge "DuckUndWeg"


 Antworten

 Beitrag melden
27.01.2026 19:12
avatar  Montre
#82
avatar

Zitat von Dividebysandwich im Beitrag #79
@Montre: Kannst du evtl. bitte folgenden Build versuchen, ob die Latenz besser ist?

Bei beiden Links kommt 404.


 Antworten

 Beitrag melden
27.01.2026 19:14 (zuletzt bearbeitet: 27.01.2026 19:16)
avatar  Montre
#83
avatar

Zitat von Untersatz32 im Beitrag #81
Generell ist Windows aber eher nicht die beste Wahl für solche Dinge "DuckUndWeg"

Das ist die Sache einer guten Soundkarte => RME.
WASAPI ist nach meinen früheren Versuchen mit RME+GO nicht berauschend gewesen. Nur ASIO fluppt.


 Antworten

 Beitrag melden
27.01.2026 22:00 (zuletzt bearbeitet: 27.01.2026 22:03)
#84
avatar

So, ich habe eine Windows-box aufgetrieben und das Ergebnis ist RustyPipes v1.6.5 [Download]

* ASIO Support ist da!
* RustyPipes zeigt jetzt alle vorhandenen Audio-APIs und Devices an
* Support für I32 audio device streams (Das war der Grund warum das Programm beim Start an externen ASIO interfaces gestreikt hat)
* Programmversion steht jetzt im Logfile

@Soubasse: Das mit dem ersten "240" Byte sollte so passen, ich denke Hauptwerk loggt das einfach nicht mit.


 Antworten

 Beitrag melden
27.01.2026 22:47 (zuletzt bearbeitet: 27.01.2026 22:58)
avatar  Montre
#85
avatar

Bei GO drücke ich eine Taste und der Ton ist da. Bei Rusty Pipes beträgt die Latenz ca. 200 ms oder mehr.

RP:
Bild entfernt (keine Rechte)

GO:
Bild entfernt (keine Rechte)

Edit:
Rätsel gelöst: Der Audio-Buffer in RP stand auf 4096 - mit 256 ist es genauso flott wie GO :-)


 Antworten

 Beitrag melden
27.01.2026 22:48
#86
So

Irgendwie lädt das Programm nicht mehr weiter, nachdem ich im Konfigurationsbidlschirm alles eingestellt habe und die Orgel laden will. Muss ich am Wochenende dann nochmal probieren.


 Antworten

 Beitrag melden
28.01.2026 10:53
#87
avatar

Zitat von Soubasse im Beitrag #86
Irgendwie lädt das Programm nicht mehr weiter, nachdem ich im Konfigurationsbidlschirm alles eingestellt habe und die Orgel laden will.


Wenn im log nichts steht, bitte auch auf die Konsole schauen (also am besten das Programm im terminal oder powershell starten)


 Antworten

 Beitrag melden
30.01.2026 20:51
#88
So

Folgendes steht in dem, was ich für das Log halte. Es startet kein Fenster. Die rusty-pipes.exe läuft und ist nicht beendbar, außer über Systemneustart. Entweder es stimmt etwas nicht oder ich bin zu dusselig.

Bild entfernt (keine Rechte)


 Antworten

 Beitrag melden
30.01.2026 21:13
avatar  Montre
#89
avatar

Warum lädst du die Moseley? Die ist doch geschützt und lässt sich nicht mit RP spielen.


 Antworten

 Beitrag melden
30.01.2026 21:18 (zuletzt bearbeitet: 30.01.2026 21:21)
#90
So

Vlt. liegt es daran. Ich wollte ein kleines Set laden. Ich versuche es nochmal mit einem anderen.

edit: selbes Ergebnis.

Bild entfernt (keine Rechte)


 Antworten

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