Forum: Mikrocontroller und Digitale Elektronik Stereo Sound per Hardware auf 5.1 hochmischen


von Lukas A. (deathhmaster8)


Lesenswert?

Hallo erstmal,

ich habe vor, mir ein kleines Kästchen zu bauen (bzw. aus Aluminium zu 
fräsen...) welches die oben genannte Funktion erfüllt. Da habe ich mich 
halt gefragt ob man so was nicht mit einem Mikrocontroller einfach (und 
rauscharm .. ) realisieren könnte. Könnte mir jemand einen empfehlen, 
mit welchem sich dies gut realisieren lässt ?

Also ich stell mir das so vor:

Eingangssignal durch ADC

FrontLeft=EingangLeft
FrontRight=EingangRight
Center = EingangLeft+EingangRight
Sub = EingangLeft+EingangRight (villeicht auch nur die Frequenzen unter 
130 Hz falls möglich sonst auch egal der Sub macht das mit :P )
RearLeft = EingangLeft-EingangRight
RearRight = EingangRight-EingangLeft

Die einzelnen Kanäle dann jeweils durch einen DAC auf die Ausgänge.

Das ganze wäre natürlich noch besser wenn ich mehrere Eingänge hätte und 
mittels Taster wechseln könnte. Ein 5.1 Eingang zum durchschleifen 
sollte auch dabei sein. D.h. im Klartext: 6 Kanäle Ausgang, 10-12 
(6+2+2(+2)) Eingänge. Mir wäre mit einer Box mit 2 Eingängen 6 Ausgängen 
aber auch schon enorm geholfen.

Wäre dies so realisierbar oder stell ich mir das zu einfach vor?

Brauche ich dann für alle Kanäle nur einen DAC oder pro Kanal einen bzw. 
einen Multichannel DAC ? (gleiche Frage beim Eingang ..)

Muss ich mir extra rauscharme ADCs und DACs kaufen und vor/hinter die 
I/O Ports des Mikrocontrollers hängen?

Brauche ich Vorwiderstände, Spannungsbegrenzer o.Ä. oder kann ich das 
Signal der Audioquelle direkt auf den Controller/ADC geben?

von David .. (volatile)


Lesenswert?

o0 Vergiss es, wenn du diese Fragen stellst wirst du viele Monate 
brauchen, bis du fertig bist.
Ein AVR reicht dafuer nicht, das braucht schon einen ARM oder DSP.

von Löwe (Gast)


Lesenswert?

Hört sich so an, als wolltest du das alles viel zu kompliziert machen ;)

Da du keine Verzögerung oder sonstige Klangbearbeitung machen willst, 
lässt sich das alles analog erledigen.

Stereo auf Mono runtermischen geht im einfachsten Fall mit zwei 
Widerständen.
Eine Frequenzweiche lässt sich mit einem Operationsverstärker aufbauen, 
zwei Signale sollten sich auch mittels OPV voneinander abziehen lassen.

Für die Eingangs-Umschaltung gibt es spezielle ICs, oder mehrpolige 
Schalter.

von Lukas A. (deathhmaster8)


Lesenswert?

@David: macht ja nix wie lange ich dafür brauche, hab ja Zeit ;)

@Löwe: hmm dadran hatte ich auch schon gedacht aber irgendwie dachte ich 
das würde so einfacher gehen da ich Programmiertechnisch sehr begabt bin 
xD

nochmal @David Erkläre mir mal näher bitte ... hab ja außerdem noch mein 
Elekrotechnik- und Programmierlehrer zum nachfragen. Auf jeden fall 
bräuchte ich Hilfe bei der Auswahl der Komponenten da ich da eigentlich 
total noob bin.
Das Programmieren später läuft schon.

PS: ich geh jetzt mal schlafen, hab mir lange genug Datenblätter um die 
Ohren gehaun und muss morgen um 6 Uhr aufstehen oO

von David .. (volatile)


Lesenswert?

Lukas Alt schrieb:

> nochmal @David Erkläre mir mal näher bitte ... hab ja außerdem noch mein
> Elekrotechnik- und Programmierlehrer zum nachfragen. Auf jeden fall
> bräuchte ich Hilfe bei der Auswahl der Komponenten da ich da eigentlich
> total noob bin.
> Das Programmieren später läuft schon.

Die Lehrer kannst du vergessen, ich glaube kaum dass die genauer wissen, 
wie du ADCs und DACs mit ihren Bussystemen wie SPI mit einem ARM 
verknoedelst.
Zeit ist schoen, aber ueberleg mal: Du musst erstmal verstehen, was fuer 
Komponenten es gibt und wie sie funktionieren, dann kannst du zueinander 
passende aussuchen, brauchst noch den ARM/DSP usw. Jetzt ist das aber 
noch nicht auf Platine, also musst du mal schnell lernen wie man 
Platinen entwickelt, aber dann direkt mit SMD und Bausteinen mit schnell 
ueber hundert Pins auf kleinster Flaeche. Dann laesst du die Platine 
fertigen fuer mehr Geld als ein gebrauchtes Netbook und ein paar 
USB-Soundkarten kosten, musst das alles fehlerfrei loeten und kannst 
dann endlich anfangen zu programmieren, WENN du nirgends einen Fehler 
gemacht hast.
Und weil die ganzen Sachen ja so leicht waren kannst du jetzt als 
Erstlingswerk deine Soundmixerei machen. Oder du setzt auf ne 
Linuxumgebung, musst also mal eben embedded Linux von der Pike auf 
lernen.
Selbst mit genug Zeit und Frustrationstoleranz wird das nichts, denn 
niemand kann jeden dieser Schritte fehlerfrei in dieser Komplexitaet 
beim ersten Mal. Selbst Profis schaffen das nicht.
Vieles kann man eben nicht durch lesen lernen...

von Lukas A. (deathhmaster8)


Lesenswert?

woot? Seit wann muss man nen ADC/DAC per Bussystem anbinden !?
Reicht doch wenn man da die Standard digitalen I/O ports dranhängt.
2 pro Kanal soweit ich weiss.

Platinen entwerfen & löten hab ich schon gelernt, außerdem ist mein 
Vater Elektrotechniker. Wozu sollte ich überhaupt nen chip mit über 100 
pins brauchen ? 18*2 macht 36 für die Audiokanäle + 4 für strom + 2 für 
usb + 4 für seriell + 2 für taster + ~ 20 für den crap der immer dran 
ist und ich aber nicht benutze.
Macht zusammen 68 Pins. Sowas gibts glaub ich nich also nehmen wa 80 
wovon ich dann 32 nicht benutze. Sollte eigentlich möglich sein die 
Leiterbahnen dazu auf 2 Layern unterzubringen bei vernünftiger 
positionierung. SMD muss es ja auch nicht unbedingt sein, 80 pin chips 
gibts noch als normale auflöt/steck chips.
Einziges problem wäre, dass die CPU nich mim rechnen hinterherkommt 
(möglicherweise) um das in echtzeit zu berechnen.

Naja ich hab jemanden gefunden der täglich mit sowas arbeitet und werd 
mir von dem mal n bissl was erklären lassen. Thx nochmal

von Lukas K. (carrotindustries)


Lesenswert?

Lukas Alt schrieb:
> FrontLeft=EingangLeft
> FrontRight=EingangRight
> Center = EingangLeft+EingangRight
> Sub = EingangLeft+EingangRight (villeicht auch nur die Frequenzen unter
> 130 Hz falls möglich sonst auch egal der Sub macht das mit :P )
> RearLeft = EingangLeft-EingangRight
> RearRight = EingangRight-EingangLeft


Seid ihr alle µC- DSP- und Digitaltechnikgeschädigt? Für so etwas nimmt 
man Opamps. Da reicht Wikipedia und das Wiki hier und ein wenig Mathe 
doch vollkommen aus. Die Umschaltung kann man über Relais und 
Analogschalter machen.

