Forum: Digitale Signalverarbeitung / DSP / Machine Learning Audio Netzwerkstream


von Sascha S. (sascha112)


Lesenswert?

Tagchen,

Ich muss ein Audiosignal (Line-Pegel) innerhalb des Hauses über Netzwerk 
übertragen. Die fertigen Kits die es gibt sind ungeeignet. Das ist nur 
zum Übertragen auf den Netzwerkkabeln. Sobald ein Switch dazwischen 
hängt ist Ende Gelände.
Ich könnte mir das ganze mit einem Rasberry oder sogar noch kleiner 
(Arduino) vorstellen. Also Line out -> Line in USB Soundkarte. Sampling 
und Upload des Streams in lokale Netz. Im anderen Bereich des Hauses ein 
PC mit dem VLC drauf und den Stream wieder abspielen.
Mit einem PC und Soundkarte über Line-In samplen geht, das habe ich 
schon ausprobiert. Scheidet aber wegen Stromverbrauch u.a. aus.
Hat jemand von Euch schon so etwas mal ausprobiert ?
Profesionelle Studiotechnik scheidet auch aus- in diesem Bereich habe 
ich zwar schon einiges gefunden. Das ist aber zu teuer. Eine etwas 
längere Latenzzeit kann ich akzeptieren.

von Markus W. (naggusm)


Lesenswert?

Hi,

ja, habe ich selber schon realisiert (mithilfe vom Snapcast).

https://github.com/badaix/snapcast

Da kann man z.B. auch lokale Alsa Audioquellen als Audio-Eingang nutzen 
und dies dann sogar Zeitsynchron (wie bei Sonos) an mehrere Endpunkte 
streamen.

Latenz ist by-default auf 1 Sekunde eingestellt (kann aber manuell 
konfiguriert werden - kommt am Ende auf dein Netzwerk an).

von Jack V. (jackv)


Lesenswert?

Du kannst ein analoges Audiosignal nicht über ein Netzwerk schicken.

Wenn auf den abspielenden Geräten aber eh ein voll aufgeblasener Player 
à la VLC läuft, könntest du das Signal in einem dir genehmen Format 
codieren (geht mit heutiger Technik mit geringer Latenz), und dieses als 
handelsüblichen Stream an den Zielrechner schicken, der’s dann decodiert 
und abspielt. VLC kann das OOTB.

von C-hater (c-hater)


Lesenswert?

Sascha S. schrieb:

> Ich könnte mir das ganze mit einem Rasberry oder sogar noch kleiner
> (Arduino) vorstellen.

Mit einem Raspi geht es sicher, Arduino hingegen ist ein weites Feld. 
Zwischen einem ATMega328P und einem Teensy4 z.B. liegen ganze Welten 
bezüglich der Rechenleistung und des erzielbaren Durchsatzes.

Allen angesprochenen Sachen ist aber eins gemein: sie besitzen keine 
eingebaute Hardware für hochqualitatives Audio-Sampling, also 
"CD-Qualität".

Beim Raspi wäre das einfach zu lösen: Kompatible USB-Soundkarte als 
Quelle, VLC anwerfen, geht.

> Scheidet aber wegen Stromverbrauch u.a. aus.

Das dann möglicherweise auch.

Fazit: Als erstes musst du mal überlegen, welche Qualität dein "Audio" 
tatsächlich konkret (also in Zahlen für Bandbreite und Auflösung) 
haben muss. Und zweitens musst du überlegen, wieviel elektrische 
Leistungsaufnahme konkret (also ebenfalls in Zahlen, eventuell 
getrennt für Bereitschaft und Streaming) haben darf, um deinen Wünschen 
gerecht zu werden.

Nur mit Zahlen auf dem Tisch kann man über mögliche Lösungen nachdenken. 
Alles andere ist sinnloses Gesabbel.

von A. S. (rava)


Lesenswert?

und sich Gedanken über die erlaubte Latenz zu machen, kann auch 
hilfreich sein.

