

The bottom row of images is much more structured and consistent. The top row of images is very chaotic and possibly had calculation errors. In the image above, the difference is like night and day (to me at least). Vivaldi’s Four Seasons generated using the original method (top row) and the new method (bottom row) for Spring (first from left), Summer (second), Autumn (third), and Winter (fourth). I can’t thank Peter enough for writing this script.

The result is a much cleaner set of data, complete with note names like D4# (a D# in the fourth octave) for verification. Generate CSV from MIDI file with midicsv-process.The script- midicsv-process-not only parses data from a MIDI file but accounts for tempo changes so each note has an accurate timestamp. Peter Jonas from MuseScore was kind enough to write a script to eliminates Google Sheets entirely and the risk of inaccuracy. Import CSV into NodeBox to generate images.I used Google Sheets because it was easier to get the lookup formulas working to combine the three CSV files for each score (notes, measures, and parts) into one final file. Combine CSV files with Google Sheets: The process of combining CSV files with Google Sheets was the most time-consuming step of the original process and had the risk for inaccuracy.Upload select CSV files to Google Sheets: Copying and pasting tens of thousands of cells into Google Sheets was a slow process and prone to failing-even with the speediest of browsers.Booting up Windows was very slow process. Plus, I was using a computer that was seven years old, which meant just turning it on took a while.
Nodebox scripts mac#
Being a Mac user, this meant I had to use a Windows virtual machine each time to convert XML to CSV files. Convert XML to CSV with Luxon: The web-based tool had a 4mb size limit and several scores had so many notes that resulted in XML files beyond that limit which meant I had to use the downloadable tool and it only worked in Windows.I preferred to use existing tools to convert data, even if doing so required extra steps.
Nodebox scripts code#
My original method involved several unnecessary steps mostly because I was avoiding writing code to do the parsing. In order to do this efficiently, we wanted to streamline the process for creating the images, which meant finding a way to eliminate the annoying bottlenecks New method That was an exciting prospect and I happily agreed. They wanted to use the images I generated as cover images for each score. However, several months ago, I was approached by the MuseScore team to partner with them on OpenScore-a Kickstarter campaign to liberate public domain sheet music by making it available in open formats on any device. I’ve wanted to create more images for Off the Staff since I created the originals in September 2016 but the process had bottlenecks that zapped my motivation.
Nodebox scripts how to#
Since my first attempts at visualizing music, I learned of new methods for making the images and even how to animate them. Thanks to the help of the good folks at MuseScore, creating new editions of Off the Staff is now much more streamlined. I still can’t read music but I can parse it a lot more efficiently now.
