Forum: Mikrocontroller und Digitale Elektronik Digitale Soundsignale mixen


von Philipp (Gast)


Lesenswert?

Hi,
Mein Ziel ist es, den Ton mehrerer Audiogeräte zu mixen und in einem 
Ausgang auszugeben. Normalerweise hat man dafür ein Gerät, in das die 
Audioquellen parallel eingesteckt werden. Ich möchte das aber in Reihe 
lösen.
Analog ist das einigermaßen leicht zu lösen. Aber wie würde ich das 
digital schaffen?

Ich stelle mir das so vor:
Ein digitales Audiokabel wird angeschlossen, ein IC dekodiert das 
Signal, der Sound des anderen Gerätes wird hinzugefügt und das 
gemeinsame Audiosignal wird wieder kodiert und ausgegeben.

Ist das technisch möglich, bzw gibt es dafür vorgefertigte Lösungen?

MfG Philipp

von TomToll (Gast)


Lesenswert?

Dafür brauchst du einen DSP.
Analog hat z.B. solche, oder TI.
Wie viele Digital In braucht dein Mixer?

von Falk B. (falk)


Lesenswert?

@ Philipp (Gast)

>Mein Ziel ist es, den Ton mehrerer Audiogeräte zu mixen und in einem
>Ausgang auszugeben. Normalerweise hat man dafür ein Gerät, in das die
>Audioquellen parallel eingesteckt werden.

Sieht so aus.

> Ich möchte das aber in Reihe lösen.

Warum?

>Ein digitales Audiokabel wird angeschlossen, ein IC dekodiert das
>Signal, der Sound des anderen Gerätes wird hinzugefügt und das
>gemeinsame Audiosignal wird wieder kodiert und ausgegeben.

Kann man machen.

>Ist das technisch möglich,

Ja.

> bzw gibt es dafür vorgefertigte Lösungen?

Kann sein.

von OAmp (Gast)


Lesenswert?

Falk Brunner schrieb:
> Warum?

Ja warum in Reihe, wenns doch alle parallel machen?

von Philipp (Gast)


Lesenswert?

Naja das WARUM ist ja jetzt erstmal nicht entscheidend.
Ein Vorteil ist z.B. die minimale Verkabelung.

Jeder Mixer bräuchte ja zwei Eingänge:
1. Das eintreffende Signal
2. Das eigene Signal
1
1. ->--->--->--        ---->----> 1.
2
               |      |
3
               O--->--|
4
               |
5
               ^
6
               |
7
              2.
Dabei muss sich jeder Chip am Höchsten orientieren (also 7.1 Sound) und 
dann sein Signal (auf 7.1 Hoch-Rechnen) und dann mischen

Allerdings weiß ich nicht auf welche Art das gemacht wird.
Ich möchte die verschiedensten Quellen verbinden können:
-Klinke, Cinch
-S/PDIF (Coaxial/Optisch)

Also hab ich mir 3 Module vorgestellt:
1.) Den jeweiligen Anschluss bereitstellen
2.) Das Signal auf einen gemeinsamen Standard bringen (bei Analog mit 
DA-Wandler)
3.) Mixen und wieder ausgeben (Bei allen gleich)

Was würde denn sowas pro Gerät in etwa kosten (ganz grob)?

: Bearbeitet durch User
von Philipp (Gast)


Lesenswert?

Ach ja und zwischen den einzelnen Geräten darf nur eine minimale Anzahl 
an Pins erforderlich sein

von Uwe (Gast)


Lesenswert?

SigmaDSP z.B. ADAU1761

von rava (Gast)


Lesenswert?

ich finde die Idee... kreativ.
Ungewöhnliche Ansätze gefallen mir eigentlich, aber oft hat es eben 
Gründe, warum es seit Ewigkeiten anders gemacht wird. Die Leute waren 
früher nicht doof.

