👋 Hey there! Welcome to Music Graphs 🎵📊
This is where the magic happens for the videos I post on TikTok.
Check it out if you haven't already!
🤩 Follow me! Like my videos! Make me famous!
bach_3_1700340455.mp4
wii-music_1700340479.mp4
jeopardy_think_1700525915.mp4
Alright, let's get you set up. This baby runs on Python, so let's prep your environment.
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
You'll also need ffmpeg.
brew install ffmpeg
Ready to roll? Start with this example:
python music_graphs.py --midi examples/wii-music.mid
Add --dark
to use a dark theme.
python music_graphs.py --midi examples/wii-music.mid --dark
This command churns out a video. But hold up, it's kinda vanilla, right? Let's jazz it up!
Run it with a Theme file:
python music_graphs.py \
--midi examples/wii-music.mid \
--theme examples/wii-theme.yaml
Boom! Looks way cooler, doesn't it?
For all the nitty-gritty on customizing your video, peek at default_theme_dark.yaml. There's a bunch you can tweak!
See the help command for full options:
Usage: music_graphs.py [OPTIONS]
Options:
--midi PATH Path to a MIDI file. [required]
--theme PATH Path to a YAML theme file.
--dark True if dark theme should be the used.
--output_filename PATH Output filename (path).
--soundfont_file PATH Path to a Soundfont file
--help Show this message and exit
For more details, check out the wiki, but the gist is: while a MIDI file outlines the notes of a piece, a SoundFont file fills in the sound - it's what makes the notes come to life with actual timbre and tone. You can find better, more realistic sound fonts online.
For example - Look for "SGM-V2.01.sf2" on https://www.doomworld.com/forum/post/1827928.
In the theme file:
# For Chromatic
nodes_sorted: true
# For Circle Of Fifths
nodes_sorted: [6, 1, 8, 3, 10, 5, 12, 7, 2, 9, 4, 11]
🙏Thanks for stopping by!