Ideen - Werkstatt - Projekte - Basteln - Hausbau | ||
Überblick Impressum Hardware Mainboard Gehäuse Kühlung Tasten Scrollrad Festplatte Display (LCD) TFT Touchscreen Fernbedienung Bastelkiste (zu verkaufen) Software Linux Ohne Festplatte Bedienung mittels Webbrowser Software Download Linux Howtos Ohne Festplatte Kernel kompilieren Tagebuch Newsletter Kontakt Links Andere Basteleien Disclaimer Impressum |
Bau eines MP3-Players mit Grafik-LCDAktuellesHier beschreibe ich den Fortschritt meines neuen Projektes, ein MP3-Player auf Basis des Mini-ITX Boards VIA EPIA ME6000. Die anderen Seiten dieser Homepage beschreiben meinen alten Player auf Basis eines AT Mainboards. Bitte nicht verwechseln :-)Der besseren Lesbarkeit wegen stehen die neuesten Information ganz unten. 3.10.2003 Pläne für einen neuen Player auf der Basis eines VIA EPIA Mainboards sind neu erwacht... 19.10.2003 Habe ein VIA EPIA ME6000 bestellt. Trotz fehlender Informationen auf der Alternate Webseite soll dieses Board einen S/PDIF Ausgang haben. Auf ihm (und auf der Lüfter-losen CPU des EPIA Boards natürlich) ruhen all meine Pläne. Davon habe ich inzwischen auch genug, z.B. die S/PDIF Schnittstelle auch für AC3-Streams zu nutzen, das LCD mittels USB an den Rechner anzuschliessen, ein modulares Software-Konzept auf die Beine zu stellen und noch einige andere Dinge, denen man evtl. das Prädikat "abgefahren" verleihen könnte. Doch darüber möchte ich mich jetzt noch nicht auslassen :-) 27.10.2003 c't 22/2003 gelesen, S. 232: Multimedia-Architektur NMM Das modulare Software Konzept gibt es also schon: www.networkmultimedia.org! Interessant, aber vielleicht ein bisschen zu groß für einen einfachen Mp3-Player. Vor allem wenn es eine graphische Benutzeroberfläche vorraussetzt. Außerdem: Das VIA ME-6000 Board ist da! Leider muss ich noch auf das Netzteil warten... 1.11.2003 Das Netzteil ist angekommen. Das Basteln kann beginnen! Meine jetzige Konfiguration: VIA EPIA ME6000 mit 256MB RAM Festplatte Western Digital WD400EB 300 Watt Netzteil mit geregeltem Lüfter Betriebsystem: Suse Linux 8.1 Bild 1: Mein fliegender Aufbau (56kB) Bild 2: Das VIA Board im Detail (Achtung: 1.1MB) Am Anfang bin ich etwas ins Schwitzen geraten, da sich Linux nicht installieren lassen wollte. Im Netz fand ich dazu die Aussage, dass die VIA Prozessoren nicht 100% Intel kompatibel sind und man daher einen 486er Kernel braucht, den aber Suse bei den neueren Versionen nicht mehr mitliefert. Dies trifft auf das ME6000 jedoch nicht zu! Das Problem war lediglich ein defekter Arbeitsspeicher. Um es noch einmal deutlich zu sagen: Suse 8.1 lässt sich problemlos auf dem ME6000 installieren (Suse 8.2 soll dagegen tatsächlich Probleme bereiten). Mein erster Eindruck: Schön leise (klar, ohne CPU Lüfter!) aber auch recht langsam. Für die tägliche Arbeit würde ich doch einen schnelleren Rechner vorziehen, aber zum dekodieren von MP3s ist genügend Power da. Mein zweiter Eindruck: Die Kühlkörper auf dem Mainboard werden heiss, auch wenn das System nicht ausgelastet ist. Außerdem: Die neue WD Festplatte ist (für einen MP3-Player) zu laut. Ich hatte sie bei Alternate ausgesucht, dabei schon auf den Geräuschpegel geachtet, aber keine großen Recherchen angestellt. Ich dachte inzwischen seien die Festplatten ohnehin alle leise genug. Was für ein Irrtum! Nach 12 Stunden surfen und ausprobieren läuft inzwischen auch der SPDIF Ausgang. Ich benutze den VIAAUDIOCOMBO Treiber (Achtung, veraltet! Siehe weitere unten!). Was ich jedoch nur im Quellcode des Treibers gefunden habe: Um den SPDIF Ausgang zu aktivieren, benötigt der Treiber in modules.conf die Option spdif_out=1. 2.11.2003 Habe wegen meinem Festplattenheuler etwas recherchiert:
6.11.2003 Frust! Der S/PDIF Ausgang des ME6000 hat einen entscheidenden Schönheitsfehler: Er klingt wesentlich schlechter als mein guter alter PUMP mit analogem Ausgang! Die Ursache ist wohl folgende: PCM Ströme, wie sie zum Beispiel beim Abspielen von MP3s enstehen, können von dem VT1616 Audiochip nur mit einer Frequenz von 48 kHz ausgegeben werden. Die allermeisten MP3s sind jedoch mit 44.1 kHz kodiert worden, so dass eine Konvertierung der Sampling-Rate von 44.1 kHz auf 48 kHz notwendig ist. Und das hört man. Vor allem das Piano bei Spencer Brewer's "Child's Play" ist eine echte Zumutung für meine Ohren. Mein Rat: Kauft das ME6000 NICHT wegen seinem S/PDIF Ausgang! Ich werde mich also nach einem anderen S/PDIF Ausgang umsehen müssen. Meine Soundblaster LivePlayer! klingt wesentlich besser. Allerdings möchte ich nicht das kleine VIA Board mit einer riesigen Soundkarte verbauen. Halte Ausschau nach einer S/PDIF Minimallösung, z.B. auf einer kleinen PCI Karte oder als USB->S/PDIF Konverter. 9.11.2003 Habe die Klangqualität weiter untersucht: Die Soundblaster LivePlayer! spielt auch nur mit 48 kHz. Anscheinend funktioniert die Konversion von 44.1 kHz auf 48 kHz hier aber besser. Daraufhin habe ich den Via-Sound Treiber durch den Alsa-Treiber ersetzt (eine Anleitung dazu habe ich auf der sehr informativen Webseite von Hubert Högl gefunden). Und siehe, die Klangqualität ist tatsächlich besser geworden! Damit kann ich vorerst einmal leben. Außerdem habe ich das Abspielen von Ac3 Dateien getestet (Das Ac3-Format wird auf den meisten DVDs benutzt. Es ist für mich interessant weil es 5.1 Dolby Surround Sound enthalten kann.) Dazu habe ich Ac3play verwendet. Fazit: Funktioniert einwandfrei. Nachtrag zum Thema DMA: Der Linux Kernel von Suse 8.1 erkennt die Southbridge VT8235 des ME6000 nicht und verhindert den Betrieb der Festplatte im DMA Modus. Die Nutzung von DMA ist jedoch auch zum Dekodieren von MP3s unbedingt zu empfehlen, vor allem wenn noch andere Prozesse laufen. Dazu musste ich zwei Kernel-Dateien patchen und den Kernel neu compilieren. Zum Thema Kernel Kompilieren gibt es jede Menge Howtos, z.B. dieses. Danach lässt sich der DMA Modus mit dem Tool hdparm einschalten. 17.11.2003 Auf der Suche nach einer Non-08/15 Benutzerschnittstelle habe ich mir einige Gedanken über (elektrische) Berührungssensoren gemacht. Vorteile: Klein, extrem niedrige Bauhöhe, keine beweglichen Teile Nachteile: Schlechte Haptik, Zuverlässigkeit noch unbekannt. Inzwischen habe ich auch schon einen Prototyp gebaut. Weitere Informationen darüber habe ich auf diese Seite ausgelagert. Dezember 2003 Die Idee mit den elektrischen Berührungssensoren habe ich gecancelt. Zuverlässige Berührungssensoren muss man kapazitiv aufbauen. Dazu gibt es im Prinzip ganz nette Chips der Baureihe qt110 von Quantum. Leider konnte ich als Privatperson bisher keines dieser Bauteile ergattern. Außerdem kommen mir im Dezember ein paar andere Dinge "dazwischen" (ein Haus, ein Kind und eine Promotion), so dass das Projekt erstmal im hintersten Winkel eines Schranks verschwindet. Januar 2005 Der Stress lässt nach, weiter geht's mit dem MP3-Player. Da mir aber aus bereits genannten Gründen :-) nun nicht mehr unbegrenzt Zeit zur Verfügung steht, muss ich wohl so langsam Nägel mit Köpfen machen:
7. Februar 2005 Version -1.0 des Players läuft schonmal: Unter dem Display ist Platz für 16 Tasten vorgesehen (0-9 mit alpha-numerischer Doppelbelegung, Vor, Zurück, Select/Menu/Play, Cancel/Pause, Power). Diese Tastenkonfiguration hat sich aus den praktischen Erfahrungen mit meinem alten Player ergeben. Die 10 Tasten für die alpha-numerische Menüauswahl hatte ich zunächst in einer Reihe angeordnet. Es zeigte sich aber, dass dies einer flüssigen Bedienung entgegenwirkt, da das 'blinde' Auffinden einer Taste, also die Bedienung ohne Tastensuche, erschwert wird. Inzwischen habe ich daraus zwei Zeilen mit je 5 Tasten gemacht. Rechts des Displays ist Raum für ein Scroll-Rad, welches aus Platzgründen um 90 Grad gedreht eingebaut wird, so dass die Drehachse von links nach rechts verläuft. Das Rad wird durch einen 6 mm breiten und 60 mm hohen Schlitz durch das Gehäuse herausragen. Ob sich das aus haptischen Gründen als praktisch erweist, wird sich zeigen... Software Auf dem Rechner läuft Suse 8.1 und eine neu entwickelte Player-Software die vielleicht auch für andere Selbstbauprojekte interessant sein könnte. Diese Software besteht zur Zeit aus drei Hauptkomponenten die per UDP Protokoll miteinander kommunizieren, so dass die einzelnen Module theoretisch auch auf verschiedenen Rechnern laufen könnten:
UI verlangt Liste der Artists von Datenbank (DB) Benutzer wählt Artist aus UI verlangt Liste der CDs dieses Artists von DB Benutzer wählt CD aus (nur falls mehrere CDs vorhanden) Optional: UI verlangt Liste der Tracks dieser CD und Benutzer wählt aus UI sendet Play-Kommando an DB(!) die aus den Information (Artist, Album, Track) den Dateinamen bestimmt und an den Player weiterleitet. Der Player beginnt den neuen Track zu spielen, und teilt dies der UI mit. Diese Prozedur erscheint zunächst unnötig kompliziert, erwächst aber aus dem Wunsch eine zentrale Datenbank (Server im Keller) für mehrere Player zu nutzen. Die UI und der Player könnten evtl. zusammen gefügt werden. Dies ergäbe allerdings ein recht umfangreiches Programm, und die Nutzung mehrerer UIs (z.B. Web-Interface) wäre aufwändiger. April 2005 Dank lirc lässt sich der Player nun auch per Fernbedienung bedienen. Außerdem sind die Tasten nun auch in das Gerä integriert. Bild folgt irgendwann. Sommer 2005 Bastelpause... Januar 2006 In den letzten Wochen sind einige neue Erkenntnisse durchgesickert:
|