Forum: PC Hard- und Software Audio Mixer für USB-Boxen


von S. Z. (ceving)


Lesenswert?

Hallo zusammen,

ich bin mir nicht ganz sicher, ob ich hier richtig bin. Aber ich 
versuche trotzdem mal zu fragen. Vielleicht kann mir ja jemand weiter 
helfen.

Ich möchte mir für den Computer USB-Lautsprecher kaufen (A10 oder A20 
von Nubert). Leider haben die nur einen Eingang. Ich benötige aber 
mindestens zwei besser noch wären drei. Ich möchte meinen Computer und 
mein NAS parallel anschließen. Über das NAS kommt Musik und über den 
Computer kommt diverses. Beide Eingänge sollen gemischt werden. Deswegen 
hilft mir der analoge Eingang an den Boxen auch nicht weiter, da man 
sich für einen Eingang entscheiden muss und ein Mischen nicht möglich 
ist.

Wenn ich nach USB-Audio-Mixer suche bekomme ich fast nur Links zu 
Mischpulten mit einem USB-Anschluss. Das ist nicht wirklich das, was ich 
suche.

Kann mir jemand einen Tipp geben, ob man sowas als Bausatz kaufen kann 
oder was man benötigt, um sowas zu realisieren?

Ich hatte auch an sowas wie den Raspberry Pi gedacht aber der hat leider 
nur 2 USB-Ports. Außerdem bin ich mir noch nicht sicher, ob ich aus 
einem gewöhnlichem USB-Port unter Linux einen USB-Audio-Eingang machen 
kann.

Durch meine Recherchen bin ich daneben noch auf der Thema 
Audio-over-Ethernet gestoßen. Hintergrund ist, dass es wohl gar keine so 
gute Idee ist, Audio über USB zu transferieren, weil die Latenzzeiten 
dabei zu groß werden. Daher ist es wohl sinnvoller die Übertragung 
direkt via plain Ethernet (Layer 2 ohne IP) zu machen. EtherSound 
scheint in diesem Bereich recht weit verbreitet zu sein aber es sieht so 
aus als ob man eine Lizenz benötigt, wenn man etwas kompatibles 
implementieren will. Für meine Belange wäre es aber egal, da ich mir 
auch mein eigenes L2-Frame-Container-Format ausdenken könnte. 
Wahrscheinlich wäre es sowieso am einfachsten einen Matroska-Stream in 
1500 Byte Häppchen zu zerlegen. Kompatibilität zu EtherSound wäre mir 
schnuppe. Hat jemand schon mal was im Bereich AoE gemacht?

Für AoE wäre der Raspberry Pi wahrscheinlich wieder gut geeignet. Aber 
dafür müsste ich einen Windows-Treiber schreiben. Für das NAS (Linux auf 
ARM) traue ich mir das ja noch zu aber bei Windows bin ich mir nicht so 
sicher, ob ich das hin bekomme.

Gruß

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Sascha Ziemann schrieb:
> Hintergrund ist, dass es wohl gar keine so
> gute Idee ist, Audio über USB zu transferieren, weil die Latenzzeiten
> dabei zu groß werden.

Wenn Du Musik einfach nur abspielst, sind die Latenzzeiten ziemlich 
irrelevant. Wenn Du auf mehreren Ausgabegeräten abspielst, müssen die 
Latenzzeiten kompensiert werden -- was beispielsweise Apples Airplay 
macht.

Das bestimmt die längste Latenzzeit im System und passt die Wiedergabe 
auf "schnelleren" Ausgabegeräten entsprechend ab.
So kann man simultan mit den analog angeschlossenen PC-Lautsprechern und 
einem AirPlay-Empfänger Musik hören, ohne störende Laufzeitunterschiede 
wahrzunehmen.

Anders sieht es nur dann aus, wenn Du Musik produzierst, und Du simultan 
mit live gespielter Musik andere wiedergeben möchtest.

