Hi! Im Forum ist ja schon ne gane Menge zum Thema selbstgebaute mp3- Player geschrieben worden, sei es jetzt mit universellen AVRs und enormem Programmieraufwand- oder eben als einfache Lösung per decoder-chip. Allerdings scheint es bei den meisten Projekten (aus welchen Gründen auch immer) bei Gedankenspielen geblieben zu sein. Daher wüsste ich gern von euch: - Wer von euch hat schonmal nen mp3-player gebaut? - Wer hat bis jetzt den kleinsten Player gebaut? (>Betonung vor allem auf klein, ich meine jetzt nicht 2 dm2 platine plus 500 gramm akku..;-) Mich interessieren vor allem stand-alone-Geräte, die also nicht mp3- streams aus dem netz abspielen, sondern z.B. von einer Speicherkarte (SD, CF, etc...) lesen. So, dann bin ich mal gespannt, was es in der Richtung schon gibt. Grüße Andy
Mit einen AVR hat noch niemand eine MP3 decoded - hoffe ich mal. Mit einen ARM wäre es theoretisch möglich und wird bei kommerziellen playern auch gemacht aber das hat bestimmt auch noch niemand (kein hobby-entwickler) gemacht (oder?). Einen MP3 player zu bauen ist sehr einfach wenn man die decoder ICs verwendet dadurch wird das ganze auch uninteressant (keine Herausvorderung). Ich kann mir vorstellen, dass einige deshalb ihr MP3 player projekt nicht umgesetzt haben. Ich würde ein Gerät, dass nur MP3s abspielen kann auch nicht so toll finden... Ich hab mir nen MP3 player für siemens handys bei eBay für 2 euro geholt und dann 2 batterien angeschlossen: http://lupin.shizzle.it/newpc/Bild124.jpg http://lupin.shizzle.it/newpc/Bild125.jpg
Hi Andy, ich habe schon 2 player gebaut 1.) atmega32 2.) Fox Board uCLinux beide haben Nokia lcd drehimpulsgeber SD / MMC /RC5 die 2.) hat auch noch USB Ethernet hd44780 den code hoste ich auf sourceforge alpmp3.sourceforge.net für 1.) ist die aktuelle platine 1dm2 da alles dil ist, aber die 4x4,5cm smd platinen habe ich schon bestellt und erwarte sie bald. der uCLinux player ist z.Zt. ca 95% fertig und die Platinen sollten auch bald fertig sein. guck einfach mal auf meine seite. wenn du Fragen hast ist dort auch meine e-mail/icq keep on coding, John
@Lupin : ist klar süsse, die mmc liest sich ja selber aus, fat muss man auch nix machen und das lcd geht auch durch magie :)
ääähhh... nenn mich bitte nicht süsse, das irritiert mich :) Die Aufgaben die du da nennst sind nicht besonders zeitkritisch, bis vielleicht das laden der Daten von der MMC (AVRs haben ja ein recht schnelles SPI). Wieviel flash benutzt du? ich glaube man kann da auch mit einen kleineren controller auskommen. Ich hab nicht gesagt, dass man ohne controller auskommen würde. :)
ca 18k, da das menü relativ aufwendig ist, ohne menü animierte logos font reicht ein atmega8 mit ca 6,5k. sorry wegen süsse, dachte lupin währe ein mädel name :)
cool aber warum braucht man eine 100 MIPS CPU um das gleiche zu machen, was ein atmega32 schafft? Wäre da eine Dekodierung der MP3 per CPU nicht angebrachter? Es gibt bestimmt einige linux sourcen zur MP3 dekodierung die man porten könnte. Aber vom Stromspar-aspekt her wäre die Lösung mit dem atmega doch besser denke ich.
:) brauchst es ja nicht benutzen.... mein konto freut sich auf jedenfall du musst die ja nicht freuen in diesem sinne, dont feed the troll
Der Einwand ist doch berechtigt, kein Grund jemanden "Troll" zu nennen... MP3 lässt sich schon auf einem LPC2106 bei ~25 MHz einwandfrei dekodieren, ich habe das mal mit dem Helix-Decoder ausprobiert. Es gibt aber ein paar Gründe weshalb in manchen Fällen der VS100x sinnvoller sein kann: - Lizenzkosten schon durch Kauf des Decoderchips abgedeckt - einfaches Interface (DACs lassen sich nicht mit jedem Prozessor so ohne weiteres synchron ansteuern) - mehr Formate (WMA, Ogg) ohne zusätzlichen Softwareaufwand
@ Andreas Schwarz Welcher VS100x kann denn Ogg decodieren?
Keiner, aber ich meine irgendwo gehört zu haben dass das für eine der nächsten Versionen in Planung ist.
Den neuen Chip hat VLSI noch nicht offiziell vorgestellt. Deswegen habe ich erst im Downloadbereich eine Preview vom VS1053 entdeckt, der Ogg kann. Ist leider kein richtiges Datenblatt, sondern nur ein Überblick.
Ogg Vorbis soll der VS1053 können, den gibts aber wohl noch nicht zu kaufen: http://www.vlsi.fi/datasheets/vs1053.pdf
>>- Wer von euch hat schonmal nen mp3-player gebaut? >>- Wer hat bis jetzt den kleinsten Player gebaut? (>Betonung vor allem >>auf klein, ich meine jetzt nicht 2 dm2 platine plus 500 gramm >>akku..;-) Also ... ich hab damals den AVRMP3 gebaut (www.oxed.de -> MP3-Player). War für's Auto mit 240*64px Display, IDE, ... Zur Zeit wird an einem Player gebastelt, der folgendes kann: - AT91SAM7S256 @ 55MHz - USB-Device über Mini-USB-Stecker - voraussichtliche Erkennung des Players als "Mass-Storage-Device" am USB - 132*132px @ 4096 Farben TFT - IPOD-Mini Lithium Polymer/Lithium-Ionen Akku mit ~950mAh - SD/MMC -Card Slot - 3,5mm Klinkeneinbaubuchse (für Audio) - 5 Tasten für die Bedienung (in einem Kreuz angeordnet) - 1 Taster seitlich für Soft-ON - Low-Battery-Erkennung und Spannungsabschaltung per Software - Geladen wird der Player ausschließlich über USB - integrierter USB-Ladecontroller mit Schutzschaltung - Platinengröße: 40mm * 76mm - Treble, Bass, Vol Einstellungen per Software - VS1011 Decoder Das ist allerdings ein Gemeinschaftsprojekt vom "Technikstammtisch" der TU-München. Ich hab hierbei die Platine gemacht und koordiniere das Projekt. Platine ist mittlerweile fertig, aber noch nicht getestet. Und auf meiner Webseite gibts dazu leider noch nichts - muss ich mal machen, wenn ich etwas Zeit habe :-)
Nachtrag: Scan von der Platine gibts hier: home.in.tum.de/~pototsch/player.jpg
Andreas, kannst du die sourcen für den LPC2106 mal online stellen? das wäre echt super :) Was für einen DAC hast du benutzt?
http://www.mikrocontroller.net/forum/read-2-195188.html#195202 Das war nur ein "proof of concept", einen Decoder habe ich nicht angeschlossen da das mit dem LPC2106 nicht so einfach möglich ist.
Andreas, sorry, dass ich jetzt rum nerve aber könnte man den sound nicht testweise als 8 bit über PWM ausgeben? Das funktioniert ja bei 8 bit noch sehr gut. Aber irgendwie verstehe ich diesen ganzen decoder nicht... du dekodierst zwar nach outBuf machst damit aber nix mehr... wie muss ich outBuf nach der dekodierung abspielen?
Hui, mit so vielen guten Projekten habe ich garnicht gerechnet! <Einen MP3 player zu bauen ist sehr einfach wenn man die decoder ICs verwendet dadurch wird das ganze auch uninteressant (keine Herausvorderung). Ich kann mir vorstellen, dass einige deshalb ihr MP3 player projekt nicht umgesetzt haben.> Hi! Da ich noch nicht soo viel Ahnung von ICs und deren Programmierung habe, will ich erstmal genau einen solchen "sehr einfachen" mp3-Player bauen, eben möglichst klein und einfach, mit Anschluss an eine SD-Card und vielleicht noch ein kleines Farb-TFT, mit solchen Decoderchips: http://www.mikrocontroller.net/articles/MP3 Der VS1001k scheint erstmal unschlagbar günstig, kann auch alles was ich haben will (mp3, StereoEarphoneDriver, Daten von SD). Jedoch habe ich im dazugehörigen Datasheet nicht ganz geblickt, ob man beliebige AVRs zum bedienen des SCI Bus verwenden kann. Reicht da schon ein ATmega8? Wie hoch schätzt ihr den Programmieraufwand ein, wenn über diesen lediglich ein Display, 5 Buttons und die SD-Card angeschlossen werden? Das (vielleicht Schul-) Projekt soll im wesentliche zeigen, dass es auch mit einfachsten Mitteln möglich ist, einen kleinen mp3-Player selbst zu bauen, ohne einen Monat lang programmieren zu müssen. Das stellt euch sicherlich vor keine Herausforderung, aber für Leute, die gerade erst anfangen programmieren zu lernen ist dies sicherlich ein spannendes Projekt, das auch ordentlich motiviert. viele Grüße Andy
<Einen MP3 player zu bauen ist sehr einfach wenn man die decoder ICs verwendet dadurch wird das ganze auch uninteressant (keine Herausvorderung). Ich kann mir vorstellen, dass einige deshalb ihr MP3 player projekt nicht umgesetzt haben.> Das ist sehe ich ganz anders. Es ist schon eine Herausforderung einen guten und kleinen Player zu bauen, auch wenn man einen fertigen Decoder verwendet. Wenn es zuwenig Herausforderung ist, dann bau halt noch mehr Features ein, mach ihn noch kleiner usw ... Da kommt man schnell an eine Grenze, wo er dann herausfordernd genug ist. Ich hab auch erst gedacht, dass mein aktuelles MP3-Playerprojekt einfach ist, aber die Platinenmaße von 40*76mm und dazu dann die ganzen Features die ich oben schon aufgezählt habe, haben mich dann eines besseren belehrt. Ich hab fast 5 mal so lange für das Layout gebraucht als geschätzt. Optimal ist er leider immer noch nicht, weil ich schon wieder ein besseres LCD gefunden habe usw, aber er hat doch einiges was ein portabler MP3-Player haben sollte :-)
Ach und nochwas: Warum die Leute die MP3-Projekte nicht umgesetzt haben liegt doch ziemlich auf der Hand: Viele Leute "wollen mal schnell" einen Player bauen und scheitern dann aber daran, dass es wohl doch nicht so einfach ist, wie man meint. Das hat vielfältigste Gründe, wie zu wenig Wissen über Hardware, zuwenig Wissen über Software, zuwenig Erfahrung, falsche Vorstellungen usw. Es ist ja auch wesentlich einfacher mal eben ins Forum zu posten "Ich will mir einen MP3-Player mit dem und das bauen" als das Projekt dann auch wirklich durchzuziehen - und das machen dann eben viele nicht mehr, weil sie festgestellt haben, dass so ein Projekt doch nicht so einfach ist, wie es auf den ersten Blick aussieht.
http://www.mikrocontroller.net/forum/read-4-183766.html#284009 den player fand ich toll. schön "bastel-ig" umgesetzt und schön klein :)
Hi ich hab auch meine drei MP3 Player hinter mir. Der Erste war noch ein Nachbau des HMPEG (er ruhe in Frieden) mit eigenen Beiträgen. Die Nummer zwei war dann ein 8051 System, ASM-Quellcode und 32k-SRAM. Funktionierte einwandfrei aber für das damals anvisierte Ziel (320x240 LCD, ID3v2) etwas unterdimensioniert. Es erfolgte dann der Umstieg auf ein M16C-System mit 1MByte SRAM. Das erlebte dann zumindest einen funktionsfähigen Zustand mit Navigation innerhalb des Dateisystems, abspielen, ID3v1 Auswertung und Darstellung der Vorgänge auf dem 320x240 Display. Das Projekt ist dann eingeschlafen da das basteltechnische Ziel erreicht war und ich mich anderen Dingen zugewandt habe. Matthias
@Lupin: Hab dort leider nur ein einziges Bild vom Player gesehen :-( Gibts da noch mehr Bilder irgendwo? @Matthias: Das ist immer super schade, wenn man ein Projekt anfängt, es dann aber doch nicht ganz fertig macht. Ich neige leider auch zu so einem Verhalten, weil es mir meistens darum geht mich mit neuer Technik (z.B FPGA, ARM, PCI usw) vertraut zu machen und sobald es funktioniert fang ich wieder was Neues an und hab so einen Haufen halbfertige Projekte, mit denen man dann am Schluss kaum noch was anfangen kann. Mir ist das Verhalten aber mittlerweile bewusst und ich versuche geziehlt was daran zu ändern. Ist aber nicht ganz einfach :-) Eine Kleinigkeit konnte ich mittlerweile komplett ablegen: Ich bau keine neuen Sachen mehr mit irgendwelchen Teilen, die ich aus alten Geräten ausgeschlachtet habe. Das war auch lange so - aber mittlerweile lege ich größten Wert auf saubere Reproduzierbarkeit :-)
Andreas warum lässt sich I²S nicht mit Hilfe des hardware SPI realisieren? man muss doch nur WS entsprechend setzen oder nicht? Ansonsten könnte man es ja noch in software machen.
Der Bittakt muss kontinuierlich sein und der Worttakt exakt synchron dazu. Ich habe lange nachgegrübelt und bin zu dem Schluss gekommen dass es nicht geht. Vielleicht lässt es sich in Software emulieren, aber ich denke die IOs des LPC2106 sind zu langsam dazu, es würde auf jeden Fall viel Zeit Kosten, und man müsste die Spezifikationen des DAC sehr frei interpretieren. Das ist den Aufwand nicht wert, da es ja andere Controller problemlos können.
Andreas, denkst du ein AT91SAM7S64 bekommt eine MP3 auch dekodiert und gleichzeitig noch die daten von einer MMC gelesen? Die peripherie des controllers ist ja um einiges besser als die des 2106 Ich werde morgen mal versuchen per PWM ein wenig musik aus meinen 2106 zu locken, egal wie es sich anhört... :)
Das könnte schon gehen, ich weiß nicht um wieviel langsamer der SAM7 ist. Ein weiteres Problem ist der kleinere RAM, ich weiß leider nicht mehr wie der Bedarf des Codes ist. Eine Alternative zu PWM wäre ein einfacher 8-Bit-R2R-Wandler (siehe DA-Wandler.
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.