Hallo, ich baue demnächst und werde natürlich auch Netzwerk verlegen. Das brachte mich auf die Idee, eine kleine Hardware und Software zu entwickeln (AVR bspw.), um Audio Streams von meinem PC zu aktiven Boxen zu transportieren. Ich möchte den ENC2860 nutzen, von dem hier schon einiges berichtet wurde. Habt ihr damit Erfahrung? Wie krieg ich die Musik vom PC ins Netzwerk? Danke für eure Antworten!
Vom PC ins Netzwerk ist kein Problem, dafür gibts Programme. Der VLC Media Player kann das Beispielsweise. Ich denke, was du bauen willst, ist eher ein kleines Gerät, das die Audiostreams übers Netzwerk dann wieder empfangen und an Lautsprechern ausgeben kann oder?
Das willst Du wahrscheinlich nicht hören, aber ... wäre da nicht ein Mini-ITX-Board die günstigere, einfacherere und schnellere Möglichkeit? So Aktivboxen mit eingebautem PC mit WLAN hätten schon was ...
Da gibts doch son Platinchen mit ARM, Linux, Ethernet und USB drauf, kostet um die 180 Steine, glaub ich (-> Conrad). Das verbauen, dann ne USB-Soundkarte dazu, fädisch. Hierson Dingen: http://www.dilnetpc.com/dnp0069.htm
Für 180 Euro kann man sich aber auch etwas fertiges kaufen. Ich schätze viel teurer werden die BARIX Sachen nicht sein: http://www.sphinxcomputer.de/barix/audio-over-ip/m51-g52.html Vielleicht gibt es auch eine LAN-Alternative zum Devolo dLAN Audio extender? Zum selber Basteln gibt es hier eine Projektübersicht: WebRadio Clients Dann muss man nur noch das Latenzproblem lösen...
Martin Pfeiffer wrote:
> gibt auch so nen würfel vom apple
Airport Express, hat auch WLAN und Digitalausgang. Aber die Latenz ist
beträchtlich, also nur für Musik geeignet.
Ich hab sowas mal gemacht - auf M16C und ENC Basis. Funktioniert zusammen mit einem virtuellen Audio Device Treiber unter Windows. Unter Windows lassen sich mehrere Instanzen des Treibers installieren, sodass man bspw. Winamp mehrmals starten kann und verschiedene Kanäle parallel streamen kann. Funktioniert dank des Pattern Match Filters im ENC total problemlos. An jedem Aktiv-Boxen Paar steht eine kleine Ethernet Box. Latenz ist (für meine Bedürfnisse) kein Problem - 2,5s Buffer scheinen mir ok Hardware kostet mich ca. 50€. Hauptkosten: Platinen, Stecker, M16C, SRAM, ENC, SP/DIF und Analog DA Wandler @Bayer: Ich kann dich also nur ermutigen - es geht.
Hi! Alex wrote: > Ich hab sowas mal gemacht - auf M16C und ENC Basis. Funktioniert > zusammen mit einem virtuellen Audio Device Treiber unter Windows. > Unter Windows lassen sich mehrere Instanzen des Treibers installieren, > sodass man bspw. Winamp mehrmals starten kann und verschiedene Kanäle Meinst Du evtl. "Virtual Audio Cable"? Oder hast Du selbst einen Treiber geschrieben? > parallel streamen kann. Funktioniert dank des Pattern Match Filters > im ENC total problemlos. An jedem Aktiv-Boxen Paar steht eine kleine > Ethernet Box. > Latenz ist (für meine Bedürfnisse) kein Problem - 2,5s Buffer scheinen > mir ok > Hardware kostet mich ca. 50€. Hauptkosten: Platinen, Stecker, M16C, > SRAM, ENC, SP/DIF und Analog DA Wandler > > @Bayer: Ich kann dich also nur ermutigen - es geht. Würdest Du Dein Projekt auch öffentlich vorstellen? Ich selbst habe mir mal eine einfache MP3 Streaming-Lösung über UDP gebaut. Auf der PC Seite habe ich ein WinAMP-Plugin geschrieben, das die rohen Audio-Daten an einen kleinen ebenfalls selbst geschriebenen Dienst weiterreicht (per TCP) und dort dann in Echtzeit in MP3 (per LAME.DLL) kodiert und dann per UDP ins Netz schickt. Empfangen wurde der UDP-MP3 Stream dann von diesem Player hier: http://www.kreapc.de/mp3_about.php.html Den hatte ich noch rumfliegen. Inspiriert wurde ich durch die MP3-Streaming Hardware aus der c't mittels des XPorts. Sollen es denn rohe Audio-Daten sein oder soll es komprimiert sein? Ich finde, schwierig und richtig interessant wird erst eine Multi-Room-Lösung. Da wird es dann aber schon recht kompliziert, um synchrones Abspielen in allen Räumen zu gewährleisten. Gruss, Christian
>Oder hast Du selbst einen Treiber geschrieben? ich kenne zwar Virtual Audio Cable, das ist aber nicht das gleiche. Ich hab selbst einen Treiber geschrieben. >richtig interessant wird erst eine Multi-Room-Lösung Wie gesagt, mehrere Streams parallel - in jedem Raum beliebig wählbar, das ist aus meiner Sicht "Multi Room" >Sollen es denn rohe Audio-Daten sein oder soll es komprimiert sein? PCM - kein Problem über normalse Netzwerk. Ein Vorteil der Windows Audio-Treiber Architektur. Wenn ich ein PCM Device im Sound System anmelde, bekomme ich im Treiber PCM angeliefert, egal, ob oben MP3 oder sonstwas reingesteckt wird. Das Signal muss dann nur noch "gestreamt" werden. >synchrones Abspielen in allen Räumen ich hab ne DA-Wandlung mit PLL Lösung gemacht und einen Algorithmus ausgeknobelt, der beim Zuschalten eines Lautsprechers die gesamte Gruppe synchronisiert. Beim Zuschalten ist also in der Gruppe ca. 2s Ruhe - und dann geht es synchron weiter. In 8 Stunden kontinierlichem Abspielen habe ich kein hörbares Echo feststellen können. >Würdest Du Dein Projekt auch öffentlich vorstellen? Hmm.. generell ja - allerdings würde ich mich in den Allerwertesten beißen, wenn jemand Geld damit macht. Ich weiß bisher nicht, wie ich das unterbinden könnte, deshalb hab ichs bisher nicht gemacht. Meine Lösung ist (soweit ich weiß) die einzige, die tatsächlich sample-synchron im Rahmen der PLL Genauigkeit streamen kann. Man könnte also auch Verzögerungen im Raster von n*5,1ms implementieren.
Alex wrote: > >>synchrones Abspielen in allen Räumen > ich hab ne DA-Wandlung mit PLL Lösung gemacht und einen Algorithmus > ausgeknobelt, der beim Zuschalten eines Lautsprechers die gesamte Gruppe > synchronisiert. Beim Zuschalten ist also in der Gruppe ca. 2s Ruhe - und > dann geht es synchron weiter. In 8 Stunden kontinierlichem Abspielen > habe ich kein hörbares Echo feststellen können. Sehr cool! Könntest Du denn ganz grob erklären, was Du mit "DA-Wandlung mit PLL-Lösung" meinst? Eine Art Software-PLL oder wie muss ich mir das vorstellen? >>Würdest Du Dein Projekt auch öffentlich vorstellen? > Hmm.. generell ja - allerdings würde ich mich in den Allerwertesten > beißen, wenn jemand Geld damit macht. Ich weiß bisher nicht, wie ich das > unterbinden könnte, deshalb hab ichs bisher nicht gemacht. Meine Lösung > ist (soweit ich weiß) die einzige, die tatsächlich sample-synchron im > Rahmen der PLL Genauigkeit streamen kann. Man könnte also auch > Verzögerungen im Raster von n*5,1ms implementieren. Okay, ich kann das verstehen. Es wäre aber trotzdem sehr schade, wenn es auf Dauer in Deiner Schreibtischschublade verschwindet. Generell entnehme ich aber Deiner Haltung eher, dass Du lieber Geld damit machen möchtest, als einfach nur die Freude daran zu haben, dass Du es konstruiert hast, oder? :-)
>Generell entnehme ich aber Deiner Haltung eher, dass Du lieber Geld damit >machen möchtest nein! privat, Hobby, Spass. Wie gesagt, wenn ich wüßte, wie ich machen kann, dass auch andere nix verdienen, würde ich veröffentlichen! _Vorschläge???_ >DA-Wandlung mit PLL-Lösung" Habe mir einen hochpräzisen PLL Baustein (PLL1706 oder so) besorgt, der den Grundtakt für den DA Wandler macht. Somit gibt es eine genaue Zeitbasis. Die ist in jedem Streaming Client verbaut. Dadurch arbeitet "jeder für sich" genau und über ein SW-Protokoll werden alle zueinander synchronisiert.
>Es gibt einige OpenSource Lizenzen
Wie geht das konkret? Schreibe ich einen Header in jede C Datei
Wie kann ich das bei der Hardware machen?
Das was Alex gemacht hat, scheint so ziemlich genau das zu sein, was ich brauche. @Alex: Gibts dazu auch eine Fernbedienung oder ähnlich? Kann man das nachbauen?
Alex wrote: >>Es gibt einige OpenSource Lizenzen > Wie geht das konkret? Schreibe ich einen Header in jede C Datei > Wie kann ich das bei der Hardware machen? Bei den Quelltexten auf jeden Fall. Das Urheberrecht bleibt ja bei Dir je nach Lizenz. Du könntest z.B. eine Creative Commons Lizenz nehmen, die kommerzielle Nutzung ausschliesst. Zur Hardware: Ein Copyright-Vermerk und der Hinweis, dass eine kommerzielle Nutzung nicht ohne Deine Zustimmung stattfinden darf, müsste doch genügen, oder? Evtl. hier auch eine Creative Commons Lizenz? Aber ich bin da sicherlich kein Experte. Was meinen denn die anderen dazu? Schau Dir doch mal private Projekte im Netz an, die eine private Nutzung erlauben, aber eine kommerzielle Nutzung verbieten. Was für Lizenzen benutzen die denn? Du kannst ja auch sowas wie Dual-Licensing machen. Einmal für die Community eine OpenSource-Lizenz und für die kommerzielle Nutzung Deine eigene Lizenz. Gruss, Christian
Alex wrote: >>DA-Wandlung mit PLL-Lösung" > Habe mir einen hochpräzisen PLL Baustein (PLL1706 oder so) besorgt, der > den Grundtakt für den DA Wandler macht. Somit gibt es eine genaue > Zeitbasis. Die ist in jedem Streaming Client verbaut. Dadurch arbeitet > "jeder für sich" genau und über ein SW-Protokoll werden alle zueinander > synchronisiert. Übermittelst Du mit den Audio-Samples noch eine Art Clock-Information, auf die Du die Clients dann immer wieder synchronisierst? Hintergrund der Frage: Muss es denn unbedingt eine PLL sein, oder nutzt Du nur die Tatsache, dass diese PLL hier sehr genau läuft und kaum driftet. Könnte es nicht sonst auch ein sehr genauer Oszillator sein?
>Übermittelst Du mit den Audio-Samples noch eine Art Clock-Information Nein, wenn ein Gerät beginnt, den Stream zu empfangen, dann liest es zunächst nur den aktuellen Framecount aus und sendet einen Sync Frame, in dem steht, dass "100 Frames später" alle neu anfangen sollen. Die die den Sync Frame empfangen haben dann genug Zeit, die aktuelle Übertragung zu unterbrechen, die Puffer Queue zu leeren usw. >oder nutzt Du nur die Tatsache, dass diese PLL hier sehr genau läuft und kaum >driftet wegen der geringen Drift, ja. Das Streaming selbst läuft dann in Echtzeit (I2S Datenstrom ist direkt an DMA gekoppelt. Die DMA kann direkt auf der Puffer-Queue arbeiten und hat somit immer Futter. Die PLL zusammen mit dem DMA Mechanismus scheint eine gute Kombination zu sein, was das synchrone abspielen angeht. Sollte mal ein Frame verloren gehen (kommt nahezu nicht vor in meinem LAN), wird ein Dummy eingefügt, um die Synchronizität nicht zu zerstören.
@Alex such mal nach "Creative common Lizenz" http://de.wikipedia.org/wiki/Creative_Commons http://de.creativecommons.org/was-ist-cc/
abo abo abo :-) sehr geil Wobei ich es noch net ganz gerafft habe.. Es soll ein Audio stream im Netzwerk zu Boxen in mehreren Räumen gestreamt werden. Mit PC als "Sender" und der Empfänger soll eine selbstgebaute Blackbox werden, aus der die Audiodaten auf die Boxen kommen? mfg
jo. Und das was Alex gemacht hat ist, mehrere Streams ins Netzwerk und in der "Blackbox" kannst du den gewünschten Stream auswählen. So habe ich es verstanden.
Aha, also der Output is die 'Netzwerkkarte mit "normalen" Protokoll UDP? verstehe langsam die Schwierigkeiten..werde hier mal mit lesen. danke
Hallo, anbei mal zwei Fotos von dem Ding. Hinter der Frontblende sitzt leider nur eine LED - blinken, Dauerlicht... Ich will demnächst noch ein kleines Display einbinden - falls jemand ein preiswertes Display weiß... (2-3 Zeilen, vorzugsweise SPI) An der Rückseite ist Line-Out, SP/DIF, Power und Ethernet zu sehen. An jedem Boxenpaar steht so ein Ding, habe derzeit 4 Stück in Betrieb. Gehäuse ist von Conrad.
hier das zweite. Als Frontplatte kann man quasi einbauen, was man will, muss nur durchsichtig sein wegen LED und Fernbedienung (RC5). Hab mal aus Spass was zurechtgeschnitzt...
Hi, sorry für den dreifach Post - will mich wirklich nicht wichtig machen oder so, wollte aber doch noch auf die letzten Fragen antworten... >Aha, also der Output is die 'Netzwerkkarte mit "normalen" Protokoll UDP? Ja, in UDP ist natürlich noch ein (eigenes) Streaming Protokoll eingebaut. Flow Control, Sync Frames falls sich einer zuschaltet, Feedback des Fernbedienungssignals an den PC (Fast forward, rewind, next, Pause, Play, etc...). >Und das was Alex gemacht hat ist, mehrere Streams ins Netzwerk und in >der "Blackbox" kannst du den gewünschten Stream auswählen. So habe ich >es verstanden. ja, ja, richtig
Tolles Projekt, jetzt meine Frage: 1. Warum werden die Streams nicht übers Stromnetz übertragen (Powerline-LAN), dann spar ich mir die Netztwerleitung und kann es überall im Haus oder Garten nutzen.
Hallo Alex, veröffentlichst Du zu Deinem Projekt noch etwas oder planst Du einen kommerziellen Weg? Gruß Christian
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.