The document describes the Convergence Jukebox, an open-source digital jukebox system written in Python. It can run on Windows and Raspberry Pi, plays MP3 files from an unlimited sized library, supports automatic detection of new songs, and has features like background music, genre filtering, song skipping, and displaying song details. Users can navigate music by title or artist and select songs to play, which are added to an upcoming playlist and removed from random rotation. The jukebox also generates logs and has undocumented integrations with digital displays and social media.
8. www.convergencejukebox.com
● three python programs.
○ convergencejukebox.py
■ ensures hardware is compatible.
■ initializes resolution, required folders, music and datafiles.
○ convergenceplayer.py
■ creates database of mp3 music.
■ plays music in endless loop.
○ convergencegui.py
■ graphical interface (TkInter).
■ user interface.
○ gui and player communicate by generating and reading data files.
how convergence jukebox works
9. www.convergencejukebox.com
● creates python list (array) of mp3’s.
○ each mp3 is assigned a number
○ most software manipulation involves mp3 number only.
how convergence jukebox works
11. www.convergencejukebox.com
● 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.
features
12. www.convergencejukebox.com
● 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
features
14. www.convergencejukebox.com
● 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
file. (genre_flags.txt)
features
15. www.convergencejukebox.com
features
plays mp3’s tagged with classicrock, newwave, newcountry, modernrock and modernpop randomly first.
plays mp3’s by Frank Sinatra, Dean Martin, Sammy Davis, Paul Anka, Nancy Sinatra between the years of
1960 to 1969 randomly first.
16. www.convergencejukebox.com
● 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
cycle.
● automatic resetting of random list.
○ random list is reset when the software is rebooted or all have been
played once randomly.
features
17. www.convergencejukebox.com
● clearly identified songs.
○ while song is playing, song title and artist are
displayed prominently under the jukebox
arch.
○ detailed song information is shown in the
green display
○ includes
■ year released
■ song length
■ album name
○ pulled from the ID3 tags.
features
18. www.convergencejukebox.com
● convergence jukebox plays paid songs as a
priority.
○ paid songs are listed as upcoming selections.
● users cannot select song if it’s on the upcoming
selections list.
● songs played via selection are removed from the
random playlist
● 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.
features
19. www.convergencejukebox.com
● users navigate through music using
up/down/left/right keys.
● users can select navigation by either title or
artist.
● users can navigate to the alphabetical start of
either artist or title using letter keys that
employ multiple keypresses.
features
20. www.convergencejukebox.com
● 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.
features