Hallo, es gibt ja reichlich Anleitungen externe MP3-Module am Atmega (Arduino) zu betrieben, aber ist es prinzipiell auch möglich ein MP3 ohne zusätzliche Hardware, also mittels Software zu dekodieren und als Signal auszugeben? Ist dafür die Rechenleistung des uC zu schwach? Oder liegts am fehlenden DA-Wandler dafür?
Die Rechenleitung eines 8-Bit Atmega Mikrocontrolles reicht bei Weitem nicht aus um MP3 zu dekodieren. Dazu braucht man mindestens mal einen 16 Bit Controller mit mehreren 10-MHz CPU Takt, die auch schnell mit 16 Bit rechnen können, also Division/Multiplikation in Hardware und schelles Bitgefrickel. Als MP3 aufkam wurden dazu DSPs (digitale Signalprozessoren) eingesetzt und auch heute ist z.B. in den Decoderchips von VLSI ein kleiner DSP mit entsprechender SW im ROM am Werkeln. Ein PC mit x386 CPU mit 40MHz hat das damals gerade so hinbekommen nur mal so zum Vergleich.
> Ist dafür die Rechenleistung des uC zu schwach? Ja. Ein AVR ist dafuer so Faktor 10-50 zu langsam. Ausserdem ist es nur ein oller 8Bit Prozessor und dem tut es weh wenn er extensiv mit 16/32Bit Daten rummachen muss. Ich hab es in einem SH2A mit 32Bit/147Mhz problemlos in Software laufen. (320kbit) Ich wuerde mal schaetzen das man es in einem Controller mit halber Rechenleistung eines SH2A auch noch schaffen kann wenn man sich richtig anstrengt. Wenn man sich mit geringeren Bitraten zufriedengibt dann geht vielleicht schon ein kleiner ARM mit 30-50Mhz. > Oder liegts am fehlenden DA-Wandler dafür? Der ist nur wichtig wenn man Ansprueche an die Klangqualitaet stellt. Also fuer die Smartphonejugend von heute vollkommen irrelevant. Olaf
Olli G. schrieb: > es gibt ja reichlich Anleitungen externe MP3-Module am Atmega (Arduino) > zu betrieben, aber ist es prinzipiell auch möglich ein MP3 ohne > zusätzliche Hardware, also mittels Software zu dekodieren und als Signal > auszugeben? Nein. > Ist dafür die Rechenleistung des uC zu schwach? Ja.
Hallo, AVR reicht nicht, wurde ja schon erwähnt. Ein ESP8266 (80MHz 32Bit) macht es, gibt zur Not auch per PWM aus, besser mit I2C-DAC. https://github.com/espressif/esp8266_mp3_decoder Gruß aus Berlin Michael
Vielen Dank für die Antworten. Ich hab tatsächlich ne halbe Stunde lang Netz gegoogelt danach. Jetzt weiss ich warum ich dazu nichts finden konnte :-) Die MP3-Dekoder sind ja jetzt auch nicht wirklich teuer, von 3-15€ ist alles dabei, teils mit SD-Card Reader und kleinem Verstärker drauf. War einfach neugierig... Olli
Es gab mal von Atmel den AT89C51SND1 (MP3, USB, IDE, MMC usw.).
Olli Z. schrieb: > Vielen Dank für die Antworten. Ich hab tatsächlich ne halbe Stunde lang > Netz gegoogelt danach. Jetzt weiss ich warum ich dazu nichts finden > konnte :-) Als MP3 neu aufkam, hat man sich zur Dekodierung komplette PCs ins Auto gebaut. Dazu müsste man noch das eine oder andere im INet finden können.
Oh ja, ich erinnere mich an meinen ersten alles-Player (primär MP3). Das war auch ein ganzer PC. Allein auf der Soundkarte war mehr drauf, als heute in meinem Notebook steckt. Als ich die Software für meine Ansprüche 100% fertig hatte, konnte man schon portable Geräte für viel weniger Geld von der Stange kaufen. Und heute? Heute frage ich mich, warum Musik nicht einfach unkomprimiert vertrieben wird. Dann hätte man die gleiche Tonqualität wie bei der CD und weniger technischen Aufwand. Speicherplatz kostet ja nix mehr.
MP3 schrieb im Beitrag #4400173: > Ein PC mit x386 CPU mit 40MHz hat das damals gerade so hinbekommen nur > mal so zum Vergleich. Also mein 486er mit 80 MHz hat MP3s nur in Mono oder mit 22,05 kHz Abtastrate abspielen können. Für Stereo hat das nicht gereicht.
Stefan U. schrieb: > Und heute? Heute frage ich mich, warum Musik nicht einfach unkomprimiert > vertrieben wird. Dann hätte man die gleiche Tonqualität wie bei der CD > und weniger technischen Aufwand. Speicherplatz kostet ja nix mehr. Es gibt/gab ja letztens mal ein Startup mit einem portablen Player und zugehöriger Shopping-Plattforum. Alles in FLAC. Hab nach dem Start nichts mehr von gehört.
:
Bearbeitet durch User
Mp3 decoder gibts hier: http://keyj.emphy.de/minimp3/ Hab ich auch schonmal für nen Webradio genutzt. Muss eben nur von mmap() auf byteweises lesen von Sockets (oder andere Quellen) umgebaut werden, sowie eben die Soundausgabe noch auf "bare metal" Läuft auch gut auf nem ARM. (wer den umgebauten Code will soll hier schreien) Auf nem AVR sollte das auch laufen, dann ist aber nichts mit echtzeit zuhöhren ;) Ansonsten eben sowas machen: http://www.fritzler-avr.de/HP/Librarys/VS1053_his.php Die Lib läuft mit VS1053b und VS1011. @Cyblord Das war doch sogar von irgendsonem Musiker unterstützt? Im Endeffekt war das Teil aber echt zu klobig (dreieckform?) und nur damit man mit 2 fetten Audiophilen Elkos in der Ausgangsstufe angeben konnte facepalm
Oder gleich was hinreichend leistungsfähiges nehmen: http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2680&dDocName=en554171
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.