Audiostream, der parallel zum Video abgespielt wird: max 5, besser 1-2 
ms. Kann man in einigen Softwares mal ausprobieren, wie sich hier eine 
Verzögerung anhört.

Wenn man nur bei der schönen alten Schaltplatte aus dem Wohnzimmer im 
Keller mithören möchte, sind auch 1 sekunde okay.

von Jack V. (jackv)


Lesenswert?

A. S. schrieb:
> Audiostream, der parallel zum Video abgespielt wird: max 5, besser 1-2
> ms.

Sitzt du dann beim Videoschauen auch weniger als 1,6m, besser 30-60cm, 
vom Bildschirm weg, damit die Latenz durch die Schallgeschwindigkeit die 
genannten Werte nicht übersteigt?

von A. S. (rava)


Lesenswert?

nö, sind eher 3-4m.
Aber mehrere Effekte kommen zusammen. Ich würde nicht das ganze 
Latenzbudget auf einmal aufbrauchen, sondern lieber einen ernsthaften 
Puffer für andere Komponenten einplanen...

Wenn du in deinen Fällen jeden einzelnen Schritt unter Kontrolle hast, 
kannst du natürlich mehr riskieren ;)

von (prx) A. K. (prx)


Lesenswert?

Man kann sich bei der Gelegenheit auch mit QoS beschäftigen, statt mit 
grossen Aufwand innerhalb des Hausnetzes lange Latenzen einzuplanen. 
Setzt natürlich Switches voraus, die das können, also managed. Das 
könnte den Verarbeitungsaufwand an den Endstellen deutlich reduzieren.

: Bearbeitet durch User
von Rolf S. (audiorolf)


Lesenswert?

Sascha S. schrieb:
> Profesionelle Studiotechnik scheidet auch aus- in diesem Bereich habe
> ich zwar schon einiges gefunden. Das ist aber zu teuer.
Das kommt auf den Betrachtungswinkel an: Für rund 900,- bekommst du 
Sender und Gegenstelle für 8-kanal. Wenn Du es nicht per Ethernet machen 
möchtest, dann vielleicht mit einem wireless Mikrofon-System? Die 
analogen sollten reichen. Oder eben doch bluetooth?

von Thomas F. (tf1973)


Lesenswert?

Mein erster Gedanke beim Lesen des Threads war sofort "DANTE AVIO 
Adapter Jetzt habe ich aber gesehen, dass die preislich deutlich 
angezogen haben in den letzten Jahren:

https://www.thomann.de/de/dante_avio_analog_input_adapter_2x0.htm

Alternative wäre noch AES67, dann einfach 2 von den Adaptern:

https://www.aliexpress.us/item/3256801367281360.html?spm=a2g0o.productlist.main.5.4e68378eNvxpHB&algo_pvid=c99e0126-e7ed-4490-a220-919787da668c&algo_exp_id=c99e0126-e7ed-4490-a220-919787da668c-2&pdp_npi=3%40dis%21USD%2172.9%2168.53%21%21%21%21%21%40211beeec16860203378302459d081a%2112000016571712561%21sea%21US%210&curPageLogUid=1oeSu9GTn2X5

Wenn dein Ausgangssignal vom PC kommt, dann kannst du dir einen Adapter 
sparen und spielst dein Audiosignal direkt per Netzwerk via Virtual 
Soundcard:

https://www.audinate.com/products/software/dante-virtual-soundcard

Ich meine es gibt sogar kostenlose AES67 virtual soundcards (via 
Ravenna?), müsste ich aber suchen (Ich arbeite hauptsächlich mit DANTE).
Das ist zwar wieder DANTE, aber man kann damit AES67 kompatibel 
arbeiten.

Wenn es noch günstiger sein soll und du basteln willst/kannst/darfst, 
dann 2x ein AES67 board kaufen, RJ45 Buchsen, einen DAC und einen ADC 
und zusammenbauen :)