von Sam .. (sam1994)


Lesenswert?

Luk4s K. schrieb:
> Seid ihr alle µC- DSP- und Digitaltechnikgeschädigt?

Nein, aber Digitaltechnik hat halt seine Vorteile.

von Robert (Gast)


Lesenswert?

Samuel K. schrieb:
> Nein, aber Digitaltechnik hat halt seine Vorteile.

Analogtechnik definitiv aber auch!!

Es kommt halt immer auf den richtigen Einsatzzweck an....

von Sam .. (sam1994)


Lesenswert?

Lukas Alt schrieb:
> woot? Seit wann muss man nen ADC/DAC per Bussystem anbinden !?
> Reicht doch wenn man da die Standard digitalen I/O ports dranhängt.
> 2 pro Kanal soweit ich weiss.

Vielleicht weil der ADC eines Arms zu langsam ist? Rechne das dir mal 
durch! Außer du nimmst einen DSP, aber da kenn ich mich überhaupt nicht 
aus.

> Platinen entwerfen & löten hab ich schon gelernt, außerdem ist mein
> Vater Elektrotechniker.

Ich hoffe er kennt sich auch auf dem Gebiet Mikrocontroller aus, sonst 
kann er dir fast nicht helfen.
Achja Platinen entwerfen ist nicht so einfach wie du denkst. Da brauchst 
du ein ordentliches Hintergrundwissen über den IC den du benutzt.

> Wozu sollte ich überhaupt nen chip mit über 100
> pins brauchen ?

Die "kleineren" ICs sind zu langsam. Rechne dir mal durch: Du hast 2 
Eingänge mit 48kHz mit 16bit. Dann hast du ca. 200KB oder 1.6Mbit 
Datendurchsatz allein für den ADC! Bei einem kleinen Atmega kommst du da 
auf 10Takte um ein Sample zu bearbeiten.

Um eine Audiosignal zu trennen bräuchtest du wahrscheinlich eine FFT. 
Das macht man auch nicht in 2 Takten.

> 18*2 macht 36 für die Audiokanäle + 4 für strom + 2 für
> usb + 4 für seriell + 2 für taster + ~ 20 für den crap der immer dran
> ist und ich aber nicht benutze.
> Macht zusammen 68 Pins. Sowas gibts glaub ich nich also nehmen wa 80
> wovon ich dann 32 nicht benutze. Sollte eigentlich möglich sein die
> Leiterbahnen dazu auf 2 Layern unterzubringen bei vernünftiger
> positionierung. SMD muss es ja auch nicht unbedingt sein, 80 pin chips
> gibts noch als normale auflöt/steck chips.
> Einziges problem wäre, dass die CPU nich mim rechnen hinterherkommt
> (möglicherweise) um das in echtzeit zu berechnen.

Ja das ist das Problem. Und die größeren Chips gibts nur in SMD oder mit 
Adapter.
Kannst ja mal bei einem Hersteller anfragen ob er dir die 68pin Version 
herstellt.

> Naja ich hab jemanden gefunden der täglich mit sowas arbeitet und werd
> mir von dem mal n bissl was erklären lassen. Thx nochmal

Bitte, aber ich glaube das ist ein bisschen zu viel für dich. Mach das 
lieber analog. Vorteil vom Digitalen wäre z.b. eine Aufnahmefunktion, 
Spektrumanalyser, Equ, Effekte wie z.b. Echo...

Hast du mal eine LED mit einem Atmega blinken lassen? Wenn nein, mach 
das mal, es wäre der Anfang zu deinem Projekt wenn du es wirklich so 
machen willst.

PS: Ich war auch mal so übermütig, jeder stellt es sich mal extrem 
einfach vor. Damals wusste ich sehr viel über die Theorie, aber an der 
Praxis scheiterte es dann am Ende.

Robert schrieb:
> Analogtechnik definitiv aber auch!!
>
> Es kommt halt immer auf den richtigen Einsatzzweck an....