Kurz ein paar Denkanstöße, die mir spontan einfallen.
- Wie groß ist die Latenz eines solchen Mixers? Und wie viele schaltest 
du davon in Reihe?
- Wie groß sind die Wandlereffekte (Rauschen + Quantisierungsfehler) bei 
einer DA->AD-Wandlungsstufe? Und wie viele schaltest du davon in Reihe?
- Wie synchronisierst du die verschiedenen (dezentralen) Mixerstufen? 
Oder hast du dann auch noch Jittereffekte, also Fehler durch zeitlichen 
Versatz?

von Falk B. (falk)


Lesenswert?

@ Philipp (Gast)

>Naja das WARUM ist ja jetzt erstmal nicht entscheidend.

Doch.

>Ein Vorteil ist z.B. die minimale Verkabelung.

Nö. bei 10 Eingängen und einem Ausgang braucht die Parallelvariante 11 
Stecker, 10 Einzelmodule aber 20! Der Digitalteil muss dann auch 10 mal 
vorhanden sein!

>Ich möchte die verschiedensten Quellen verbinden können:
>-Klinke, Cinch
>-S/PDIF (Coaxial/Optisch)

>Also hab ich mir 3 Module vorgestellt:
>1.) Den jeweiligen Anschluss bereitstellen
>2.) Das Signal auf einen gemeinsamen Standard bringen (bei Analog mit
>DA-Wandler)
>3.) Mixen und wieder ausgeben (Bei allen gleich)

>Was würde denn sowas pro Gerät in etwa kosten (ganz grob)?

Als entwickeltes Einzelstück ist sowas immer SEHR teuer. Selbst wenn die 
Bauteile preiswert siond, der AUFWAND ist GROß!

ICh tippe mal auf 500 Euro Material + WENIGSTENS 100h Arbeit, wenn du 
jemanden findest, der in der Materie SEHR fit ist. Je unfitter und umso 
mehr Einarbeitung nötig ist, steigt der Aufwand und die Zeit 
exponentiell.

von OAmp (Gast)


Lesenswert?

Hier wäre ein Lesetip : Introduction to Ipadudio

http://www.althosbooks.com/intoipau.html

Besonders gefällt mir dieses :

The loss of packets can result in the temporary muting of the audio 
signal. Because the data compression process represents sounds by 
different codes in a codebook, packet corruption results in the creation 
of a different altered sound than the sound that was previously 
transmitted. When there is significant data corruption, this can create 
unusual sounds (a "Warble" sound).

Das wäre für jemand der Experimente mit Synths oder Effecten macht eine
ungewöhnliche Methode, aber für saubere digitale Übertragung eher 
lästig.

Das Hauptproblem ist bei Audio digital in Reihe doch die 
Störanfälligkeit.
Wie Falk schrieb ist dann doch bei jedem Modul ein Stecker und ein
Digitalmodul mehr nötig.
Und eine dann jeweils von Modul zu Modul weitere (man will ja in einem
Mixer mixen) Logik und Regelmöflichkeiten.

von Philipp Schimmelfennig (Gast)


Lesenswert?

> Nö. bei 10 Eingängen und einem Ausgang braucht die Parallelvariante 11
> Stecker, 10 Einzelmodule aber 20! Der Digitalteil muss dann auch 10 mal
> vorhanden sein!

Naja ich hab halt "ein" Kabel. Das war die Idee.

> Als entwickeltes Einzelstück ist sowas immer SEHR teuer. Selbst wenn die
> Bauteile preiswert sind, der AUFWAND ist GROß!

> - Wie groß ist die Latenz eines solchen Mixers? Und wie viele schaltest
> du davon in Reihe?
Latenz: keine Ahnung. Ich hatte gehofft vernachlässigbar bei ca. 5 Stück

> - Wie groß sind die Wandlereffekte (Rauschen + Quantisierungsfehler) bei
> einer DA->AD-Wandlungsstufe? Und wie viele schaltest du davon in Reihe?

> - Wie synchronisierst du die verschiedenen (dezentralen) Mixerstufen?
> Oder hast du dann auch noch Jittereffekte, also Fehler durch zeitlichen
> Versatz?
Darüber hatte ich nicht nachgedacht

Vielleicht schalte ich ja einen Gang runter. Profi-Hifi wird das sowieso 
nicht im Eigenbau. Sagen wir 2 Kanäle über S/PDIF. Mehr geht laut 
Wikipedia sowieso nicht ohne Qualitätsverlust. Mehr brauch ich aber auch 
nicht.