https://www.aliexpress.us/item/3256801367380430.html?spm=a2g0o.detail.1000060.3.48e554b51NaS9Z&gps-id=pcDetailBottomMoreThisSeller&scm=1007.13339.291025.0&scm_id=1007.13339.291025.0&scm-url=1007.13339.291025.0&pvid=85c011cb-e323-42c4-abd5-df67aaccd0c8&_t=gps-id%3ApcDetailBottomMoreThisSeller%2Cscm-url%3A1007.13339.291025.0%2Cpvid%3A85c011cb-e323-42c4-abd5-df67aaccd0c8%2Ctpp_buckets%3A668%232846%238114%231999&pdp_npi=3%40dis%21USD%2161.0%2157.34%21%21%21%21%21%402101effb16860203593734687ec02d%2112000016571968491%21rec%21US%21&gatewayAdapt=glo2usa

https://www.aliexpress.us/item/3256802711963831.html?spm=a2g0o.productlist.main.1.22e6vhm7vhm7a0&algo_pvid=1553e0eb-08d7-4a03-872d-ad85a75de8ae&algo_exp_id=1553e0eb-08d7-4a03-872d-ad85a75de8ae-0&pdp_npi=3%40dis%21USD%211.86%211.86%21%21%21%21%21%402102160416860206927165972d0745%2112000022673371171%21sea%21US%210&curPageLogUid=MS8sENH2xkAW

https://www.aliexpress.us/item/3256803129790326.html?spm=a2g0o.productlist.main.1.42a0mQXAmQXAuR&algo_pvid=850ebfd9-cb49-4ecb-a4ee-17da34e0614f&algo_exp_id=850ebfd9-cb49-4ecb-a4ee-17da34e0614f-0&pdp_npi=3%40dis%21USD%2113.5%217.15%21%21%21%21%21%4021021aa216860208124738143d0753%2112000025175259089%21sea%21US%210&curPageLogUid=dxINTPn0Urqv

von ●DesIntegrator ●. (Firma: FULL PALATINSK) (desinfector) Benutzerseite


Lesenswert?

Grosse Boxen in der Mitte des Hauses aufstellen
und Mukke raus ballern lassen.

Problem der Latenz gelöst, keine Echos etc
und Du musst nur einmal was aufstellen.

Nur: Warum bloss wollen so einige Leute
immer in allen Räumen Beschallung haben?

von He. (Gast)


Lesenswert?

●DesIntegrator ●. schrieb:
> Nur: Warum bloss wollen so einige Leute
> immer in allen Räumen Beschallung haben?

weil sie von Musik abhängig sind und den ganzen Tag damit umher rennen. 
Wenn sie Stille haben, können sie sich nicht konzentrieren, weil die auf 
Input geschalteten Neuronen rebellieren.

und wer mehr als 4h am Tag Musik hört und seinem Gehör keine Pause mehr 
gönnt, der runiniert es und kriegt Tinnitus. dann MUSS man das betäuben.

Ich empfehle eine Audio-BT-Box vom Aliexpress und einen Verteiler für 
die Cynch, damit man alle Sender füttern kann.

Macht 5 Sender und 5 Empfänger = 10 x 10,95!

von J. S. (engineer) Benutzerseite


Lesenswert?

Jack V. schrieb:
> Sitzt du dann beim Videoschauen auch weniger als 1,6m, besser 30-60cm,
> vom Bildschirm weg, damit die Latenz durch die Schallgeschwindigkeit die
> genannten Werte nicht übersteigt?

Der Ton wird bei vielen Fernsehern passend verzögert, weil die 
Prozessierung des Bildes aufwändiger ist und mehr Zeit benötigt. Oftmals 
sind da mehrere frames delay. Eine typische Verzögerung sind 60ms, also 
knapp 4 frames. Damit ist das Audio eine ms voraus, was für 1,5m Abstand 
passt. Den Rest darfst du selber einstellen.

Das Problem wird auch nicht der absolute Versatz sein, sondern das 
Nichtzusammenpassen des Schalls aus mehreren Lautsprechern. Das ist 
praktisch nicht zu lösen, insbesondere in Räumen nicht, die mehrere 
Reflektionen generieren.

