● three python programs.
■ ensures hardware is compatible.
■ initializes resolution, required folders, music and datafiles.
■ creates database of mp3 music.
■ plays music in endless loop.
■ graphical interface (TkInter).
■ user interface.
○ gui and player communicate by generating and reading data files.
how convergence jukebox works
● unlimited mp3 library size.
● field version running over 10,000 mp3 files.
○ HP MINI 210 PC that contains an atom N450 processor, 1024
MB of memory and a 160.0 GB hard drive.
● raspberry pi versions running 9400 mp3 files
○ tested on raspberry pi 1 model B revision 2 with 512 MB ram, a
raspberry pi 2 and raspberry pi zero.
○ 64.0 GB SD card to hold music.
● automatic song detection.
○ MP3 library database is built automatically when additional
properly formed ID3 tagged files are added to the music folder
and the program is restarted.
○ see “building an mp3 library” on website
■ no unicode in ID3 tag
■ eg. Motley Crue vs Mötley Crüe
■ ö - 19th letter of the Turkish alphabet
■ not ascii
● background music system.
○ plays library loaded in jukebox in a continuous manner randomly.
● different styles of music.
○ mp3’s can be tagged with genres.
○ random play can be set to play specific genres by altering a simple text
● songs can be skipped.
○ "norandom" tags mean mp3 will never play randomly.
● avoids repeating the same songs continuously.
○ mp3’s on the random list are only played once during a random play
● automatic resetting of random list.
○ random list is reset when the software is rebooted or all have been
played once randomly.
● clearly identified songs.
○ while song is playing, song title and artist are
displayed prominently under the jukebox
○ detailed song information is shown in the
■ year released
■ song length
■ album name
○ pulled from the ID3 tags.
● convergence jukebox plays paid songs as a
○ paid songs are listed as upcoming selections.
● users cannot select song if it’s on the upcoming
● songs played via selection are removed from the
● random play resumes once user selected songs
have completed playing.
● number of credits, cost per credit and the number
of songs available in the library are displayed.
● users navigate through music using
● users can select navigation by either title or
● users can navigate to the alphabetical start of
either artist or title using letter keys that
employ multiple keypresses.
● log generation.
○ songs played randomly.
○ paid songs.
○ time jukebox is rebooted
○ when songs are added
○ when a new random list is generated.
● undocumented code
○ using dropbox folder to providing rss
feeds for digital signage systems.
○ to tweet to twitter accounts making the
jukebox useful as a global barker system.