Specifications

The player can successfully play MP3s, up to and including 250kbbs, data rates with
perfect audio quality. The test for this specification was to create MP3 data from a song
multiple times and each time slightly increasing the bit rate. A play list was then created
from the multiple copies of this same song in increasing bit rates and then the player
was controlled to play each song. It was found that at 250kbbs the player worked was
expected but any higher than that and the buffer began emptying, so the song would
stop and start. The test was repeated with different songs and the same result was found.
Unfortunately, at the time of writing this report, streaming an MP3 from the internet
was unable to be attempted. At this stage it is possible to say that there is no reason why
it shouldn’t work, however it has not been tested. The reason why it was not tested was
that there was no internet connection available where MP3 streaming was possible. All
tests of streaming from many computers connected via a LAN were successful up to
and including 250kbbs. This shows that the design decision to use the Ethernut
development environment allowed the player to be able to transfer data fast enough and
the memory space was large enough to buffer the traffic fluctuations of the network.
The implementation of the user controls was limited to controlling the playback of the
MP3; no controls were provided for play list editing. The controls allow for the user to
play or continue playing, pause or stop the selected song and change the current song to
the next or previous song in the play list. All of these functions work without any
problems. The stop and pause buttons stop the sound as soon as they are pressed and,
when the play button is pressed, there is a slight delay of less than one second to allow
for the buffer to refill. The next and previous buttons can work in two ways. Firstly, if
the player is currently in play back mode and previous or next is pressed, the newly
selected song will begin playing without the play button being pressed. Secondly, if the
player is stopped, the new song will simply be selected but playback will not begin until
play is pressed. Whenever a new song is selected, whether it is during playback or not,
or if it is simply because a song has ended and a new song is starting, the LCD module
is always updated with the new song and its position in the play list. At this stage, no
‘seek’ function is available to allow the user to play through the song quickly. If the
user continually holds down the next or previous button, which is the usual way to
invoke a seek mode, the player will simply continue going through the play list,
selecting a new song every 300ms. This is in fact a useful feature; it enables the user to
62