Beitrag #7458543 wurde vom Autor gelöscht.
von ●DesIntegrator ●. (Firma: FULL PALATINSK) (desinfector) Benutzerseite


Lesenswert?

J. S. schrieb:
> Der Ton wird bei vielen Fernsehern passend verzögert, weil die
> Prozessierung des Bildes aufwändiger ist und mehr Zeit benötigt. Oftmals
> sind da mehrere frames delay. Eine typische Verzögerung sind 60ms, also
> knapp 4 frames. Damit ist das Audio eine ms voraus, was für 1,5m Abstand
> passt. Den Rest darfst du selber einstellen

warum war das bei analogem TV nie ein Problem?

und im Theater?

von J. S. (engineer) Benutzerseite


Lesenswert?

Wir sprechen hier von 2 verschiedenen Dingen:

1) Verzögerung des Tons, dass er zum Bild passt
2) Verzögerung von Tonpfaden, dass sie zueinander passen.

Meine Aussage hier drüber bezieht sich auf den Umstand, dass die 
Bildprozessierung so derart viel Zeit erfordert, dass der Ton verzögert 
werden muss, um zu passen - und dies auch in einer Größenordnung, die um 
eine 10er Potzenz höher ist, als das, was die Wegverzögerung ausmacht - 
die manche hier in den Fokus nehmen.

Dazu also Folgendes:

●DesIntegrator ●. schrieb:
> warum war das bei analogem TV nie ein Problem?
Soweit es eine künstliche Verzögerung an geht, die ich ansprach, gibt es 
beim analogen TV keine derartige Prozessierung die das nötig machen 
würde.

Soweit es um Wegverzögerung geht, gibt es 2 Punkte:
a) ist die absolut gering und daher tolerierbar
b) ist eine positive Differenz dem Gehirn bekannt und wird als normal 
hingenommen. Wenn wir mit Personen sprechen, die 5m weg sind, haben wir 
dasselbe Problem.

Soweit also das Thema Wegverzögerung.

> und im Theater?
Gibt es das auch, ja, aber auch da ist man daran gewöhnt, wenngleich es 
da wahrnehmbar(rer) ist. Der Aspekt ist aber unter Theaterregisseuren 
beakannt und diskutiert und die Generalmeinung ist die, dass man ab 
einer gewissen Distanz eh den Mund nicht mehr sieht, um dessen 
Bewegungen dem gehörten Klang zuordnen zu können. Macht also nichts.

Eine Wegverzögerung berücksichtigen wir allerdings insoweit, als das bei 
Theater und Oper, vor allem aber auch bei Musikkonzerten die weiter im 
Publikum platzierten Lautsprecher ein delay bekommen, damit der Schall 
besser passt. Es ist allerdings nicht so groß, dass der Weg kompensiert 
wird: Das macht man nur für Bässe möglichst exakt. Für die Höhen lässt 
man einen Vorlauf, weil früh kommende Signale besser wahrgenommen 
werden, da sie aus dem Mix hervortreten. Damit kann man mit sehr wenig 
Pegel die Sprachverständlichkeit verbessern. In Theatern und Kirchen 
stellen wir das regelmäßig so ein, dass überhaupt nur die Höhen 
übertragen werden, die es passend zu verschieben gilt. Bei sehr simplen 
Systemen begnügt man sich damit, gar kein Delay zu nehmen und dafür sehr 
leise hinzuzupegeln.

Der Punkt leitet nun über zum eigentlichen Thema:

Wie stellt man den Klang so ein, dass er in allen Räumen zu hören ist 
und es keine Übergabeprobleme gibt:

: Bearbeitet durch User
von J. S. (engineer) Benutzerseite


Lesenswert?

Ich nenne das das Discoproblem oder Clubproblem, wo es regelmäßig 
verwinkelte Räume gibt, z.T. mehrere Tanzflächen und Beschallungsareale. 
Da muss man einen Kompromiss finden, weil die Wände ein kompliziertes 
Echo produzieren. Üblicherweise stellt man den Bass eines weiteren 
Lautsprechers so ein, dass er in den wesentlichen Hörbereich in der 
Minphase der Moden liegt, die durch den Raum und die primären 
Lautsprecher definiert werden. Für Bässe ist es daher ratsam, nur Mono 
zu fahren, soweit das geht. Man könnte es so interpretieren, dass man 
ein DBA aufbaut und es auf 2 Räume ausdehnt.

