Highly inspired by https://www.youtube.com/@math-floyd/shorts, tried exploring the same in Python!
Sample Video https://github.com/athishaves/dreamyTunes/assets/47027954/7efe6629-22af-42f4-8bbc-9b47e45350c4
Instructions
- Requires python3, pygame, cv2, ffmpeg and maybe linux (i haven't checked in windows)
- Get audio and midi files of the song
- Use https://www.visipiano.com/midi-to-json-converter/ to convert midi to json
- Run the program
python3 animate.py <inputPath> <bgImagePath> <logoImagePath>
inputPath -> make sure input json is saved asinputPath.json
and audio file is saved asinputPath.wav
- If you had changed the TEMPO of the audio, then set the TEMPO.
Default is 1.0 - Then the program will ask for the TRACK number.
audio might have many tracks and the same would have reflected in the json file.
Select the right track (0-indexed). - You can also set the resolution of the output video by changing
SCREEN_WIDTH
andSCREEN_HEIGHT
.
By defaultSCREEN_WIDTH, SCREEN_HEIGHT = 1920, 1080
.
Time to render the video mainly depends on this factor