Gut listen wir mal Vorteile und Nachteile auf:

Analog
+ (fast) unbegrenzt hohe Frequenzen
+ z. T. einfachere Schaltungen

- Alterung -> Ungenauigkeit
- Stromfressend
- Effekte nur in Schaltung machbar

Digital
+ Altert nicht
+ Einfach Effekt- und Analysefunktionen integrierbar
+ Digitalaufnahmen sind haltbarer
+ Stromsparend
+ neue Effekte/Funktionen durch Firmwareupdate
- Begrenzte Abtastrate
- Begrenzete Qualität

Wer will setzt fort...

von Lukas K. (carrotindustries)


Lesenswert?

Samuel K. schrieb:
> Luk4s K. schrieb:
>> Seid ihr alle µC- DSP- und Digitaltechnikgeschädigt?
>
> Nein, aber Digitaltechnik hat halt seine Vorteile.

Stimmt, aber um analoge Signal zu behandlen bietet sich nunmal 
analogtechnik an, sofern die Operationen nicht allzu komplex sind, was 
ja der Fall ist. Aufwendigeres (FX, Spekki, EQ, etc.) realisiert man 
wirklich lieber digital, denn der Aufwand so etwas analog zu realisieren 
übersteigt den einer digitalen Lösung deutlich. BWLer würden dafür jetzt 
ein Break-Even-Diagramm malen...

von Sam .. (sam1994)


Lesenswert?

Luk4s K. schrieb:
> Stimmt, aber um analoge Signal zu behandlen bietet sich nunmal
> analogtechnik an, sofern die Operationen nicht allzu komplex sind, was
> ja der Fall ist. Aufwendigeres (FX, Spekki, EQ, etc.) realisiert man
> wirklich lieber digital, denn der Aufwand so etwas analog zu realisieren
> übersteigt den einer digitalen Lösung deutlich. BWLer würden dafür jetzt
> ein Break-Even-Diagramm malen...

Der TE wollte es halt Digital machen. Ich selbst glaube das es hier 
Analog einfacher machbar ist und das der TE noch nicht weit genug ist, 
um das hier digital zu schaffen.

von Lukas K. (carrotindustries)


Lesenswert?

Samuel K. schrieb:
> Luk4s K. schrieb:
>> Stimmt, aber um analoge Signal zu behandlen bietet sich nunmal
>> analogtechnik an, sofern die Operationen nicht allzu komplex sind, was
>> ja der Fall ist. Aufwendigeres (FX, Spekki, EQ, etc.) realisiert man
>> wirklich lieber digital, denn der Aufwand so etwas analog zu realisieren
>> übersteigt den einer digitalen Lösung deutlich. BWLer würden dafür jetzt
>> ein Break-Even-Diagramm malen...
>
> Der TE wollte es halt Digital machen. Ich selbst glaube das es hier
> Analog einfacher machbar ist und das der TE noch nicht weit genug ist,
> um das hier digital zu schaffen.

Wir sind hier kein Wunschkonzert, wir wollen dem TE nur die für ihm am 
einfachsten umsetzbare Lösung aufzeigen. Und die ist analog. Digital 
steuern kann er das ja immer noch.

von Andreas G. (beastyk)


Lesenswert?

Moin Leute,

mir fällt da spontan der TDA2040 und TDA2030A(V) ein.
8x TDA2040 und 2x TDA2030A für zusammen ca. 10 Euronen.
Mit den Teilen allein ist es aber nicht getan und digitalisiert hat man 
damit auch nichts.
Aber ein guter Anfang von einem Stereokanal auf 5.1 zu kommen...

Sicher werde ich kritisiert wegen den TDA und auch weil da nix 
digitalisiert ist, aber da steh ich dann mal drüber.

gruß
Andi

von Lukas K. (carrotindustries)


Lesenswert?