Für die Höhen muss man probieren:

Bei Räumen die durch schmale Türen getrennt sind, würde man einen Filter 
einsetzen, dessen Grenzfrequenz zur Wellenlänge von der 90cm Türöffnung 
passt und diese beiden Signalpfade getrennt pegeln und verzögern. Den 
hohen Anteil müsste man passend verzögern und minimal zupegeln, den 
niedrigen Anteil, der stark mit Reflektionen durchsetzt ist, kann man 
invertieren, um den Primärschall zu löschen oder auch stärker zupegeln 
- je nachdem. Solche Sachen habe ich beim Einmessen von Anlagen in Clubs 
schon gemacht, sprengt aber etwas den Rahmen hier.

Generell ist es eine Mischung aus Messen und Hören. Die Grundstrategie 
ist, alle Lautsprecher in eine ähnliche Richtung zeigen zu lassen und 
diese dann mit zueinander passender Höhenverzögerung zu fahren. Soweit 
es unterschiedliche Lautsprecherrichtungen sind, jeweils als getrennt 
betrachtete Pfade. Damit ergibt sich bei 3 Räumen ein System von 
wenigstens 6 LS und einiges zu tun.

von J. S. (engineer) Benutzerseite


Lesenswert?

A. S. schrieb:
> Audiostream, der parallel zum Video abgespielt wird: max 5, besser 1-2
> ms.

Alles unter 10ms wird von den Meisten nicht wahrgenommen. Aus den 
erwähnten Gründen. Man muss auch die Frage stellen, wie das Video in die 
anderen Räumen kommt:

Normalerweise überträgt man beides zusammen, sodass es in sich passt. 
D,h, das Video im Nachbarraum kommt mit einer definierten Verzögerung, 
und das Audio passt dazu. Das ist bei ETH basierten Videostreams der 
Fall. Wäre die Frage, ob das Audio auch akustisch passt.

Bei der Heimanlage würde ich bei 2 Räumen 2 TVs einsetzen, beim ersten 
die einstellbare Latenz im TV-Setup minimal stellen, damit das früh 
kommt und beim 2.TV entsprechend belassen oder anpassen. Ein durch den 
Raum stark reflektiertes Signal verzögert scheinbar um 10 bis 20ms 
zusätzlich zur Laufzeit. Damit ist eine Einstellreserve von 60ms, wie 
man sie typisch findet eigentlich für 3 Räume ausreichend.

Bei einem Arzt wurde das kürzlich von einem Kunden von mir genau so 
gemacht: Es lief auf 20ms pro Kanal hinaus - lichte Wegstrecke waren 
jeweils 6-8m.

von Rolf S. (audiorolf)


Lesenswert?

●DesIntegrator ●. schrieb:
> Problem der Latenz gelöst, keine Echos etc
> und Du musst nur einmal was aufstellen.

Jeder Raum gibt dir ein Echo. Auch wenn du nur einen Lautsprecher 
benutzt. Und einen auf eine Lautstärke zu bringen, dass es in zwei 
Räumen gleich laut ist, geht gar nicht.

Thomas F. schrieb:
> Das ist zwar wieder DANTE, aber man kann damit AES67 kompatibel
> arbeiten.

Guter Tipp!

Beitrag #7484685 wurde vom Autor gelöscht.
von A. B. (funky)


Lesenswert?

Markus W. schrieb:
> Hi,
>
> ja, habe ich selber schon realisiert (mithilfe vom Snapcast).
>
> https://github.com/badaix/snapcast

top. Durch Zufall mitgelesen und jetzt gesehen das es da Clients auch 
für ESP32 gibt. Damit steht diy sonos ja nichts im Weg.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.