Hookpad is a sketch pad for musical composition that focuses on two primary elements: Chords and Melody.
Even with this focus, it’s an ambitious task, because there are many secondary elements that come into play for musical composition. Hookpad toes the line between providing important features, and constraints that help guide the user towards creative composition. There is an overarching music theory component because it’s a product of Hooktheory and as such it is a very useful educational tool. But sometimes this connection to traditional notation feels constraining—it limits the potential for exploration.
It was not immediately clear where to begin with Hookpad. Hookpad has two separate timelines, one for Chords and one for Melody, but these are both towards the bottom of the page. At the top, there is a bar of global settings for the song such as signature, key, and tempo. Below that, there are settings to set the duration of the next note of a melody, and a whole slew of settings for the chord. Finally, there are the Chord and Melody timelines. All of these areas are related and useful, but I think they can be overwhelming.
Many of the settings serve to enforce the user’s knowledge of music theory. But to a novice, or to someone with a passing knowledge, they can be distancing. I have taken theory, but I’m more used to recording myself playing an instrument, and/or using DAW’s like Ableton, Logic or Fruity Loops to sketch out my compositions.
So initially I saw Hookpad as an alternative to the MIDI Piano Roll that just happens to emphasize theory. My instinct was to explore my scales and improvise new compositions using the ASCII keyboard as if it were a MIDI instrument.
Hookpad has a slew of shortcuts mapped onto the keyboard that could be very powerful, but I find them distracting from a more intuitive form of composition—improvisation. In fact, the shortcuts load on their own separate page that requires navigation away from the current page. Through keymappings, we can toggle through the notes and chords within a scale by pressing the up and down arrows while placing the chord or melody timeline is selected. More importantly, the shortcut keymap allows the user to place different chords/melody on the timeline by pressing the numbers 0 thru 7. But chords/notes can only be triggered via ASCII some of the time.
The shortcuts allow you to set duration of your note placing tool. Initially i found this to be an awkward way to compose. While users can trigger chords and individual notes of a potential melody, when it is initially loaded, Hookpad affords no improvisatory mode.
The ability to change the key’s root and mode is fun, especially if you already have an idea of what modes like Mixolydian mean from some music theory training. It would be useful to hear the mode playback when it is selected. Or, one might think they could play the scale back with keymapped shortcuts.
So the first thing a user might do would be to choose a key and mode, and explore what it sounds like by pressing the keys 0-7. But in the default mode, by doing so they will be writing a composition onto the piano roll. Obviously this can be deleted. But it is an awkward introduction to the compositional process. It doesn’t allow any time to get to know the key/mode, or to play with rhythm because every note starts with a default rhythm. Changing the duration requires hitting a separate button before placing a note in its position on a sequencer or pressing a key 0-7. This is an awkward way to program a step sequencer, and counterintuitive to the way that musical instruments are played. Instruments control duration by triggering a sound and then, typically, stopping it—controlling its duration in time in real time.
Creating an improvisatory mode would make for a much more exciting compositional process. This way, I could use my ears to explore the rules of music theory and compose, allowing the underlying theory to reveal itself naturally.
Instead, there is Record mode. Record mode is misleading. It is limited for non-PLUS users.There are also problems with it. For example, on Chrome, every sample clips on the attack while I am recording. On playback, my “recording” doesn’t clip (thankfully). But that’s not the only difference I hear when listening back to my transcription… The rhythm of my chord progression is not as I remembered playing during my performance. It is both familiar (generic) and unfamiliar (as in, did I play this?). It has taken on a rhythmic emphasis that I did not intend. In between the attack/decay of my ASCII keyboard performance, it has imposed a new rhythm on the chord progression.
I’d like to think that there is some reason for imposing additional rhythmic details onto my recorded improvisation. Maybe the goal is that I should learn to obtain the rhythmic emphasis I originally intended (and have since forgotten, because I was improvising) by getting meticulous with how I might notate that rhythm. But Hookpad’s interface doesn’t make it easy to notate/program natural rhythms for the chord progression, even if I did remember. I’ll use strumming as an example (even though Hookpad’s guitar can’t actually make any sound—it is only used for showing you how to finger the chords that are played back on piano). If I make a single chord last a full bar, I’d expect one strum to last a whole note. But, it adds additional strums. For more detailed strumming patterns, it’s hard to drag/subdivide that chord into the exact rhythm I want because I can’t make it sustain, and I can’t remember the shortcut to copy or change the duration. I think hand notation might be easier—I’d just have to draw a familiar shape to represent what I want.
Hookpad implements rests in a way that makes a lot of sense given its roots in Hooktheory. It is impossible to get from one point to another without something in between, whether it is notes or rests, there must be some notation. However, for those who are used to the midi piano roll or step sequencers where blank space between notes are treated as rests, this may be confusing. Perhaps because of this, it is impossible to drag notes from one position to another. Instead, you have to get there with something, even if that something is a rest, rests can be the most important part of a composition, and in Hookpad, you really have to think about them. (Alternately, from my experience and what I saw in class, you can still ignore them and just make really intense music with no space)
Initially, the chord and melody rolls only go up to 7. There is no resolution of the octave. This is a frustration I have with many interfaces. It was not immediately obvious that more notes were available by hitting up/down while a note is selected to eventually traverse the octave threshold. But, at least it is possible. After extending the octave, the keymappings are still limited, and notes must be moved out of the octave by selecting them and pressing the up or down arrows. It would be much easier to drag. It would also be useful to be able to set the octave of a performance rather than have to raise/lower each note after by pressing the arrow keys. Though I wish it could change octave, I understand why as a music theory app, Hookpad does not allow us to change the range of the mappings of 0 (rest) to 7 (7th note in the scale).
I tried to create a composition:
I ran into some hurdles while composing. The biggest hurdle is that I have can only use record mode 2 or 3 times (unless I upgrade to PRO). Copying and pasting are really important (repetition is key!). Hookpad’s copy/paste implementation required making some decisions about what happens when you try to paste over a preexisting space—for now, it will simply not paste, rather than replace or displace the existing block. But I can’t drag to select chords, only melody. Similarly, can’t copy the melody as an entire block the way you can with chords. Both methods have affordances that would serve each other in any compositional process that incorporates repetition.
Hookpad can tie into YouTube and knows chords to many popular songs, which is definitely going to be appealing for many, though is not as fun for me as improvisation. However, with this database, it has developed a model of the Magic Chord. It can suggest a chord that you might want to play next, based on its analysis of lots of popular songs, and give an example of a song that used that transition with a link to hear it on YouTube. This is really cool in theory. However, use of the magic chord is limited without PRO mode, and I suspect that it is also something that would require a lot of calibration if users wanted to step outside of familiar modes/progressions and into more experimental territory.
Hookpad is a promising interface for composing within a set of constraints rooted in music theory, and exploring the rules of theory through creative exploration. It could be more welcoming to novices and more closely connected to the compositional process if it placed a greater emphasis on live improvisation/performance as the default mode, rather than blocking record mode as a premium feature.