Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add export to CDG #5

Open
incidentist opened this issue Jun 9, 2022 · 5 comments
Open

Add export to CDG #5

incidentist opened this issue Jun 9, 2022 · 5 comments

Comments

@incidentist
Copy link
Owner

Add CDG export so videos can be played at actual karaoke joints.

@oxodao
Copy link

oxodao commented Feb 2, 2024

Would be really cool. There pretty much no good CDG creator, they're either really old piece of software, paid at a huge price (Seriously 100+€ for this?) or both :(

@incidentist
Copy link
Owner Author

I agree, I'd like for this to happen but it's low on the priority list right now. Most of the karaoke places I know are not limited to CDG anymore, they can play mp4s just fine. Adding CDG is also a lot of work, because as you mention, there are no existing libraries for encoding to pull from. Lots of libraries for decoding, so that's cool.

The best reference I have found is the Karaoke Lyric Editor, which has a CDG exporter that could probably be translated into Python/TypeScript: https://github.com/gyunaev/karlyriceditor/blob/master/src/cdggenerator.cpp . I'm happy to accept a PR for this, preferably in TypeScript since The Tuul is moving towards doing as much as possible on the client side.

@incidentist
Copy link
Owner Author

@oxodao
Copy link

oxodao commented Feb 4, 2024

I have a niche case, I'm making a photobooth-ish appliance that can also do karaoke which takes pictures every x minutes, so I much prefer CDG as they are not obtrusive on screen, they render directly what we need, videos have full background hiding the webcam feed. Plus they are heavier (<10mo for CDG+MP3 while VP9 video @ 720p for a song is generally 30mo which is quite a huge difference when we're talking about hundreds of songs).

I unfortunately do not have the time to make a PR but I wish you luck, this is a really cool project

@incidentist
Copy link
Owner Author

Thanks, it's always useful to have a better understanding of use cases. Another option might be to output lyrics/timing info in a format that the lyric editor linked above can work with. You'd do most of the work in The Tuul, export to that format, load the exported file in that app, and export to CDG.

That'll take time, but not as much time as writing an encoder from scratch.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants