MPy3 2.0

MPy3 is a full-featured, modular, configurable MP3 player system aimed at jukeboxes or car MP3 systems.

  Add it to your Download Basket!

 Add it to your Watch List!


Rate it!
send us
an update
GPL (GNU General Public License) 
ben wilson
ROOT \ Multimedia \ Audio
MPy3 is a full-featured, modular, configurable MP3 player system aimed at jukeboxes or car MP3 systems.It can play MP3s via rxaudio or mpg123, take input from a keyboard (tty), LIRC, or joystick or another serial or parallel input device.


Python 2.0 or greater ( I know it works with Python 2.0, and that is what I develop on, and there isn't any 2.0 functionality I use with it, so you shouldn't
have any problems, though your mileage may vary.

rxaudio ( xaudio is an MP3 player, and rxaudio is the text interface to xaudio. mpg123 ( be used, but there isn't a mainstream text-interface hack for it yet. tk3play ( a tk-interface to mpg123 compiles (or attempts to, anyway) 'mpg123m', a text interface to mpg123. However, i have yet to get it to compile correctly. Newer distributions of mpg123 come with a small text file mentioning this hack, and even includes a python script to control it, but I haven't put much faith into it. Get the mpg123 source, it's the file in the 'tools' directory called 'interface-phython'.

My development system is a Pentium-100 with 32 megs of RAM, and rxaudio runs just fine on it. You shouldn't have any problems.

What's New in This Release:

threading! plenty of it. no more lag on keypress
playlisting. recursive, selective, etc. very cool.
if you are in any state other than "play", then after a defined number of seconds, it revertsback to state_play, like a REAL cd player. shocking!
removed "global" keys, with the exception of the shutdown, menu, and help keys. combined with the "return to state_play" functionality, this should still be okay.
various updates to mpy3.conf
default key mapping is for the number pad. should work well in most cases, especially for people using numeric remote controls
MPy3 now respects the display_type config option. either lcdemu or crystalfontz at the moment.

updates to (renamed from
upon load of pyplaylist, all songs under the directory are added to a "master list" then the "playlist" references indexes in the "master list". this way, scanning of the drive is kept to a minimum.
making new playlists are handled now note the add_to_templist functions, etc.
updates to faster retrieval of information. check out the threading in -- this makes the updates very fast. also tweaked the statement to make it a non-blocking poll.

updates to (previously ensconsed within
faster retrieval of information, non-blocking poll, etc.
again, check the threading in -- quick like wind! added
initial addition of the emulator

updates to
blankline() added - allows for a blank line to be written to the LCD
because the line() function strips off spaces

Last updated on July 21st, 2006

#mp3 player #jukebox player #modular player #modular #player #mp3 #ogg

Add your review!