pykaraoke - free CDG/MIDI/MPEG karaoke player
pykaraoke is a free karaoke player for Linux, FreeBSD and Windows.
pykar is a MIDI/KAR karaoke player built using python. It was written
for the PyKaraoke project but is in fact a general purpose KAR player
that could be used in other python projects requiring a KAR player.
The player uses the pygame library (www.pygame.org), and can therefore
run on any operating system that runs pygame (currently Linux, FreeBDS,
Windows and OSX).
You can use this file as a standalone player, or together with
PyKaraoke. PyKaraoke provides a graphical user interface, playlists,
searchable song database etc.
For those writing a media player or similar project who would like KAR
support, this module has been designed to be easily incorporated into
such projects and is released under the LGPL.
To play the MIDI songs on Linux, Timidity++ is also required.
To start the player, pass the KAR filename/path on the command line:
You can also incorporate a KAR player in your own projects by importing
this module. The class midPlayer is exported by the module. You can
import and start it as follows:
player = pykar.midPlayer("/path/song.kar")
If you do this, you must also arrange to call pycdg.manager.Poll() from
time to time, at least every 100 milliseconds or so, to allow the
player to do its work.
The class also exports Close(), Pause(), Rewind(), GetPos().
There are two optional parameters to the initialiser,
errorNotifyCallback and doneCallback:
errorNotifyCallback, if provided, will be used to print out any error
messages (e.g. song file not found). This allows the module to fit
together well with GUI playlist managers by utilising the same GUI's
error popup window mechanism (or similar). If no callback is provided,
errors are printed to stdout. errorNotifyCallback should take one
parameter, the error string, e.g.:
def errorPopup (ErrorString):
doneCallback can be used to register a callback so that the player
calls you back when the song is finished playing. The callback should
take no parameters, e.g.:
msgBox ("Song is finished")
To register callbacks, pass the functions in to the initialiser:
midPlayer ("/path/song.kar", errorPopup, songFinishedCallback)
These parameters are optional and default to None.
If the initialiser fails (e.g. the song file is not present), __init__
raises an exception.
You can find PyKaraoke's home page at: http://www.kibosh.org/pykaraoke/
PyKaraoke was written by Kelvin Lawson <email@example.com>
and William Ferrell <firstname.lastname@example.org>.
This manual page was written by Miriam Ruiz <email@example.com>, for
the Debian project (but may be used by others).
july 16, 2006 PYKAR(6)