Also brauch ich bei Stereo-analogem Eingangssignal einen AD-Wandler, bei 
Digitalem nicht. Die sollten doch von der Qualität keine Probleme 
machen, oder?

Dann hätte ich zwei mal S/PDIF zu kombinieren und habe ich dann das 
Problem mit der Synchronisation der Clocks der Mixer, wenn ich das 
richtig verstanden habe?!

Sehr viel simpler wäre eine analoge Leine an die alle Geräte mit 
Widerständen davor ihr analoges Signal reinhauen.

----------O-----------------O-----------------O------------- R
          |                 |                 |
---O------|----------O------|----------O------|------------- L
  _|_    _|_        _|_    _|_        _|_    _|_
 |   |  |   |      |   |  |   |      |   |  |   |
 |   |  |   |      |   |  |   |      |   |  |   |
 |   |  |   |      |   |  |   |      |   |  |   |
 |   |  |   |      |   |  |   |      |   |  |   |
 |_ _|  |_ _|      |_ _|  |_ _|      |_ _|  |_ _|
   |      |          |      |          |      |
   L      R          L      R          L      R

Das hab ich auf die schnelle mal mit drei Geräten ausprobiert. Läuft. 
Zur Qualität kann ich nichts sagen. Aber die Zeichnung stößt mir schon 
auf.
Will man das? Immerhin ist das Ziel möglichst wenig Pins zu belegen 
eingehalten.

Theoretisch könnte man das Signal ja immer wieder in ein Analoges 
umwandeln, dann jeweils alle Kanäle auf diese Art miteinander verbinden 
und  wieder digitalisieren. Weiterreichen an das nächste Gerät und 
wieder von vorne ...
        _____               _____
  =>   |      |-1-O---------|      |  =>
       |      |-2-|-O-------|      |
=======| D->A |-3-|-|-O-----| A->D |======
       |      |-4-|-|-|-O---|      |
       |______|-5-|-|-|-|-O-|______|
                  | | | | |
                  | | | | |
                  1 2 3 4 5 ...

Wie das dann klingen wird weiß ich nicht.

von Georg A. (georga)


Lesenswert?

> Dann hätte ich zwei mal S/PDIF zu kombinieren und habe ich dann das
> Problem mit der Synchronisation der Clocks der Mixer, wenn ich das
> richtig verstanden habe?!

Entweder (so machens die Profis) haben die (Profi)Geräte noch einen 
Eingang für einen Wordclock (=Sampleclock), auf den sie dann synchron 
ihr SPDIF ausgeben. Das macht die Mischung recht leicht. Zuerst 
SPDIF->I2S-Convert (zB. CS84xx), dann alles simpel in einem DSP 
verwursten.

Wenn es keinen gemeinsamen Wordclock gibt, sind die SPDIF-Signal 
zueinander asynchron. D.h. im Lauf der Zeit laufen die Sample-Clocks 
auseinander. Das kann man ignorieren, indem man einfach ab und zu ein 
Sample verdoppelt oder verwirft, allerdings ist das erstaunlicherweise 
schon recht deutlich hörbar. Taugt also nicht. Du musst resamplen, d.h. 
alles auf eine gemeinsame Zeitbasis interpolieren. Das ist nicht so 
wirklich trivial wenn's gut klingen soll. Das kann man auch im DSP 
machen. Ist aber schon trickreich, weil man den Clockversatz tracken 
muss, weil das wieder in den Filter des Interpolators miteingehen muss. 
Analog Devices hat für den Zweck spezielle Chips mit I2S-I2S-Interface 
(AD189x). Dann gehts wieder trivial mit einem DSP. Anders mischen wäre 
nicht wirklich einfacher (parallelisieren, multiplizieren, addieren geht 
nicht wirklich gut mit TTL-Kram, ein FPGA würde natürlich taugen).

> Sehr viel simpler wäre eine analoge Leine an die alle Geräte mit
> Widerständen davor ihr analoges Signal reinhauen.

