Skip to content

AdmTal/music-graphs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Music Graphs

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

Example Videos

bach_3_1700340455.mp4
wii-music_1700340479.mp4
jeopardy_think_1700525915.mp4

Install

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

Generate a Video

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

What's a "Sound Font" file?

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.


Note Ordering:

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!

About

Turn MIDI into animated visualizations

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published