Live online jammen mit SonoBus
8 Kommentare
Kommentar von: hoergen [Mitglied]
Kommentar von: odo [Mitglied]
Anfrage über das Kontaktformular
Habe es irgendwie geschafft Sonobus auf meinen Raspberry Pi4 zu installieren und kann das Programm sogar aufrufen , so wie du es beschreibst.
Wie kann ich das als Icon im Menü anlegen ?
Oder geht der Start nur über die Konsole?
Unter KDE wird automatisch ein Icon erstellt und man kann SonoBus über das Startmenü starten.
Kommentar von: Rainer [Besucher]
Vielen Dank für das Blog, damit habe ich es geschafft, Sonobus unter Linux zu kompilieren. Leider bekomme ich aber regelmäßig Speicherzugriffsfehler, so dass mir der komplette Rechner einfriert :-(
Beim Test unter Windows passiert das zwar nicht, aber wir haben es leider nicht geschafft, mit 3 Musikern mit 3 USB-Soundinterfaces und maximal 20km Entfernung, bei einem Ping von max. 30ms.
Gibt es noch irgendwelche Tricks und Tipps? Verschiedene Codecs brachten auch nicht die Lösung :-(
Eigentlich schade. Vom Ansatz her eine gute Software.
Gruß Rainer
Kommentar von: hoergen [Mitglied]
Hallo Rainer
Vielen Dank für das Blog, damit habe ich es geschafft, Sonobus unter Linux zu kompilieren. Leider bekomme ich aber regelmäßig Speicherzugriffsfehler, so dass mir der komplette Rechner einfriert :-(
Hmmm schwierig zu beurteilen für ein “Linux” ;) Das kann von fehlenden oder veralteten Bibliotheken bis hin zu kaputtem Arbeitsspeicher sein. Ich gehe mal davon aus, dass das Kompilieren ohne Fehlermeldungen oder Probleme durchgelaufen ist? Wenn nicht, dann unbedingt dort den/die Fehler beheben,
Dann Sonobus aus der Konsole starten, eventuell siehst du weitere Fehlermeldungen, die einen Hinweis geben, warum das passiert.
Hast du sonst auch ab und zu mal das Problem, dass dein System so einfriert? Wenn ja, in welchem Zusammenhang? Mit Audio? Netzwerk? Viel Speicherbedarf?
Welchen Audioserver benutzt du mit SonoBus? ALSA oder Jack? Laufen die beiden normalerweise ohne Probleme?
Beim Test unter Windows passiert das zwar nicht, aber wir haben es leider nicht geschafft, mit 3 Musikern mit 3 USB-Soundinterfaces und maximal 20km Entfernung, bei einem Ping von max. 30ms.
Mit “nicht geschafft” meinst du, dass ihr euch nicht online in einer Gruppe verbinden konntet? Oder ging das und ihr habt euch gegenseitig nicht gehört? Bzw von euch ging kein Signal raus?
Gibt es noch irgendwelche Tricks und Tipps? Verschiedene Codecs brachten auch nicht die Lösung :-(
Der Codec dürfte nicht das Problem sein. Eventuell habt ihr eher ein Netzwerkproblem, da eure Rechner jeweils hinter dem DSL Router angeschlossen sind und somit in einem NAT (Network Address Translation) liegen. Kennt ihr euch damit genügend aus und konntet das ausschliessen?
Falls nicht, hilft vielleicht, dass es in vielen Routern eine Option gibt, in der man einen Rechner explizit als “exposed Host” im DSL Router eintragen kann. Der deutsche Begriff könnte “exponierter Rechner/Computer” heissen. Wenn es so eine Option gibt, dann “stellt” man den Computer “logisch” direkt ins Internet, ohne dass der Router “sich schützend” vor diesen Computer stellt. Das kann man mal machen, um zu testen, ob es dann klappt. Man muss aber auch sicherstellen, dass es bei beiden Teilnehmern klappt ;) Nicht dass man bei sich den Fehler sucht, obwohl es bei anderen nicht klappt ;)
Du siehst, ich muss eine ganze Menge raten, da ich leider kaum technische Information habe, was ihr da gemacht habt. Bei genaueren Beschreibungen kann ich bestimmt auch mehr sagen. Aber vielleicht war ja auch der richtige Tipp schon mit dabei?
Kommentar von: Rainer [Besucher]
Hallo hoergen. Dann versuche ich mal mehr Details zu liefern. Ich gehe mal von hinten nach vorne:
Also: “nicht geschafft” bedeutet, wir haben uns zwar gegenseitig gehört in beide Richtungen (daher schließe ich ein Netzwerkproblem aus), aber wir haben es nicht geschafft, synchron miteinander Musik zu machen, trotz annehmbarer Latenzen und geringer Standortentfernung. Wirklich unbenutzbar wurde es, wenn 2 Musiker in einer Session sind und dann ein dritter dazukommt (oder ein vierter).
Zu der Linux-Problematik: Bisher ist der Rechner auf dem System noch nie eingefroren. Sonobus läuft mit Jack. Unter der gleichen Distribution (aktuelles Ubuntu Studio) läuft Jamulus ohne Probleme. Mit dem Konsolenstart ist eine gute Idee, das habe ich noch nicht ausprobiert.
Kommentar von: hoergen [Mitglied]
Also: “nicht geschafft” bedeutet, wir haben uns zwar gegenseitig gehört in beide Richtungen (daher schließe ich ein Netzwerkproblem aus), aber wir haben es nicht geschafft, synchron miteinander Musik zu machen, trotz annehmbarer Latenzen und geringer Standortentfernung.
Hmmm habt ihr versucht das Metronom unten in Sonobus zum gemeinsamen “synchronisieren” zu nutzen? Und nur zur Sicherheit: Sonobus macht keine automatische Synchronisation! Das müsst ihr nach Gehör machen.
Wirklich unbenutzbar wurde es, wenn 2 Musiker in einer Session sind und dann ein dritter dazukommt (oder ein vierter).
Also vielleicht nehme ich mein voreiliges “am Codec kann es nicht liegen” wieder zurück. Aber nicht bezüglich der CPU, sondern wegen der benötigten Bandbreite. Versucht es mal mit dem schlechtesten Codec (ganz oben). Das klingt irgendwie nach Bandbreitenproblem (vermutlich der jeweilige Upload zu klein). Gerade dann auch, wenn es mit Jamulus und mehreren Musikern geklappt hat.
Bezüglich des Uploads: Jeder Musiker muss für jeden anderen Musiker einen Stream schicken. Also spielen 3 Musiker zusammen, muss jeder dieser 3 den anderen 2 einen Stream schicken. Und logischerweise empfängt er von den beiden anderen einen Stream.
Der Download ist bei den meisten ja nie ein Problem weil normales DSL ja immer asynchron mit einem schnelleren Download, als Upload ausgestattet ist. Zum Beispiel 200/10Mbit (Download/Upload)
Bei Jamulus gibt es ja einen Server, der von jedem Musiker dessen Stream empfängt, alle zusammen mischt und dann jedem Musiker nur 1 Stream zurückschickt. Das ist dort der Vorteil. Dafür hat man dort dann auch eine höhere Latenz.
Das mit dem Abstürzen ist wirklich merkwürdig. Falls du heraus bekommst, was das verursacht, wäre ich daran interessiert. Du kannst auch einfach ein “Issue” auf https://github.com/essej/sonobus/issues für den Programmierer aufmachen. bzw dort mal schauen, ob schon jemand dein Problem schon beschrieben und der Programmierer darauf geantwortet hat. Falls du Hilfe brauchst, sag Bescheid.
Kommentar von: Bernd Rüter [Besucher]
wir haben gestern mit 5 Musikern SONOBUS ausprobiert, weil wir mit JamKAZAM Probleme haben. Es lief gang ordentlich. Gibt es eine Beschränkung in der Anzahl der Musiker? Wir würden gern mit 12 bis 15 personen gemeinsam spielen.
Kommentar von: hoergen [Mitglied]
@Bernd
Das ist wie ich oben geschrieben habe, die einzige Beschränkung ist die Internetanbindung der einzelnen Teilnehmer. SonoBus verwendet einen Server nur, damit sich die Musiker gegenseitig finden können. Der gesamte Datenaustausch findet direkt zwischen den Musikern statt.
Bezüglich des Uploads: Jeder Musiker muss für jeden anderen Musiker einen Stream schicken. Also spielen 3 Musiker zusammen, muss jeder dieser 3 den anderen 2 einen Stream schicken. Und logischerweise empfängt er von den beiden anderen einen Stream.
Der Download ist bei den meisten ja nie ein Problem weil normales DSL ja immer asynchron mit einem schnelleren Download, als Upload ausgestattet ist. Zum Beispiel 200/10Mbit (Download/Upload)
Ihr könnt einfach die Qualität runterschrauben. Selbst 96kbit klingt noch ganz ordentlich. Und wenn jeder bei sich lokal in hoher Qualität aufnimmt, dann kann man das im Nachhinein in exzellenter Qualität mischen.
Ich habe eine Zuschrift bekommen, die aber sicherlich mehr Menschen interessiert, daher antworte ich hier hier im Kommentar
Genau, damit meine ich unter anderem auch die Pingzeit. Wobei man natürlich immer mehrere Pingzeiten beachten muss: Meine Pingzeit, die Pingzeiten (Reaktionszeiten) der anderen Teilnehmer beim Empfang, die Reaktionszeit und dann wieder die Pingzeit beim Senden. Dazu kommt dann nochmal eine lokale Latenz von Midi und Audio Geräten.
Allerdings dürfte das nicht der Grund sein, warum das Spiel immer langsamer wird. Das kann man am besten mit der Entstehung eines Staus erklären.
Wenn einer in einer Kolonne langsamer wird, dann kommt es zu unterschiedlichem Bremsverhalten für den rückwärtigen Verkehr. Da man sich aber eine Onlineband, als Kreisverkehr vorstellen kann, wirkt sich das Tempo natürlich auf alle aus. Wird ein Teilnehmer langsamer wartet der nächste Teilnehmer etwas länger auf seinen Einsatz.
Hier muss dann ein wenig tricksen und ignorant sein. Natürlich sollten alle Teilnehmer sich auf eine Geschwindigkeit einigen. Und vielleicht baut man sich einen kleinen Hihat Loop, den man so ein wenig reindrehen kann, wenn man das Gefühl hat, das Tempo verloren zu haben. Das muss natürlich zum Stück passen. Bei klassischen Stücken nimmt man da vielleicht besser andere Hilfsmittel.
Eventuell kann man sich ja auch ein Metronom, oder ein Hihat Loop auf den Kopfhörer legen, ohne dass der übers Netz rausgeschickt wird. Da sollte man dann nur relativ genau den gemeinsamen Einsatz finden. Aber dafür gibt es ja auch das Metronom in SonoBus, um sich manuell zu synchronisieren.
Ich hoffe, das beantwortet deine Frage ein wenig?