PyKaraoke Development at Github

The PyKaraoke development repository has now moved from Sourceforge to Github. The project page is here.

Those interested in trying out the latest pre-release development code or contributing to the project can clone the git repository as follows:
git clone git://github.com/kelvinlawson/pykaraoke.git

Alternatively you can download a tarball of the latest sources using this link.

If you are keen to contribute to the project then please feel free to make a fork at Github and keep us posted on your progress. New features currently being worked on are pitch-shifting and a lyrics preview window, both aimed at professional KJ hosting. These features are already available in a separate development branch.

We hope that this will make it easier for developers to work on their own features and get involved in the project. If you are keen to contribute but don’t have any particular features in mind, feel free to look through the issues list and pick something you find interesting. We look forward to having you on board!

Karaoke CDG DLL

Over the years I have had several requests for a Windows CDG Karaoke player library that can be used as a component in other Windows programs. I tend to use cross-platform development frameworks so I was curious to see how some of the Windows development tools have progressed lately. As a result I have written a DLL / plugin that can be used to add Karaoke playback support to other Windows programs using any programming language (C#, C/C++, VB, VB.NET, Delphi etc).

CDG Player Plugin DLL Screenshot

It supports playback of the common CD+G Karaoke format (MP3+G and WAV+G files), and benefits from the years of CD+G format testing enjoyed through PyKaraoke. It also adds a few features not available in my previous Karaoke projects:

  • Full rewind/fast-forward support (seek to any time position)
  • Window resizing on-the-fly
  • Transparent CDG support (overlays lyrics onto a bitmap image)
  • Very large background bitmaps can be scrolled in all directions to give the impression of moving video
  • Bordered lyrics in transparent mode (optional and non-standard but experience has taught me this improves the appearance)

I have not done much with this yet other than write some simple karaoke player applications in various languages, for example adding CDG playback to a VB application is as simple as this:

Handle = CDGPlayerOpen(“MadWorld.mp3”)
CDGPlayerShow(Handle)
CDGPlayerPlay(Handle)

The DLL exports functions to implement much more than this, with full control of the playback position, querying the song position for progress bars, and other features required to build a fully-featured Karaoke application.

Contact me if you would like more details.