Andreas G. schrieb:
> Moin Leute,
>
> mir fällt da spontan der TDA2040 und TDA2030A(V) ein.
> 8x TDA2040 und 2x TDA2030A für zusammen ca. 10 Euronen.
> Mit den Teilen allein ist es aber nicht getan und digitalisiert hat man
> damit auch nichts.
> Aber ein guter Anfang von einem Stereokanal auf 5.1 zu kommen...
>
> Sicher werde ich kritisiert wegen den TDA und auch weil da nix
> digitalisiert ist, aber da steh ich dann mal drüber.
>
> gruß
> Andi

Mir scheint es so, als habe der TE schon sein 5.1 System. Ihm geht es 
primär um das Aufpusten von Stereo auf 5.1.

von Andreas G. (beastyk)


Lesenswert?

Warum will er denn...hääää?
Also entweder hat er 5.1 und will es digitalisieren oder aber er hat 
Stereo und will ein 5.1.
Seh ich da jetzt alles falsch?
Mir war ja klar das ich nichts zum digitalisieren beitrag...also wenn er 
schon 5.1 hat dann brauch er die TDAs ja nicht ;o)

von Lukas K. (carrotindustries)


Lesenswert?

Andreas G. schrieb:
> Warum will er denn...hääää?
> Also entweder hat er 5.1 und will es digitalisieren oder aber er hat
> Stereo und will ein 5.1.
> Seh ich da jetzt alles falsch?
> Mir war ja klar das ich nichts zum digitalisieren beitrag...also wenn er
> schon 5.1 hat dann brauch er die TDAs ja nicht ;o)

Er hat mehrere Stereoquellen und eine 5.1 Quelle. Entweder soll Stereo 
auf 5.1 Aufgepustet werden oder 5.1 wird durchgeschleift. Da 
Digitaltechnik und DSPs ach so in und hip sind, dachte sich der TE sein 
Problem digital zu lösen. Dies ist aber bei seiner Anwendung ein 
vollkommener Overkill. Ein paar Relais/Analogschalter und ein paar 
Opamps tun es genauso. Wenn er unbedingt einen µC drin haben will, dann 
kann dieser immer noch mit den Relais klappern um die Eingange 
umzuschalten.

von Andreas G. (beastyk)


Lesenswert?

Ah, jetzt versteh ich das!
Dann hast du ihm eigentlich mit analog den richtigen Weg gewiesen.

von Valentin B. (nitnelav) Benutzerseite


Lesenswert?

Es ist eigentlich auch vom Ansatz her Schwachsinn!
Lest mal seine Worte:
RearLeft = EingangLeft-EingangRight
RearRight = EingangRight-EingangLeft

???


5.1 soll Raumklang erzeugen!
Da braucht man auch vorne und hinten.
Theoretisch könnte man das trigonometrisch über die Signalstärke und die 
Richtung machen (Also dann polarkoordinatenbasiert), aber dann geht man 
davon aus dass alle Signale gleich laut sind.

Richtige Konverter machen das mit einer Matrix.
Diese kann mit Dateien von Bands, Spielen, Filmen, ... geladen werden,
sodass echter Raumklang entsteht.

In der Matrix verzeichnet sind übrigens nicht nur die Signalstärke, ein 
System sieht wie folgt aus (Beispiel Band-Schlagzeug):
0. ADC (Wenn nicht digitaler Eingang)
1. FFT und Schlagzeug in dem ganzen Mischmasch finden
2. Lookup-Table benutzen, um die Position des Schalgzeugs festzustellen
3. Über Polarkoordinaten die Lautstärke errechnen
4. Nichtlinearitäten des Abstands der Lautsprecher in die Rechnung mit 
einbeziehen (selten, aber gut!)
5. Signal mit den anderen auf diesem Lautsprecher abgespielten Signalen 
mischen
6. DAC
7. Verstärkung
8. Ausgeben

Wenn man sich das mal vor Augen führen möchte:
FÜR JEDE SIGNALQUELLE EINZELN!
GLEICHZEITIG!

Da reicht leider kein ATMega mehr, da mus mindestens ein Propeller her.

