Man Linux: Main Page and Category List


       pykaraoke - free CDG/MIDI/MPEG karaoke player


       pykar karfilename.kar


       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 (, 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:

            pykar /path/song.kar

       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:

            import pykar
            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):
                 msgBox (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.:

            def songFinishedCallback():
                 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:


       PyKaraoke  was written by Kelvin Lawson <>
       and William Ferrell <>.

       This manual page was written by Miriam Ruiz <>, for
       the Debian project (but may be used by others).

                                 july 16, 2006