Releases: nomadkaraoke/cdgmaker
v0.1 - Nomad branded CDG files from MidiCo LRC (with post-instrumental bug)
Instructions to reproduce post-instrumental color palette bug:
-
Clone the source code for either this version of
cdgmaker
(with Nomad Karaoke branding on branchnomad-branded-lrc-to-cdg
) or Josiah's version from https://github.com/WinslowJosiah/cdgmaker with his branding -
Set up a clean python virtual environment, e.g. with conda or venv
-
Install dependencies:
- If using Josiah's repo, that's
pip install -r requirements.txt
then move up to a parent directory for the next steps (from where you run the next few commands,cdgmaker
needs to be a directory so it can be interpreted as a python module) - If using the Nomad fork, run
pip install .
from the code directory and you can then run the CLI commandcdgmaker
later on)
- If using Josiah's repo, that's
-
Download the attached zip file with resources and example TOML: https://github.com/nomadkaraoke/cdgmaker/releases/download/v0.1-bug/U2-post-instrumental-color-palette-bug-example.zip
-
Extract the zip:
unzip U2-post-instrumental-color-palette-bug-example.zip
-
If using Josiah's code, copy the Nomad branded wipe transitions into place (these already exist in the Nomad fork):
cp cdginstrumentalwipepatternnomad.png cdgtitlescreenwipepatternnomad.png cdgmaker/transitions/
-
Run cdgmaker with the example TOML file:
- If using Josiah's code:
python -m cdgmaker U2\ -\ Some\ Days\ Are\ Better\ Than\ Others\ \(Karaoke\).toml
- If using Nomad fork:
cdgmaker U2\ -\ Some\ Days\ Are\ Better\ Than\ Others\ \(Karaoke\).toml
- If using Josiah's code:
-
Review the generated MP3+CDG using VLC:
vlc U2\ -\ Some\ Days\ Are\ Better\ Than\ Others\ \(Karaoke\).mp3
- Alternately, render as an MP4 and play that:
ffmpeg -y -i U2*.mp3 -copyts -i U2*.cdg -filter:v "fps=25,scale=640:480" -pix_fmt yuv420p U2-example-rendered.mp4
- Alternately, render as an MP4 and play that:
The issue occurs around 2:20 just as the instrumental comes to an end:
-
If you used Josiah's code, you'll see two issues:
- the instrumental stays on screen for too long (right up to 2:23 when singing begins again), which doesn't give the singer long enough to read before singing
- once the instrumental screen is cleared and the lyrics render, the first 3 lines of lyrics seem to be rendered in the same color as the background (making them invisible), and then you only see them when the highlight wipe gets rendered - but that is rendered in black (not the correct highlight color)
- see screenshot attached below
U2-example-rendered-josiah.mp4.2024-10-30.12-06-36.png
showing what I see at 2:23
-
If you used the Nomad fork, the instrumental screen clears 3 seconds before singing resumes because of these code changes
- however, the screen appears totally blank after the instrumental clears (which I believe is just the lyrics being rendered in the same color as the background color)
- then once the singing starts again, the highlight/wipe color is still black - see screenshot
U2-example-rendered-nomad.mp4 2024-10-30 12-20-40.png
below
In the Nomad fork, I also added debug log entries every time the color table is written to, and I've attached a rendered MP4 showing what the output is like from this: U2.-.Some.Days.Are.Better.Than.Others.Karaoke.mp4
Search for color table
in log file U2.-.Some.Days.Are.Better.Than.Others.Karaoke.-cdgmaker-debug-log.txt
below.
I haven't been able to wrap my head around what's going on here yet, so any input is greatly appreciated! 🙇