Hi, I created another Arduino MP3 library here: https://github.com/GreyGnome/SFAudioShield . The main differences between this and Bill Porter’s: * This one was built and designed to closely track the VS1053 data sheet. I wanted to understand better how the code interacts and supports the chip, so I built this library. Some of the ideas were based on Bill Porter’s, though the lion’s share of the code was taken from Christian Schmiljun (who in turn borrowed from Shigeki KOMATSU) and adapted for Arduino’s use. * A few additional features of the vs1053b are supported, such as the sine test. See the code for more information. * This one supports M4A files, MP3 files, and OggVorbis files. * This one uses the ID3v2 data from the MP3 files. It also supports comments from OggVorbis. I did not work on getting comments from m4a (iTunes) files; that is left as an exercise for the interested reader. * This one can fast forward, but cannot skip ahead/behind. * This library works with interrupts or without. I have discovered that loading the VS1053b with 32 bytes takes 0.32 millis at a 4 MHz SPI bus speed which could be a long time. Starting a track to fill the entire 2048-byte buffer of the chip would take 64*0.32 == 20 millis. I don’t want the Arduino waiting for 20 millis, so I created the non-interrupt style. * This one is not supported. This is one is for the hacker who really wants to understand the code. If something doesn’t work for you but you want to make it happen, I’ll need you to provide the update. I can’t support requests to fix or for updates (I have no time). * That said, this code is neither clean nor elegant. I have a lot of cruft in there, beginning with all my commented-out println() statements. I can make no apologies for it; I simply present this code to the world so it can see the light of day and perhaps help someone. I wrote it for one of my projects but along the way tried to make it generally useful.
I wouldn’t mind you dropping an email if you happen to utilize it. I am mschwage@gmail.com. Thanks, and I hope you find it useful.