In einem System, in das ich reingeguckt habe waren fünf Chips verbaut:
1. Ein Steuerprozessor, der die Matrix und das USB verwaltet (ARM 0).
2. Ein ziemlich großer RAM, in dem die Matrix gespeichert wird 
(Cypress?)
3. Ein DSP. Ohne ADC, aber mit einer Art SPI.
4. Ein ADC, 24-bit
5. Ein MSP430 für die LEDs

Das ganze war - zugegebenermaßen - eine High-End-Anlage.

Trotzdem demonstriert es DEUTLICH, was eine Umsetzung von Stereo zu 5.1 
braucht.

Das Board sah komischerweise auch nicht nach selbstgeätzt aus...

Mit freundlichen Grüßen,
Valentin Buck

von Lukas A. (deathhmaster8)


Lesenswert?

Wisst ihr was ....

ich werd mir das ganze einfach Analog mit OPAmps aufbaun wie Löwe im 
3ten Post schon gesagt hat. (das kann ich wenigstens auf anhieb)

@Valentin Buck
War mir schon klar, dass da kein WIRKLICHER 5.1 sound draus wird, ich 
wollte nur realisieren dass
1. aus allen boxen meines Systems was kommt und der abgespielte 
Frequenzbereich nich bei 120-130Hz aufhört (die ja der sub wiedergibt)
2. die rechten und linken kanäle nicht einfach nach hinten dupliziert 
werden weil sich das kacke anhört, daher nur die Differenz der beiden 
frontkanäle wodurch ein annähernd räumlicher Klang entstehen soll (macht 
mein Mediaplayer vom PC auch so, hört sich allemal besser an als 
dupliziert oder dieser Dolby Pro Logic kack)
3. Wollte ich mir ja kein high-end soundsystem selberbasteln.


Wenn man irgendwo den Chip bekommen würde der auf den billig-Realtek und 
C-Media Soundkarten ist (also unter 10€, wo nix anderes als der Chip 
drauf is)
und deren Beschaltungsplan wäre das ganze ne sache von maximal 2-3 tagen 
(mit Platinendesign & co).
Nur leider gibts sowas nirgends (jedenfalls hab ich nix gefunden).
Also wirds jetz mit OPAmps, ner Frequenzweiche und nem Mehrfachschalter 
Analog aufgebaut un feddich is.

Und nein, ich hab keine 200€ für nen Surround-receiver übrig !!

MfG, Lukas Alt

</closed>

von Simon K. (simon) Benutzerseite


Lesenswert?

Eigentlich gibt es keine Umsetzung von Stereo auf 5.1. Es gibt nur eine 
5.1. Emulation, die mit Stereo-Eingang funktioniert. Aber da 
funktioniert sicherlich jedes System anders und unterschiedlich gut.

Ein Patentrezept (wie z.B. bei Wandlung Stereo->Mono) gibts da nicht.

von Lukas K. (carrotindustries)


Lesenswert?

Lukas Alt schrieb:
> Nur leider gibts sowas nirgends (jedenfalls hab ich nix gefunden).

Mit nur einem an sich dummen Audiocodec hast du gerade mal den ADC 
erschlagen. Die ganze Signalverarbeitung musst du einem DSP beibringen. 
Da ist die analoge Lösung deutlich einfacher, wie du erkannt hast.

von Christian H. (netzwanze) Benutzerseite


Lesenswert?

Simon K. schrieb:
> Eigentlich gibt es keine Umsetzung von Stereo auf 5.1. Es gibt nur eine
> 5.1. Emulation, die mit Stereo-Eingang funktioniert. Aber da
> funktioniert sicherlich jedes System anders und unterschiedlich gut.

Elektor hatte mal in den 80ern (?) eine Schaltung für Pseudo-Quattro mit 
Center (damals kannte man noch kein 5.1), die das ganze in Analogtechnik 
machte. Die haben für die Rückwärtskanäle einiges zusammengemischt und 
wieder differenzen gebildet.

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.