Kann man machen, führt aber je nach Geräteausgängen zu gegenseitigen 
Beeinflussungen. Besser wäre es, das Ausgangssignal der Schaltung gleich 
an den invertierenden Eingang eines Opamps anzuschliessen. Der hält das 
dann auf virtueller Masse. So haben es früher die analogen Mischpulte 
gemacht.

von Philipp (Gast)


Lesenswert?

Ich denke, ich werde das erst einmal analog über getrennte Kanäle 
machen.
Aber wenn ich mal ganz viel Zeit übrig hab, widme ich mich nochmal der 
digitalen Variante.

Vielen Dank an euch alle für eure Hilfe :)

> Kann man machen, führt aber je nach Geräteausgängen zu gegenseitigen
> Beeinflussungen. Besser wäre es, das Ausgangssignal der Schaltung gleich
> an den invertierenden Eingang eines Opamps anzuschliessen. Der hält das
> dann auf virtueller Masse. So haben es früher die analogen Mischpulte
> gemacht.

Könnte mir das einer bitte nochmal genauer erklären?

von OAmp (Gast)


Angehängte Dateien:

Lesenswert?

Hier ein Beispiel aus einem recht einfachen Synth-Modul, welches
auch leicht als Audiomixer anzupassen ist.

Den Eingang 3 kann man weglassen und dafür Ua kopieren und die Ausgänge
an den zweiten Teil der Stufe senden.

Das wären je 4fach Opamp 8 Eingänge. In der zweiten Stufe einen NE5534 
statt
358 verwenden.
Und als Eingänge auch was anderes z.B. 074 etc.

Ist doch einfach, oder?

von ChuckNorris (Gast)


Lesenswert?

Ich möchte an dieser Stelle die Idee vom Threadersteller verteidigen. 
Sicher wird es einen Grund haben, warum die meisten bisher EIN Gerät 
bauen, mit 'N' Inputs. Aber Fortschritt geht nur, wenn man etwas anders 
macht als alle Anderen. Da hat der Ersteller offnebar eine Schwachstelle 
erkannt und sich ein Alternativsystem ausgedacht. Es hätte den Vorteil, 
dass das System von Größe und Kosten her skalierbar ist.
Ich finde die Transferleistung vom TE schon mal gut.
Je nach Fähigkeitstand des TE beschwöre ich hier das stmF4Discovery 
herauf. Da ist schon ein Codcec und Klinkenbuchsen drauf. Dazu verfügt 
der stmF4 über FPU und DSP. SampleCode gibt es auch und man hat mit dem 
Adapterboard schon ein handfreundliches Breakout in der Hand.
Nichts desto trotz ist die Idee nicht in einer Woche oder einem Monat 
umgesetzt. 10% Inspiration und 90% Transpiration.

von Falk B. (falk)


Lesenswert?

@ ChuckNorris (Gast)

>Sicher wird es einen Grund haben, warum die meisten bisher EIN Gerät
>bauen, mit 'N' Inputs.

Eben.

> Aber Fortschritt geht nur, wenn man etwas anders
>macht als alle Anderen.

Nö, wenn man analytisch beobachtet, denkt und logische Schlüsse zieht. 
Wo erfolgte das?

> Da hat der Ersteller offnebar eine Schwachstelle
>erkannt und sich ein Alternativsystem ausgedacht.

;-)
Die Schwachstelle liegt eher in deiner Argumentation. Er hat nur 
Tagträumerei betrieben, seine Begründung war dünn wie ein Blatt Papier.
Ausserdem fehlen ihm massiv Kenntnisse, sowohl was grundlegende Konzepte 
als auch Details angeht.

> Es hätte den Vorteil,
>dass das System von Größe und Kosten her skalierbar ist.

Eine reine Behauptung, die in keinster Weise begründet werden kann. VOn 
den anderen Problemen (Latenz, mehrfache Taktgrenzenübergänge etc.) mal 
ganz zu schweigen.

>Ich finde die Transferleistung vom TE schon mal gut.

Ich nicht.

>umgesetzt. 10% Inspiration und 90% Transpiration.

Das sind wir uns wieder einig ;-)

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.