MP3 ohne zusätzliche Hardware abspielen?

OP #4400155
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?
Gast
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.
Gast
> 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
Gast
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.
OP
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
Gast
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.
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.
(Firma: fritzler-avr.de)
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

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 10 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.