A music sequencer

Stand clear of the closing doors!

Final version

Unity project zip files, Production build

Metronome is a music sequencer inspired by the sights and sounds of the New York City subway. Metronome allows users to create a mix of overlapping drum beats, melodies, and subway announcements all inspired by my experiences while riding the train. Different subway lines represent different parallel tracks whose stations can be sequenced as a train playhead travels along them. Samples draw from romantic images of the concrete jungle, like “Empire State of Mind” by JAY-Z and Alicia Keys, while others draw from the monotony of daily commutes in the city, like public announcements and subway stops.

Stand clear of the closing doors!


Use your mouse and click on subway stations (white circles) in order to switch certain tracks on / off! Some lines are “simple tracks” in which you can only indicate whether they should be played or skipped while others are “complex tracks” in which you can toggle between a variety of sounds for a given station.



Even comparing my sequencer to where it was at just 5 days ago, I’m super proud of where it ended up! My biggest goal between milestones 2 and 3 was to get the subway tracks to look more “subway-like” and have angles and curves other than just straight horizontal and vertical lines. I also wanted to have the subway car playhead move more smoothly between the stations, each moving at their own speed and creating a sense of controlled chaos, much like a real-life transit system. Overall, I think I was able to realize these two points in particular, and I think the “subway-ness” of the sequencer reads a bit better, even before the introduction of sounds like the subway announcements.

Working with Path Creator was both a help and a challenge, as it definitely made creating curved and customized tracks easier. However, getting Path Creator to sync up with the timing information in ChucK was certainly one of the hardest parts of this assignment. Arranging paths that resembled a subway system was also a challenge, and it took a lot of experimentation and inspiration from Mini Metro to arrive at this final design.

(Another unfortunate discovery from this process was that Unity doesn’t have pyramids or triangular prisms as basic 3D objects!)


Julia Mills, Path Creator, MTA subway sounds, How to Play "Empire State of Mind" by Jay Z ft. Alicia Keys | HDpiano (Part 1) Piano Tutorial , Jay Z SFX

Something working

Metro design

After lots of back and forth again about function vs. form and what aspects of my initial ideas might lend themselves well to a sequencer, I decided to pursue a metro- / subway-inspired sequencer. Thinking back to whenever I rode the subway during my time in NYC, I always remember this huge cacophony of noises — from trains braking and announcements blaring, to commuters chatting and performers busking. I saw that there’s an app that recorded the sounds of the NYC subway and upon hearing them, I felt immediately transported back.

Current status

In this sequencer, I hope to combine all of these different types of noises to create a mix of overlapping drum beats, melodies, and subway announcements all inspired by these experiences. Different subway lines represent different parallel tracks whose stations can be sequenced as a train playhead travels along them. So far, I have some of the subway lines working with some “basic” tracks that just toggle stations on/off and also some “customizable” tracks that can cycle through a variety of sounds. I’m still working on getting the train playhead to run on all of the tracks, and my biggest hope for milestone 3 is getting more variety in the trajectory of different racks (e.g. diagonals, angles, loops, etc.).

My sort of “north star” at this point is the song “Empire State of Mind” by JAY-Z and Alicia Keys (1) because it’s a catchy song that easily gets stuck in my head, and (2) because I thought it would be funny to have a JAY-Z sequencer which plays his ad-libs. By using this sequencer, I want people to feel a bit of chaos, but in the best way possible — chaos in that a metro system is always filled with the hustle and bustle of a lively city, but also some order in that train lines (ideally) run on time and at a fixed schedule.

Research and preliminary design

Chickenser tutorial

Doing the Chickenser tutorial was pretty fun! The chosen sound being Homer’s “dope!” Definitely gave me a good laugh. In reflecting on the audio visualizer as well, I can see how this sequencer will be a step up — having the ChucK and the Unity “communicate” back and forth between each other rather than just have the ChucK directly played from Unity like in the audio visual narrative. I found it really interesting how all of the temporal information is controlled in ChucK, and I think learning to use Events and sporking will open up a lot of doors of possibility.


I began by simply looking up “music sequencers” in Google and just sifting through different lists of links to different examples. I quickly found that a majority of the ones I came across resembled something like GarageBand where it’s a linear interface with parallel lines that run left-to-right on the screen and where you can place different tracks to play over each other. At times, I also noticed some grid patterns where you could toggle on/off different squares, while the playback position was still linear left-to-right. Other sequencers resembled “dashboards” with all sorts of dials and knobs. These sorts of interfaces felt familiar, with time being visualized from left-to-right, as I have some experience editing videos on software like iMovie, etc.

However, they highlighted to me how interested I am in creating something super different from these concepts altogether — perhaps something circular or game-like. I really liked the Typatone, a sequencer that “turns sentences into symphonies” because of how it introduced a new way of interacting with these sounds. I like the idea of making sounds out of things we don’t traditionally associate music with.

Preliminary designs

Halo halo

Maybe it’s because I’m a bit hungry while brainstorming these ideas, but I’m drawn to the idea of making a food-related sequencer. I think I’m also inspired by the P-Ray’s Cafe idea we read about in Artful Design, and I like to think about the many ingredients in a dish like the different components that make up music. Halo halo in particular is a classic Filipino dessert made of crushed ice, milk, and a mix of different beans, jellies, etc. Halo halo itself means “mix mix,” so I think it could be cool to play with the different ingredients in the dessert as different sequencer properties. For instance, pouring more milk into the glass could affect pitch (more milk = higher, less milk = lower), adding more jellies could affect gain or introduce different types of sounds as they hit the glass. I envision this as something similar to Kunwoo’s sequencer that we saw at the beginning of the quarter, where there’s a musical track already playing, and manipulating the scene goes on to influence the sounds we hear.

Tennis match

I’m currently taking beginner tennis through Stanford’s physical education department, so the game has been on my mind a lot recently. I often think about the rhythm to the game. It’s something commentators talk about a lot when analyzing the professionals play — thinking about how to find your rhythm or how to disrupt your opponent’s rhythm, and I think there’s a musical sense to that. The sort of back and forth tempo. For a sequencer, it could be interesting to have the user be a player in a tennis match, choosing how to hit the ball back to their opponent. For example, hitting with more force would lead to faster tempo, aiming high would lead to higher gain, and using a forehand vs. backhand would affect pitch. Maybe things like the court surface would affect how sounds reverb.

Subway map

I’ve always been interested in the design of maps, especially for public transit. I think a subway diagram with different colored lines could be an interesting way to map each line to a different sound or a different track. The lines could run horizontally from left-to-right, creating a more linear sequencer interface, and each train running across the line would create a different sound as it passes through each “station.” The user could even add / remove trains to play with the tempo at which the sounds run. For pitch, the user would be able to click and drag on each line at different points of the line, having them criss-cross or intertwine to create different melodies.