A Notation System for Ableton Push
Nonsemble Performing at GoMA in 2019 with String Quartet and Ableton Push
In June 2019, my group Nonsemble and I performed a set of original compositions for Ableton Push and String Quartet for Gallery of Modern Art in Brisbane, Australia. Over the last year and a half since that gig, I have been thinking a lot about the idea of a written notation for the Ableton Push - what could it look like? Who/what would it be for? How would people use it? As a composer who works with both electronics and traditional staff notation, it’s occurred to me that the Push is one of very few instruments that doesn’t have a system of notation. There are plenty of good reasons why it doesn’t, which I’ll go into momentarily, but from my perspective there seems also to be a number of specific reasons why it might be a useful thing to have.
So after a year on-and-off of sketching, thinking, playing, composing and performing, I’ve arrived a stable first prototype of my Push notation system, which I’d like to share. In this article I’ll talk a little bit about the parameters of a useful notation system, present some short notated excerpts, and break down some of my thinking behind what I’ve devised.
But first, what is the point?
Why bother creating a notation system for Push?
There are a lot of good reasons to not bother with this:
Push is often used within a highly personal, creative, and idiosyncratic production/performance processes. Unlike a trombone or an erhu, there are no established mainstream playing methods and almost infinite ways to use it. A notation, being a necessarily prescriptive language, runs the risk of either being useless within the unique workflow of most users, or worse, inhibiting creativity.
Unlike Classical music, notation is not generally required to communicate a piece of electronic music from one musician to another. Sending files is faster, infinitely more detailed, and doesn’t require the recipient to decipher a new symbolic language.
The Pads light up anyway. So if the job of notation was to show someone what pads to hit and when, this function could easily be fulfilled by the pads which light up when triggered by events in Ableton. Therefore, in note mode for example, you could just play the MIDI clip that you’re hoping to learn, watch which pads light up, and copy it, like a real-time visual score.
In a similar vein, the piano roll serves as a ready-made notation system. You can learn to read the piano roll just fine with a bit of practice, and it is already integrated into Ableton Live.
Most users get along fine without it. Genres of music which are most popularly played on Push (I’m thinking EDM and other genres of electronic dance and pop music) tend to be melodically/harmonically repetitive, and lean more heavily on sonic manipulation and sound design to create interest. Mixing, timbral control, and effects manipulation are difficult things to meaningfully notate, and any attempt to do so might be less efficient and produce inferior results to simply using your ears, brain, and hands. Especially as many producers and performers are more comfortable learning and playing by ear anyway, and don’t need notation any more than most rock bands do (which they generally don’t, for those who’ve never played in a rock band - don’t bring your music stand to rehearsal, loser).
I had to write out the above points early in this article, so that if I managed to talk myself completely out of this project, then I could stop before I’d wasted too much time. The above points are very compelling, and if nothing else, they should convince us that a Push notation system is not going to have a massive take-up among regular users. It’s a niche solution for a relatively niche set of problems. This doesn't make it pointless though - there are only a tiny fraction of users cracking open their Max For Live devices and re-engineering them or creating new ones, but none of us would argue against the existence of Max for Live. I am holding on to a few thoughts that still make it worthwhile in my mind to have a notation system for the Push:
1. Notation helps us learn.
In my work at University of Queensland I teach a course on Music Technology for Performance, where Push is used widely, and students devise and perform their own compositions. I realised that while my colleagues at the School of Music focused in great detail on teaching their students how to play their instruments expressively, fluently, and virtuosically, our classes with Push were very different. We talk about the subtleties of its integration with Live, what the buttons and knobs do, how best to set up instrument racks for it, how to take an existing piece from Arrangement and set it up in Session view, etc, etc. Very rarely is How To Play explicitly taught. Perhaps this makes sense, because I don’t really know the right way to play - not only does it feel very idiosyncratic to me, but as an instrument it’s also extremely new. There hasn’t been time for an established set of techniques and methods to emerge, and even if they did, due to the nature of the instrument, such a thing would only be narrowly applicable.
But just because there’s nothing much to teach doesn’t mean there isn’t anything to learn. There are Push players in the world who’ve truly mastered the instrument to a level which could be called virtuosic. And to say that we have nothing to learn from studying how they play would be ignorant and a missed opportunity.
In this point it helps to consider how jazz musicians learn - Jazz is mostly improvised, and notation used by performers in practice is either non-prescriptive or non-existent. However, when jazz players are learning, they will learn and/or transcribe a master improviser’s solo note-for-note, to learn it from the inside out. I feel like the Push is a serious enough musical instrument to warrant this kind of study for some people.
For students who think of the Push as their main instrument, and really want to become virtuosic players, having an easy way to learn and mimic legendary Push performances is going to hugely extend their skills.
2. Not everybody learns the same way.
It’s fine to say to some students, “just play around, you’ll get the hang of it”, and those who are more spontaneous, confident, and have already developed strong compositional skills will most likely do really well. In my experience however, not all students are like this. Some prefer to run through prescribed activities before they just wing it in pursuit of their own personal vision. Some actually aren’t drawn to composition, but are still very creative and engaged as performers. Some need to work through concrete examples so that they expand their understanding of what the tools are capable of. For these students, the “just play around” approach isn’t sufficient.
This is an equity problem for music educators - The students in the latter categories are unlikely to be vocal about their struggles. In my experience, only very few have the insight to say “I need more scaffolding to learn well”. In most cases, they assume that they are no good at it, or that it’s just too hard for them. On the other hand, those students who naturally thrive by being thrown in the deep end are not going to advocate for anything other than what has worked for them.
It falls to the educator to perceive these variations and cater for as wide a range as possible. And I think there is a portion of students who, upon learning to play the Ableton Push, would greatly benefit from a formal notation system to scaffold and guide their practice.
This is not to say that Ableton educators are not aware of this and acting on it daily, but that a notation system would surely add to the variety of methods available to learn the instrument in a guided and supported way.
3. Notation helps integrate the Push into notated musical worlds.
As I mentioned above, I’m a composer and I’m often working with combinations of electronics and notated music. In some cases both in the same piece. In recent times, I’ve been using the configuration of Push + String Quartet as a regular instrumentation.
When I am performing solo electronic music on Push, I don’t feel the need for any notation - I learn the parts by heart, program anything I can’t play live, and build in a bunch of flexibility in case I make a mistake or change my mind spontaneously. When I began playing music with the quartet however, it became clear that the approaches were not easily compatible, and I had to find ways of bridging the gap. One way I did this was to add a couple of staves in Sibelius (notation software) which showed roughly what was being played on the push or from Ableton, so that I could refer to it during rehearsal and be clear about where we were in the piece. This at least gave us some shared bar numbers and rehearsal markers, and served as a reminder for me of the structure (since it wasn’t quite so easy to just spontaneously change it).
So it definitely seems to me that a notation system would be really helpful in the process of conceiving of a composition that integrates the Push within a primarily notated context.
4. Notation helps us to record and remember physical actions for performance.
As I’ve developed and rehearsed for performances using Push, I’ve found there have been passages that I want to play which really extended beyond my current ability. There is always the option to make it easier by just programming part of it as playback, but there’s also an opportunity to build technique and fluency on the instrument by practicing the hell out of it until you can do it. In these types of situations I feel like the ability to externalise the actions by notating them can really assist the practice process. Notating things allows you to codify patterns and movements in a visual way, and for me at least, this reinforces my physical memory and helps me to master tricky things more quickly.
There may be additional benefits to having a notation system for the Push, but these are the ones that seem clear to me, and have guided my development of the system I presenting here.
What would a useful Push notation system look like?
To address the needs described above, there are a few criteria that a successful notation would need to meet. A successful system would:
Leverage existing languages and workflows as much as possible, adding new symbols or forms only where necessary.
This point is important for usability. It occurred to me early on that to truly embrace the Push’s uniqueness as an instrument, one could devise a method of notation which shares nothing with any existing system, is interactive, animated, and dynamic, and can only be displayed on a high-resolution colour screen. Perhaps this is still a worthwhile project for someone. But for the kinds of uses I am interested in, the initial point of entry has to be easy and familiar.
On a macro level, to make a system which can be displayed on paper in black and white makes it useable in even the most classical of contexts. It also means an idea can be scribbled on a napkin.
On a more detailed level, to retain symbols and conventions from existing well-known notations means that many users already know how to read many elements, and even if they don’t, learning it will still be useful for other contexts.
Accommodate a range of performance methods
The Push can be played in so many different ways, and I think a notation system should be able to represent all of them if possible. The most common categories of performance approaches that I observe are:
Session Mode
triggering session clips
live-recording loops as session clips
live control of FX using rotaries
live control of mix using rotaries
A mix of the above
Note Mode
Pitched instruments using the note layout
Pitched instruments using the melodic sequencer
Playing drum racks with live sequencer input
Playing drums racks with 64-pad layout, often with harmonic and melodic elements loaded onto pads as well as drums.
Any of the above + live control of FX using rotaries
Simpler instruments in Slice Mode
Various combinations of Session and Note Modes
There are certainly more ways of using the Push, but they get more idiosyncratic beyond this, and I think the above is good to try cater for as an initial starting point. In addition, within those that I’ve listed, some are more commonly used than others in performance, i.e. triggering session clips + live control of fx; pitched instruments using note layout; and 64-pad drum racks. So I think it makes sense to prioritise these more common modes, whilst allowing for everything else.
Easy for users to generate
I think it is very important that users are able to write the notation as easily as read it. The success of any language hinges on people picking it up and using it, so if its format requires specialised software to generate, then it will be strangled. Any musicians should be able to quickly and easily scrawl it onto a piece of paper, or enter it into their notation software of choice.
It is one of my aspirations for this notation system for it to be adopted by something like Dorico or MuseScore so that users can easily add Push staves into their composition. I think it could also be a cool future project to develop a Max for Live tool which can take MIDI data and convert it to Push notation for printing or exporting to PDF.
Capable of an appropriate and scalable level of detail
I have a deeply complicated love/hate relationship with traditional Western staff notation, but one thing it does well is accommodate scaling of detail. Compare sparse jazz lead sheets with suffocatingly detailed modernist scores - there is a great deal of flexibility around what information is included or excluded. This is very useful, because in some cases, you just need to communicate a melody to a performer who already knows the musical context. In that case, all that’s needed is a stave, a clef, and a few notes. But then you might hand a new composition to an ensemble who’ve never seen it before, and they’re gonna need more info. So there are handy conventions for adding tempo, meter, dynamics, techniques and articulations, etc. etc.
A good notation system for Push would share this characteristic. If I wanted to very quickly show you how to play a melody in Note Mode, then a very simple sketch should suffice. And on the other hand, if we wanted to transcribe in detail every action of a virtuosic performance from a true Push master, we should be able to do that too.
Also, given the various purposes and contexts, we have to assume that there will be many occasions where the performer is provided with an .als file which contains instrument sounds already dialled in, and much of the information that would usually be written at the top of the score, such as tempo. In these cases, as long as the score shows the filename that is to be used, a lot of that information can be left out of the written score. In contrast, we can also imagine situations where it is artistically or educationally beneficial for the player to have to build the set from scratch, in which case the composer might need to include a bit more detail in the score.
Integrates comfortably with staff notation-based scores
In order to facilitate the inclusion of the Push in establish notation-based styles and practices, its important that it isn't wildly incompatible with common notation methods that are already in use. So for example, if it relied on fine use of colour, animated elements on a screen, and/or was completely non-linear, it would be very difficult for composers to integrate it in a score with traditional instruments.
The first prototype
In the system I’m presenting here, I’ve essentially divided things into two different formats for Note Mode and Session Mode. Ideally, a complete notation system for the Push would unite these two modes, but after exploring many avenues, I can’t see an elegant way to do so. They are such different ways of playing. Compromising one to integrate it into the other tends to make it either difficult to read, or full of redundancies. I’ve put more detail into the Note Mode system, mainly because it is more useful to me in my particular practice, but I’ve also sketched out a Session mode prototype which can hopefully be developed and refined over time. I would also hope to develop conventions for inserting a short passage of one into the other without causing too many issues.
The one thing that I’ve managed to keep common between the two is a blank manuscript paper. You can use the same template for both, using it in portrait orientation for note mode, and landscape for session. Here it is if you'd like to try it out:
Note Mode
After playing around with a range of possibilities, the design I settled on is a linear tablature design which bears many similarities to guitar tab. It’s written on a nine-line staff, with enough space in between the lines to write numbers. The spaces in between lines represent rows of pads, and the numbers represent which pad in that row to play, counting from left to right. Many of the symbols, such as rhythmic notation, time signature, and repeat signs, have been adapted from traditional staff notation.
The excerpt I chose for this is quite short but includes a few of the trickier things that needed to be accommodated, such as simultaneous notes on the same row, and long & short rhythms.
Notated Excerpt from existing piece for String Quartet and Push entitled "Argentavis"
The guitar tab style works well for a few reasons. Firstly, it means that the same notation can apply for 64-pad drums racks, Simplers in Slice Mode, and other situations where indication of the note itself (a la staff notation or piano roll) wouldn’t work. Secondly, it helps us leverage an already widely-used language. And thirdly, the commonly used 4ths Layout in note mode kind of resembles the layout of pitches on a guitar. So in this design, we simply indicate the position of the pad that needs to be played, rather than the actual pitch. This means that we’ll need to be very careful to indicate the scale the Push needs to be in, and whether it uses In-key or Chromatic, lest the reader play something completely different to what is intended. In the excerpt this is indicated at the top in the format “Root Scale / In-Key or Chromatic / Layout”, e.g. “C Maj / In-Key / 4ths”. In place of a clef, the octave range of the pads is shown at the top and bottom corners of the staff.
The rhythm has been notated using an adapted form of staff notation. crotchets, quavers, and smaller durations are written with a number in a square, and given a tail indicating their duration. Minims and semibreves are written with a number in a circle, with minims given a tail. Time signatures and bar lines are uses as per staff notation. I toyed around with using a metric grid to measure time, similar to a piano roll, as the irrational nature of time in staff notation has always grated on me. I dislike how a polyrhythm which might look simple and elegant on a piano roll can look insanely complex on a staff, with dots and ties and duplets everywhere. However, I found that while the grid shows time most clearly, it is also very prohibitive for pen-and-paper writing. The writer would need to be able to scale the grid up and down depending on the speed of the material, and the visual planning to fill a line neatly would make it a very frustrating activity/ It would also cause a great deal of formatting issues when included as a stave within a score that includes traditional instruments. Given these issues, it would be possible to solve the above problems by devising an entirely new and different method of notating time and duration, however this would generate a new problems for those who must learn to read it. So it is with some reluctance that I am embracing the traditional system of rhythm notation here. If any readers see other possibilities, please send your suggestions!
https://www.youtube.com/watch?v=LTJQ1DdI9qQ&feature=youtu.be
A demonstration of how the excerpt is played on the Push
Because the excerpt is pretty short and concerned mainly with what is happening directly on the pads, there are a few things that don’t appear but would certainly crop up if a full performance were notated in this way. So I’ve designed a few notations that will hopefully cover these. However their efficacy will be much easier to assess when they’re used in context.
Additional Notations that don't appear in the excerpt. Left to Right: Track/Instrument Selection; Scale change; Octave shift; Play Button.
The first is Track/instrument selection. it’s common on the Push to use more than one track or instrument during a performance, and the ability to switch fluently is part of the Push skillset. So the notation needs to be able to indicate this clearly. My current proposal is a symbol inspired by the Push’s track selection buttons - a rectangle with a horizontal line inside it. A line attaches it to the position on the staff where it should occur. Above this is text which indicates the name of the track.
I have also designed a few symbols for changing pitch of the pads. You’ll note in the main excerpt, there is a scale indication at the top showing “C Maj / In-Key / 4ths”. If we want to change scale mid-piece, we could draw box with “Sc” attached to the staff, underneath an indication of the change that needs to be made. This should only show the element that needs to change, i.e. if the scale changes from C to G major, and the settings of In-Key and 4ths remain the same, then we should only need to write “G Maj”. Likewise if we only wanted to change from In-Key to Chromatic, then we should just write “Chromatic”. If the adjustment results in a change to the octave range then that should be indicated too in the same way as at the beginning of the piece.
Similarly, if we need to shift up or down an octave we can use chevron symbols (the same as those on the Push’s own Octave buttons) in a square attached to the staff, and additionally indicate the octave range at the top and bottom of the staff.
In fact, the convention of using a square attached to the staff by a line can be used for any operation that involves buttons outside the main pads. For example, if the sequencer needs to begin playing part-way through a performance, this could be indicated by a triangle.
Additional notation examples: manipulating effects parameters using rotary controllers; repeated notes showing the pad no. on the first note only; and accent symbols borrowed from staff notation.
Additionally, if a passage includes repeated notes, especially of crotchet or smaller duration, it seems redundant to have to notate them over and over. I think it helps both reader and writer to indicate the first note using the usual number-in-a-box, and then simply draw the tails of recurring notes.
The system also comfortably accommodates traditional accents and articulations. The excerpt above uses the “>” accent symbol to indicate notes that should be hit harder than others by the performer.
Another common performance action is the live tweaking of sounds and effects using the rotary controllers at the top of the Push. I am proposing a simple circle symbol attached to the staff via a line, above which we write the parameter, and following which we can draw a rough curve of the kind of gestures that should be made. I imagine that this will be quite generalised (much like dynamics in traditional notation), with specific values being determined by the performer. However, if a composer did want to be more specific, it would certainly be possible to write in starting and target values to define the precise movement of the controller. In most cases however, such detail seems too prescriptive and overbearing for the purposes of this notation system.
One limitation here is that to add a second or third controller for simultaneous tweaking would be a little visually awkward, so a new notation may need to be designed for this case. The idea behind the single controller notation is the scenario that one hand is playing on the pads while the other is tweaking effects, so only one parameter can be easily tweaked at a time. However this is certainly not the only way to play, and I can imagine many situations where multiple knobs might be moved simultaneously as part of a performance. So perhaps this convention will be updated in a future edition.
Finally, another common performance tool is the Drum Rack sequencer layout. I have devised a method of notating sequencer programming actions which can appear inline within a continuing Note Mode staff.
In the example below, I've notated the first two sequencer actions performed by Sakura Tsuruta in her video embedded above (appearing from 0:10).
Appearing inline on the 9-line stave, we insert a full grid which indicates the selected Drum pad (using an 'x' at the bottom left), the pattern which needs to be entered (as dots in the top half of the grid), and the loop length as angle brackets (< >) in the bottom right. Importantly the current level of subdivision is indicated above.
Excerpt of notation for Drum Rack Sequencer input
This is the only occasion in the system where the entire 8x8 grid is represented. In all other aspects of this system I've avoided ever having the pad grid appear in full, because it results in either extremely cumbersome use of space, or a non-linear representation of time. In this case however, because the sequencing action can be complex and can contain a great deal of musical detail in one figure, the full-grid representation warrantes the space it takes up. We can indicate a pattern which is to be programmed on a single Drum pad, and it may contain anywhere between one and 32 pads which need to be turned on in the sequencer. The performer then needs to simply plan to execute the pattern by the point in the music that the figure occurs.
The melodic sequencer could be notated in the same way, except the sequencer would take up the full grid, and the subdivision, scale, and octave position would need to be indicated in the text above.
Session Mode
In my search for existing notation systems for Push, the only thing I came across was this 2015 article from composer Vincent Giles, describing a notation system devised for a Novation Launchpad controller: "Scoring for Grid Controllers: Preliminary considerations of action, gesture, functionality and limitations"
This was a really interesting read, and Vincent proposed a system where time moves from top to bottom, and the 8 columns of pads on the controller are represented in vertical columns, with numbers indicating the row to be triggered. As far as notation for Session Mode playing goes, I found it difficult to improve upon this basic architecture. To present rows on horizontal lines and tracks as number indications would be counter-intuitive due to the primacy of the track above clips. To turn the whole thing on its side with tracks running horizontally would take more mental spatial decoding effort than seems necessary. So it is with respect and acknowledgement to Vincent Giles that I build upon a very similar basic structure here. Where I’ve changed and built upon this basic idea, it has been with aims to cover more generalised and perhaps less experimental uses.
Excerpt of Session Mode notation format from Set "CP Push Demo"
Demonstration of notated excerpt
The excerpt I’ve chosen is from a Set that I use for my beginner classes to demonstrate how Session View works, so it is a kind of cheesy electronic track. It is prosaically entitled "CP Push Demo". I don't use Session Mode extensively in my own performances, so this was the most generic thing I had to cover the basic common uses of Session Mode.
My session Mode notation is a vertical staff read top to bottom, then left to right across the page for additional staves. 9 vertical lines proved space in between where numbers can be written which indicate the row of the pad that is to be triggered. There are two main things being represented: firstly, the basic triggering of clips via pads (trigger points), and secondly, other sonic manipulations that occur in and around the trigger points (manipulation). Time duration is indicated on the left by a number under a bracket. This number indicates how many bars until the next trigger point.
At each trigger point, a number in a box shows a newly triggered clip. A dash indicates that the previous clip on this track will continue to play. A horizontal line crossing all 8 spaces and connected to an additional number in a box to the right of the staff indicates a scene trigger.
In between the trigger points, a set of brackets demarcate the area used to indicate manipulations. A short vertical line connected to the top bracket shows which track should be selected for performing manipulations. Within the brackets, a small circles shows the performer which of the 8 rotary controllers to use. Underneath it appears a generalised suggestion of the kind of gesture that should be performed with that controller. Dotted lines mark out the minimum and maximum values of the rotary controller, and the solid line in between shows a rough journey for the controller to take. The duration of this action should should correspond with the number of bars indicated in the timing bracket immediately above it.
Unlike the notation I’ve devised for Note Mode, it is assumed here that an Ableton Live Set file is provided. This is because I simply can’t imagine a situation where someone would provide this kind of notation in absence of the Set file itself. For this reason, less thorough indication is required for things like tempo, instruments names, and descriptions of what parameter a particular knob is controlling.
There are still a number concerns I have about this prototype. While it works quite well for simple pieces, there are a number of possibilities that it currently doesn’t cope well with:
Triggering a clip in the middle of a bar (using 1/2 bar or smaller launch quantisation).
Detailed and complicated effects parameter manipulation.
Using session mode to record live loops.
Rapid switching between tracks/instruments within a short time period (the current design assumes that for one segment in between two trigger points, a single track will remain selected).
Currently there are only indications for effect manipulations on single Tracks using the Device View, and not for manipulating Mix parameters in the Mix view.
This notation, being vertical, will not sit easily within other notated contexts. One possibility that could be implemented within notation software is to have the notation rotated 90º within the full score, but presented vertically in the part.
I don’t use a whole lot of session view when I perform, and when I do it tends to not be very difficult or involved. Thus I would strongly encourage anyone who regularly performs in Session Mode to get in touch and let me know what you think. Making this prototype has made me begin to wonder whether a Session Mode notation is actually less strongly called for than a Note Mode notation.
Integration
In many masterful Push performances, the Note and Session Modes are fluidly integrated, and switching between the two can be very rapid and frequent. Currently this is not something the notation system can deal well with. However I am choosing not to focus on this issue at the moment. One a notation system for each mode because well-developed and stable, then I expect that a means of integration between the two will become clearer.
Final Thoughts and Next Steps
It's my hope that what I've presented here is a strong enough foundation that others may be inspired to try and implement it and improve upon it. I am aware that while I've done a fairly extensive amount of thinking and sketching, one thing that I have not yet done is written out a whole piece, let alone given it to someone else to play. I expect that once I start to do those two things, a whole range of new issue will appear that need addressing.
Next week I am premiering 4 new compositions for Push and String Quartet (one of them being "Argentavis" which appears in the first excerpt). After that, and depending on what feedback and thoughts I receive from the Ableton community regarding this post, I'll begin the process of formally notating those works. Once they're done, I'll be inviting any interested musicians, ensembles, or educators to have a go at performing them. When someone truly outside my context has to decode a whole piece using this notation, I expect then we will start to see where its strengths and weaknesses lie.
Until then, I would love to hear from anyone who has thoughts about what I have presented above. Don't be afraid to dig in - let's work together to make a neat and robust notation system for a wonderful musical instrument!