Um auf Deine eigentliche Frage zurückzukommen: Nein, so etwas wird es 
nicht geben. Nimm analog angesteuerte Lautsprecher, nimm 
USB-"Soundkarten" zur Wiedergabe und mische deren Signale analog vor dem 
Lautsprecher.

Die Alternative wäre ein DSP, der mehrere USB-Devices simultan 
darstellen kann, die USB-Audio-Daten empfängt und digital mischt. Für 
Freunde der anspruchsvolleren DSP-Programmierung sicherlich 'ne 
reizvolle Aufgabe ...

von S. Z. (ceving)


Lesenswert?

Rufus Τ. Firefly schrieb:
> Sascha Ziemann schrieb:
>> Hintergrund ist, dass es wohl gar keine so
>> gute Idee ist, Audio über USB zu transferieren, weil die Latenzzeiten
>> dabei zu groß werden.
>
> Wenn Du Musik einfach nur abspielst, sind die Latenzzeiten ziemlich
> irrelevant. Wenn Du auf mehreren Ausgabegeräten abspielst, müssen die
> Latenzzeiten kompensiert werden -- was beispielsweise Apples Airplay
> macht.

Beim NAS ist das richtig aber die Synchronität bei der Computer-Ausgabe 
wäre mir schon wichtig.

> Anders sieht es nur dann aus, wenn Du Musik produzierst, und Du simultan
> mit live gespielter Musik andere wiedergeben möchtest.

Sowas mache ich nicht.

> Um auf Deine eigentliche Frage zurückzukommen: Nein, so etwas wird es
> nicht geben. Nimm analog angesteuerte Lautsprecher, nimm
> USB-"Soundkarten" zur Wiedergabe und mische deren Signale analog vor dem
> Lautsprecher.

Ja klar das wäre das einfachste. Aber es geht hier ja nicht um die 
Arbeit sondern ums Hobby. Und in diesem Fall besteht mein Hobby darin, 
meinen Ehrgeiz zu befriedigen, die Boxen digital anzusteuern. ;-)

> Die Alternative wäre ein DSP, der mehrere USB-Devices simultan
> darstellen kann, die USB-Audio-Daten empfängt und digital mischt. Für
> Freunde der anspruchsvolleren DSP-Programmierung sicherlich 'ne
> reizvolle Aufgabe ...

Gibt es für sowas Literatur, in die man sich einlesen könnte? Allerdings 
ist mein Ehrgeiz jetzt auch nicht so groß, dass ich einen USB-Port nur 
mit NAND-Gattern aufbauen will. Viel löten will ich eigentlich nicht. 
ASM würde mich nicht stören, solange es nicht bedeutet, dass ich 2 
Mannjahre Arbeit in das Projekt stecken muss.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

> aber die Synchronität bei der Computer-Ausgabe
> wäre mir schon wichtig.

Synchronität wozu?

Meinst Du synchrone Wiedergabe über PC-Lautsprecher und über wie auch 
immer extern (Netzwerk, USB, Bluetooth ...) angeschlossene Lautsprecher? 
Das ist lösbar, wie das AirPlay-Beispiel zeigt. Für Windows ist da 
Airfoil von Rogue Amoeba nutzbar, das verwendet vergleichbare 
Algorithmen.

> Gibt es für sowas Literatur, in die man sich einlesen könnte?

Keine Ahnung.

Ein Ansatz wäre es, die USB-Audio-Funktionalität als fertigen 
Funktionsblock zu verwenden; es gibt USB-Audio-Codecs als fertige 
Bauteile. Da gilt es einen zu finden, der IIS (oder ähnliches) als 
digitale Audioschnittstelle unterstützt.

Der DSP muss dann "nur" noch mehrer dieser digitalen Audioströme 
entgegennehmen, abmischen und wiederum an einen DAC ausgeben.

Sofern das Mischen kein echtes Mischen, sondern hartes Umschalten 
bedeutet, kann man natürlich auch den DSP entfallen lassen und mit einem 
simplen Umschalter/Multiplexer arbeiten, der von einem µC o.ä. 
angesteuert werden kann.

von S. Z. (ceving)


Lesenswert?

