Skip to content

Releases: nomadkaraoke/cdgmaker

v0.1 - Nomad branded CDG files from MidiCo LRC (with post-instrumental bug)

30 Oct 16:52
40dc420
Compare
Choose a tag to compare

Instructions to reproduce post-instrumental color palette bug:

  • Clone the source code for either this version of cdgmaker (with Nomad Karaoke branding on branch nomad-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 command cdgmaker later on)
  • 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
  • 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

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! 🙇