• Status Closed
  • Percent Complete
  • Task Type Feature Requests
  • Category Plugins
  • Assigned To No-one
  • Operating System All players
  • Severity Low
  • Priority Very Low
  • Reported Version Daily build (which?)
  • Due in Version Undecided
  • Due Date Undecided
  • Votes
  • Private
Attached to Project: Rockbox
Opened by Seth Cohn - 2007-12-27

FS#8376 - CDG Karaoke plugin

CDG+mp3 Karaoke is the Number 1 format in which Karaoke files are found online… Players exist on all platforms, including winamp plugins, etc… CD+G Karaoke discs are the standard, and CDG+mp3 is the ripped format that is commonly used.

The CDG spec is quite simple, only about 8 simple blitish commands,
and GPLed C code exists already, so this would be a relatively simple plugin that would ideally play the mp3 with the same name as the cdg file, as they are typically stored together. Blitting to the screen, scaled of course, is the only really functionality needed, and it’s certainly lower bandwidth than mpeg, so all cpus should be able to handle it in a timely manner.

This would add a nearly full karaoke playback system to Rockbox…
The only possible lacking thing would be also recording the microphone for singing results for later playback, if desired, and that’s a future dream item.

Original spec for CDG decoding:

GPLed c code which implements the above: (This doesn’t have mp3 decoding, making it perfect for a rockbox plugin… it’s only the cdg playing)

Closed by  Björn Stenberg

Reason for closing:  Fixed
Additional comments about closing:  

Closing all feature requests.

Jonathan Gordon commented on 2007-12-27 01:17

nice timing, I was tihnking about implementing something like this today… are these files easy to get for not mainstream music? are there scripts to pull the files for your whole music collection?

Seth Cohn commented on 2007-12-27 02:09

Since most of the CDGs are timed/tied to music-only versions of the songs, for karaoke purposes, the answer is really No, to both… but that’s mostly because nobody has started a ‘free’ CDG library (yet) Since even basic lyric lookups websites are now under copyright infringment threats these days, none of the lyrics formats has really blossomed into the ‘standard’. Even the lyric ID3 isn’t widely used or well supported yet.

More info:
Search engines for original discs of Karaoke (if you own the disc, owning the CDG file must be legal, right?): (mostly midis and kar (yet another Karaoke format, but not well used)

Legal Custom-made CDGs:

Commercial CDG creator:

Winamp plugins for CDG playback:

Python CDG player and CDG ripper: (also creates ogg+cdg)

Seth Cohn commented on 2007-12-27 02:16

One more source for purchasing legal MP3+CDG:

and making CDGs from other formats (like lrc):

Seth Cohn commented on 2007-12-27 02:26

I’d be remiss if I didn’t also point out that if you google or p2p (bittorrent/irc/dc++/gnutella/etc) search for cdg or karaoke, you’ll find lots of CDG content out there, with as much legality as when you download the mp3s themselves from similar sources.

Andy commented on 2008-02-13 15:02

Are you guys serious about doing this? I’d like to help. I’m a bit rusty on my C (it’s been a few years). I took a look at the gpoke code

and it should be doable to port it over to use the rockbox frame buffers instead of the GP libraries. I haven’t looked at the rockbox code so I’m not sure how we’d link the timing on the cdg playback to the MP3 playback.

What do you think. Anyone up to work with me on this?


Pedro commented on 2009-03-01 20:37

This feature would be a great plus to rockbox. Anyone working on this at all?

Best regards,



Available keyboard shortcuts


Task Details

Task Editing