This version of cdg2bin is adapted from the original cdgtools script to run in Python 3 and also accept .wav files (useful when working with CD+Graphics Magic). It is used to take karaoke .cdg files and output .bin and .toc files suitable for burning to a CD.
Simply clone this repo or download cdg2bin3.py. You will need the following dependencies to run the script:
pythonlamelibogg(if using .ogg files for music)
You'll also need cdrdao installed in order to burn the resulting .bin and .toc files to a CD while preserving the audio subcodes that hold the karaoke lyrics.
In your terminal, pass cdg2bin3.py a project name and then .cdg files for each song you want on the disc. Each .cdg file should be paired with an identically-named .mp3, .wav, or .ogg of the musical accompaniment to the .cdg file (e.g. jgwentworth.cdg and jgwentworth.wav).
python3 ./cdg2bin3.py -o mymix lifetimeachievementaward.cdg touchtonetelephone.cdg cabinetman.cdg noeyedgirl.cdg
The script will output mymix.bin and mymix.toc.
Call cdrdao with --driver generic-mmc, --speed 1, and --device pointed to your CD burner's entry in /dev. Your drive may not go as slow as 1x, but cdrdao will select the slowest speed available when this argument is set to 1. Slow speeds are chosen because the 6 audio subcodes in which lyrics data are burnt have no error correction.
Not all CD drives can burn audio subcodes, and your drive may require a different value in the --driver flag of cdrdao.
The command will generally look like this:
sudo cdrdao --driver generic-mmc --speed 1 --device /dev/sr0 mymix.toc