Extracting Bitmaps from MP3 files

Good Evening All,

I wanted to find a project to play with a TFT screen and a SC card reader and I decided that I could put my large-ish collection of MP3s on an SD card and use the arduino to cycle through the MP3, extract the bitmaps on the files and display them on the TFT screen.

I have spent a lot of time carefully selection the bitmaps for all the albums/songs/artists.
Most of the pictures are 300/300 or 250/250 so close enough to the screen resolution (320X240) not to be too damaged by the re-scaling that will be needed.

I have spent some time looking for some code samples or details of the encoding of the MP3 to extract the pictures without much luck. All the files follow the ID3v2 encoding format.

So before resigning myself to dive deeper into the specs of the ID3v2 tagging format, I thought I would ask the community at large if any one had done anything similar and could point me in the direction of a piece of code I could use as a starting point.

Best regards...
H

The handling of MP3 files, including audio playback, requires more computing power in an MP3 player than available with most Arduinos.

If you want to learn more about decoding the MP3 file structure I'd do that on a PC, with better debugging features like hex editors and more helpful tools. Information about the MP3 file structure and its use may be subject to a paid license, for the developer and each distributed device.

If you use a ARM Cortex-M3 or M4 based Arduino compatible board you can easily decode MP3 files. Also the patents on MP3 run out a few years ago.

If you are searching for a MP3 library use the keyword HELIX.

If you are looking for some boards have a look at the Teensy family from PJRC. They are well supported under Arduino and there is a nice Audio library available.

https://www.pjrc.com/teensy/

https://www.pjrc.com/teensy/td_libs_Audio.html

Regarding the images, I would expect you will need to look into jpg decoding as well. I doubt the format uses bitmaps. But I am not sure.