Rufus Τ. Firefly schrieb:
>> aber die Synchronität bei der Computer-Ausgabe
>> wäre mir schon wichtig.
>
> Synchronität wozu?

Synchron zum Bild also lippensynchron. Wäre schlecht wenn bei SC die 
Meldung, dass meine Verbündeten angegriffen werden erst nach deren Tod 
aus dem Lautsprecher kommt. ;-)

> Sofern das Mischen kein echtes Mischen, sondern hartes Umschalten
> bedeutet, kann man natürlich auch den DSP entfallen lassen und mit einem
> simplen Umschalter/Multiplexer arbeiten, der von einem µC o.ä.
> angesteuert werden kann.

Ne muss schon richtig gemischt sein. Am besten wäre eigentlich, wenn man 
die Pegel auch passen könnte. Beispiel: man hört Musik und ist während 
dessen im Internet. Dann möchte man sich mal eben einen Clip angucken. 
Dazu könnte es nötig sein, den Pegel der Musik zu reduzieren, damit man 
das Video versteht.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Sascha Ziemann schrieb:
> Synchron zum Bild also lippensynchron.

Ah, so allmählich kommts heraus. Gut, das ist eine Anwendung, bei der 
die von mir genannten Ansätze (AirPlay, Airfoil & Co.) allesamt zum 
Scheitern verurteilt sind.

Vergiss die Idee mit den "USB-Lautsprechern". Nimm USB-Audioadapter, 
mische deren Ausgangssignale auf die gewohnte analoge Weise und speise 
das Ergebnis in einen normalen Verstärker/Aktivlautsprecher ein.

von Harald W. (wilhelms)


Lesenswert?

Sascha Ziemann schrieb:

> Gibt es für sowas Literatur, in die man sich einlesen könnte? Allerdings
> ist mein Ehrgeiz jetzt auch nicht so groß, dass ich einen USB-Port nur
> mit NAND-Gattern aufbauen will. Viel löten will ich eigentlich nicht.
> ASM würde mich nicht stören, solange es nicht bedeutet, dass ich 2
> Mannjahre Arbeit in das Projekt stecken muss.

Bevor Du Deine zwei Mannjahre da reinsteckst, solltest Du vielleicht
ein Studium der Elektronik machen. Gerade die USB-Schnittstelle ist
von der Theorie her recht anspruchsvoll. Du kannst Dir ja mal die
USB-Spezifikationen im INet runterladen und durchlesen...
Gruss
Harald

von klausr (Gast)


Lesenswert?

Sascha Ziemann schrieb:
> Gibt es für sowas Literatur, in die man sich einlesen könnte? Allerdings
> ist mein Ehrgeiz jetzt auch nicht so groß, dass ich einen USB-Port nur
> mit NAND-Gattern aufbauen will. Viel löten will ich eigentlich nicht.
> ASM würde mich nicht stören, solange es nicht bedeutet, dass ich 2
> Mannjahre Arbeit in das Projekt stecken muss.

Vergiss das ganz schnell wieder. Fertig gibt es das gar nicht. Du 
müsstest einen (ich denke 32-bit) uC nehmen, der gleichzeitig zwei 
USB-Slaves + ein USB Host abbildet. Gut den 2. Slave könnte man über 
einen USB Chip realisieren. Der uC müsste sich bei bei den Slaves als 
USB-Audio-Interface ausgeben und als Host das USB-Audio-Interface der 
USB-Boxen ansteuern. Wenn du keine Ahnung hast und das so nebenbei 
machen möchtest, dann werden die zwei Mannjahre knapp ;-)

Nimm zwei USB-Audio Interfaces, und verbinde die Lineouts jedes Kanals 
mittels eine 10K Widerstandes in Reihe miteinander, die Summe geht dann 
in das Line-In von gewöhnlichen Audio-Boxen. Also in etwas so:

Computer L ------|10K|----|
                          *-------- Line-In L Audio Box
NAS L------------|10K|----|

Das ganze dann ebenso für den rechten Kanal. Masse musst du auch 
miteinander verbinden.

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.