Generative Sonification of Web-Scraped Bike-Sharing Data


In my final for my music technology class, I developed a generative algorithmic composition that changes based on web-scraped bike sharing data.

This past semester, I took a course on music technology. This was not something I never really done before as I was never particularly musically gifted. I was always the worst person in music class and was always “last chair” when I played the stand-up bass in elementary, middle and high school. However, I’ve always thought the music was neat and wanted to see how data science could be applied.

In the class, offered by Berkeley’s CNMAT program, The professor taught students how to use the visual programming language Max to create music and multimedia projects. Max is a data flow system where patches/programs are created by arranging building blocks within a visual canvas. These objects can receive input, generate output or do both. These objects pass messages between each other and can transmit various information to each other.

While other people in my class developed instruments or analyzed various sinusoidal parts of music, I chose to build something that the program was not really set up to accommodate. I used Max to web-scrape the open-data for every bike sharing system in the United States. Having spent the year using the Bay Area’s Ford GoBike, I became interested in the flow of riders and bikes and wanted to sonfiy this information.

Thus, I used Max to scrape the bike sharing information for each of the 87 systems in the United States. I then took this data and every time someone docked or removed a bike from a given system, I played a sound related to that bike sharing system. So for example, if someone docked a bike in Miami, I had Max play a sample of Cuban music. While if someone began to ride a bike in Detroit, I had Max play a sample of Motown. This created a neat generative sample of music that was kind of interesting.

The code and images of the project are available here.

comments powered by Disqus