Version 2.1.0
The following 3-minute video will show you how to add notes and chords, change durations, and use keyboard shortcuts. After watching it, you'll be able to create a simple song.
To add notes, click in the melody area and type the numbers 1-7 for the seven notes of the major scale. By default, notes are added in the octave of the previous note. Type delete/backspace to delete notes, just like you would in a text editor.
Select multiple notes as you would in a text editor:
In Chrome, the “Paste From Clipboard” action automatically grabs the content from your OS clipboard and pastes it at the location of the cursor. If using Firefox, Edge, or Safari, Hookpad provides a text area for you to manually paste your clipboard content (⌘C on macOS; Ctrl+C on Windows; or right-click → paste) and then inserts it at the location of the cursor.
Hookpad data is copied to the clipboard as a JSON string. Example:
{"notes":[{"sd":"1","octave":0,"beat":1,"duration":1,"isRest":false},{"sd":"2","octave":0,"beat":2,"duration":1,"isRest":false},{"sd":"3","octave":0,"beat":3,"duration":1,"isRest":false},{"sd":"4","octave":0,"beat":4,"duration":1,"isRest":false}],"chords":[],"fp":"0c473788381478f815d29b689f7d3f83931b7bc9"}
Keyboard shortcuts also work with command ⌘ (macOS) and ctrl (Windows), e.g., ⌘c for copy on macOS.
To change the pitch of a note, drag it up or down with the mouse or select it (it will light up) and then use the up/down arrow keys or the raise/lower buttons in the note GUI. You can also hold up/down as you type 1-7 to enter a note one octave higher/lower. The advanced topics section of this guide discusses how to add non-diatonic notes.
By default, new notes are placed in the octave that minimizes the distance from the previous note. If you want Hookpad to place new notes in the same octave as the previous note, you can toggle the "Smart Octave" setting in the "Settings" menu. Turning Smart Octave to off will cause new notes to be placed in the same octave as their neighbor (unless up/down is held to override).
Five octaves are supported. To change the octave of a note, click the note (it will light up) and:
To resize a note, hover the mouse over its edge, click, and drag right or left. Notes have two regions that have slightly different behaviors: an "outer" edge and an "inner" edge. You can tell which region you are in by the icon of the mouse.
Use keyboard shortcuts h, j, k, l, ;, ', b to change the duration as you enter notes or chords (the number of available durations depends on the current Meter. For example, in 12 beats per measure all options are available. In 4 beats per measure, only h,j,k.l,; are). You can also click on a duration to select the desired number of beats.
To split a note, click the “Split” button or type the “/” key to toggle split mode. The mouse icon will turn into a vertical bar, like this: |. While the mouse icon is a vertical bar, click where you want to split.
To tie or join two notes together, select the notes you would like to tie, and click the “Tie” button or press the “t” key. Tying only works on adjacent notes that have the same pitch.
To raise or lower a melody note by a half step, select the note and press “.” (period) or “,” (comma) respectively. For example, to raise scale degree 4 to 4♯, select it and press “.”.
You can also hold "." or "," as you are entering a note. Doing so will cause the note to be entered a half step lower or higher than it otherwise would have been.
Hookpad supports four melody voices (Hookpad supports only one melody voice). Each voice has its own lyrics and is configurable in the Bands tool with its own instrument(s), octave, and volume. Notes are entered into the voice in the note GUI, as shown below.
The active voice can be changed with a keyboard shortcut:
Inactive voices can be displayed with one of three coloring options, configurable in the “settings” panel or with the keyboard shortcut ` (backtick)
For the “outline by voice” option, voice 1 has a red outline; voice 2 has an orange outline; voice 3 has a yellow outline; voice 4 has a green outline.
To add chords, click in the chord staff and type the numbers 1-7 for the seven chords formed by notes in the scale (major by default). Type delete/backspace to delete chords, just like you would in a text editor.
Select multiple chords as you would in a text editor:
In Chrome, the “Paste From Clipboard” action automatically grabs the content from your OS clipboard and pastes it at the location of the cursor. If using Firefox, Edge, or Safari, Hookpad provides a text area for you to manually paste your clipboard content (⌘C on macOS; Ctrl+C on Windows; or right-click → paste) and then inserts it at the location of the cursor.
Hookpad data is copied to the clipboard as a JSON string. Example:
{"chords":[{"sd":"1","octave":0,"beat":1,"duration":1,"isRest":false},{"sd":"2","octave":0,"beat":2,"duration":1,"isRest":false},{"sd":"3","octave":0,"beat":3,"duration":1,"isRest":false},{"sd":"4","octave":0,"beat":4,"duration":1,"isRest":false}],"chords":[],"fp":"0c473788381478f815d29b689f7d3f83931b7bc9"}
Keyboard shortcuts also work with command ⌘ (macOS) and ctrl (Windows), e.g., ⌘c for copy on macOS.
To resize a chord, hover the mouse over its edge, click, and drag right or left. Chords have two regions that have slightly different behaviors: an "outer" edge and an "inner" edge. You can tell which region you are in by the icon of the mouse.
Use keyboard shortcuts h, j, k, l, ;, ', b to change the duration as you enter chords (the number of available durations depends on the current Meter. For example, in 12 beats per measure all options are available. In 4 beats per measure, only h,j,k.l,; are). You can also click on a duration to select the desired number of beats.
To split a chord, tap the “/” key to toggle split mode. The mouse icon will turn into a vertical bar, like this: |. While the mouse icon is a vertical bar, click where you want to split.
To tie or join two notes together, select the chords you would like to tie, and press the “Tie” button or press the “t” key. Tying only works on adjacent chords that have the same root.
To invert a chord, select it and click the radio button corresponding to the desired inversion. Note that if a chord is a 7 chord, a fourth option (3rd inversion) becomes available. Inversions can be cycled using the “i” shortcut.
Inversions are notated using figured bass (one or two numbers to the right of the chord Roman numeral) according to classical music conventions:
(no figured bass) | Chord in root position |
6 | Chord in 1st inversion. |
64 | Chord in 2nd inversion. |
7 | 7 Chord in root position. |
65 | 7 Chord in 1st inversion. |
43 | 7 Chord in 2nd inversion. |
42 | 7 Chord in 3rd inversion. |
To embellish a chord with a suspension, add9, or change it to a 7 chord, select a chord and check the appropriate checkboxes from the chord palette. When no chord is selected, embellishments will be applied to the next entered chord. You may alternatively press the “e” shortcut to cycle through all possible combinations of embellishments.
One of the ways that Hookpad can simplify songwriting is by helping you choose chords that sound good together. Magic Chord lets you ask Hookpad what it thinks is the best chord to use in a given situation. Hookpad will analyze the chords you’ve already written and then look for examples of songs in the TheoryTab library that have used chords similarly to get clues as to what chord might work best next. Then it provides suggestions for you to pick from.
Using Magic Chord is simple. Place your cursor in your song where you would like a chord recommendation. Then click on the Magic Chord icon in the chord gui. A list of recommended chords will appear. The chords are listed in order of most commonly found in the TheoryTab database (which is what the AI learns from to make its predictions).
Popular Chords are a list of the most popular chords in your key according to the Theorytab Database
Search let you find chords by name
Tone sets let you find chords with specific combinations of notes in it
Bass Sets is similar to magic chord but it acts on an existing chord to tell you other alternatives that use that same bass note.
Progressions lets you drop common progressions into your song.
There are two ways to add non-diatonic chords to your project: “borrowed” chords and “secondary” chords.
Borrowed chords refer to chords whose root and quality are defined by a parallel mode. For example, in the key of C major, the ii chord has a minor quality. In the key of C Minor (the parallel minor mode), the ii° chord has a diminished quality. If you want to use a diminished ii° chord while you are composing in the major mode, you can temporarily “borrow” from the minor mode.
To create a borrowed chord, select a chord, and choose the desired mode from the dropdown menu in the chord GUI. Choosing a borrowed mode when no chord is selected will apply it to the next entered chord.
Secondary (or Applied) chords allow you to briefly tonicize a different chord. Supported applied chords include secondary dominant (V of), secondary leading-tone (vii° of), and secondary sub-dominant (IV of) chords. Select the applied chord checkbox you wish to add, then add the chord to which it is applied. For example, to make a V/ii chord, select “V of,” then add a ii chord.
By default, new projects are in the key of C Major. To change the key, click on the key menu and choose a different tonic or scale.
Hookpad allows you to have key changes in your project. Add a key change by selecting the measure you would like to add the key change to and click “add key change.”
To change the scale of the project, click the key menu (if your song only has one key) or select one of the key change flags that you want to change. Choose the scale you want from the available options. Hookpad supports composition in Major, Minor, Dorian, Phrygian, Lydian, Mixolydian and Locrian scales (which are permutations of the major scale) as well as the Harmonic Minor scale and Phrygian Dominant scale.
When the scale of a project is changed, the key can change in one of two ways: relative transposition or parallel transposition. This option is configurable when changing the scale.
Hookpad allows you to change the meter your song is in. From the Meter menu, click the number of beats per measure you would like to use, and a new project will be loaded with this number of beats. Complex meters (3, 6, 9, and 12 beats per measure) with a triplet feel can have three beats felt as one. In these meters, a “beat unit” option is available for this purpose and will be visible in the meter menu when relevant. Setting the beat unit to three will cause three beats to be felt as one. The tempo (see below) used for playback speed will respect this choice so playback will increase by a factor of three.
Hookpad allows a song to have multiple meters. If you would like to add a meter, select the measure at which you would like to add a meter change. Choose the option to add a meter change from the GUI and click ok.
When adding a new meter, there are options available for how long the new meter change will last. You select a range of measures, have it last until the next meter change (if applicable), or through the end of the song.
When there are multiple meters in a song, flags are added at each meter change. You can select a flag by clicking on it. Doing so will allow you to change the meter of that flag or to remove it (with the delete key)
Click on the tempo button to bring up the tempo dialog. To change the tempo of your song, drag the tempo slider to the desired value. You may also set a tempo by tapping a key on your keyboard. Click “Tap Tempo,” then tap the ‘q’ key on your keyboard at regular intervals and Hookpad will automatically compute the tempo. You can also give your song a swing feel by checking the “swing time” box. Tempo changes can be added just like key and meter changes through the measure selection GUI (see above).
Hookpad lets you customize the collection of instruments that play your music. You can also adjust the volume and the center of the voicing range for each instrument in the band. In the free version of Hookpad, users can try out this feature, but all bands will revert to the default band when the project is saved.
To edit the arrangement of your project, press the "Band" menu.
When the arrangement tool opens, you will see three lists: templates (left), tracks (center), and samples (right). The “tracks” list will be described first, followed by a description of the “templates” list.
To add a new track to the arrangement, click the "Add Track" icon at the top of the “Band Tracks” list and select a track type (lead, harmony, bass, drums) from the menu. The track will be added with default values for the sample, volume, and octave.
To delete/remove a track from the arrangement, click the "X" icon to the right of that track
To change the instrument/sample that a track uses, select the track, then select a different sample from the sounds list on the right.
To change the volume of a track, select the track and slide the volume slider. You can also mute or un-mute a track, by clicking the icon on the track.
To change the octave of a track, select the track and slide the octave slider. The octave slider on melody tracks can be adjusted to discrete values of 1 or -1, which causes playback to be an octave above or below the default octave. The octave slider on harmony and bass tracks are continuous and represent the center of the voicing in units of octaves. More information on how the voicing algorithm uses the octave slider values can be found in the playback section.
Band templates allow you to quickly apply a saved band to your project. Hookpad provides built-in templates to showcase the types of sounds that are possible and you can also save your own arrangements as templates.
To save the current band mix as a template for later use, click the “save as template” button above the band tool. In the menu that appears, type a name, and click “save as.” Your mix will now appear on the “templates” list on the left every time you use Hookpad.
To apply a template to your project, select it from the list. A confirmation dialog will ask you if you are sure you want to apply the new band to your song. Your current band will always be discarded when you do this so make sure to save it first if you think you may want to restore it.
Just as with key, meter, and tempo, you can change the instrumentation of your song by adding a band change by selecting the measure at which you want the change to occur and choosing the "Add Band Change" option. Band Change flags will appear at every change. Clicking on any of these flags allows you to edit that band.
Hookpad uses the notes and chords from your project in conjunction with the instruments specified in the band tool to create a musical performance. There are seven playback channels, one for each of the four melody voices, one for harmony, one for bass, and one for drums. Instruments for the melody voices are specified by the lead tracks in the band tool, where lead1 corresponds to melody voice 1, lead2 corresponds to melody voice 2, and so on. Harmony, bass, and drum instruments are assigned in a similar manner.
Each playback channel can be individually muted by clicking on the volume icon in the menu bar and unticking the corresponding playback channel. The playback of melody channels can additionally be controlled in the melody GUI in the Play Voice section.
Hookpad generates a performance from your chord progression for each harmony track specified in the band. The rhythm of the chords played, as well as the order and distribution of pitches (the voicing of the chords), are chosen automatically for you depending on the specified harmony track. For example, the track Piano RH 1/4s (the default harmony voicing) plays piano chords in right-hand closed position every beat. Some tracks, like Bossa Piano, play specific rhythms depending on the meter of your song, in this case, a Bossa Nova style piano.
Many harmony tracks use 3-note voicing, meaning that chords are played using three notes only. For seventh chords, extended chords, and any chord that requires more than three notes, the bass note will be left out of the voicing. This is done to make playback sound more realistic, as it reduces the number of treble notes, which can sometimes clutter up the sound. Therefore, it is important to always add a bass track if you want playback to contain bass notes, as well as proper inversions of the chord.
The voicing range of pitches in each chord can be adjusted using the octave slider. Hookpad’s voicing algorithm tries to keep the notes in the chord centered around the value specified by this slider. Moving the slider a fraction of an octave up or down will correspond to a chord being voiced up or down by that same amount. For example, if the default voicing for a C major chord is C, E, G, then moving the octave slider up by 1/3 octave will cause the chord to be voiced as E, G, C.
Guitar tracks are voiced differently than non-guitar tracks. Hookpad does its best to play guitar chords as they would sound on a real guitar. For acoustic and clean electric guitar tracks, Hookpad attempts to play the chord in open position. If no common open position fingering is found, Hookpad will barre the chord using either E-barre or A-barre patterns, preferentially choosing the barre position that minimizes the barre fret number.
High gain or distortion guitar tracks are played as 2-string power chords in either E-barre or A-barre positions, preferentially choosing the barre position that minimizes the barre fret number. Inverted chords or chords that do not contain the fifth are voiced by their first interval rather than as a fifth built from the root. For instance, a G/B chord is voiced as B - G, rather than B - F#.
Like the harmony tracks, Hookpad creates bass lines from the chord progression for each bass track specified in the band tool. The bass line rhythm and pitches are chosen automatically for you depending on the specified bass track. For example, the track Piano Bass Dotted (the default bass voicing), plays a dotted rhythm on a single note given by the corresponding chord bass. Some tracks, like Bossa Bass, play a specific bass line that uses multiple chord tones. Like harmony tracks, the bass track rhythms will change depending on the meter of the section.
Unlike harmony and bass tracks, drum tracks play throughout the duration of the band region, regardless of whether there is a chord progression or not. Drum tracks can be classified as one of four types: Basic drums, Regular drums, Breaks, and Pickups.
The score export option creates a PDF of your song in conventional sheet music notation. The score will contain one stave for melody and two staves for voiced harmony. Exporting to score respects enharmonics, e.g., in the key of C, 2♯ will be notated as D♯ rather than E♭.
To export the entire project, go to File → Export → Score. To export a portion of the project, select the desired measures, and, from the measure change GUI (not the file menu), click Export button → Score.
The tab export option creates a PDF of your song notated in guitar tablature, complete with fingerings for chords and melody.
To export the entire project, go to File → Export → Lead Sheet. To export a portion of the project, select the desired measures, and, from the measure change GUI (not the file menu), click Export button → Lead.
Hookpad can export a MIDI file (format 1) suitible for importing into any digital audio workstation like Garage Band, Logic, or Pro Tools, or into notation software like Finale or Sibelius. The exported MIDI file contains a track for every track in your Hookpad mix, complete with volume and octave information.
To export the entire project, go to File → Export → MIDI. To export a portion of the project, select the desired measures, and from the measure change GUI (not the File menu), click Export button → MIDI.
To export the entire project, go to File → Export → MP3. To export a portion of the project, select the desired measures and click Export → MP3.
By default, notes will overwrite existing notes rather than shifting those notes over. This is referred to as Table mode. You can switch the entry mode to behave more like a word processor by clicking the button in the upper right hand corner. This will switch the mode to “Text” entry mode. In this mode, notes shift over to make room for new ones. In table mode, the cursor can be placed anywhere and there can be gaps between neighboring notes. In "text" mode, gaps can't exist (because notes shift over to fill empty space just as words to do in a text editor). Switching to Text mode will fill any gaps in your music with rests to preserve the current rhythmic spacing.
By default, Roman numerals (for example, I, ii, iii) are the primary label on chords, and absolute or “in-key” chord names (for example, C, dm, em) are shown as a secondary, less prominent label below the chord. This convention can be reversed in Hookpad’s settings panel, as shown below.
Hookpad colors notes and chords according to their position in the scale. You can configure the Hookpad color scheme in one of 2 ways (These options can be found in the settings menu)
Hookpad colors scale degrees 1, 2, 3, 4, 5, 6, and 7, and chords I, ii, iii, IV, V, vi, and vii° as red, orange, yellow, green, blue, purple, pink, in the major scale. When switching to a different scale, the color order is maintained, but the colors are cycled so that both the intervals between note colors and the quality of chord colors are preserved. For example, the distance between a red scale degree and a yellow scale degree is the same in every scale, and the basic red and yellow chords have a major and minor quality, respectively, in every scale. This also indicates the relative relationship between the scales (e.g. A minor is the purple chord in the key of C major and it remains the purple chord in the key of C major. The only difference is that it went from being the vi chord to the i chord (A minor is the relative minor of C Major)
Hookpad colors scale degrees 1-7 and the corresponding chords based on how each note pitch and chord root pitch relates to the major scale. For example, in the minor scale, scale degree 3 is a half step lower than scale degree 3 of the major scale, and so it is colored yellow and orange to indicate that its pitch is halfway between scale degrees 2 and 3 of the major scale. This color scheme echoes the “popular-style” note and chord labeling whereby accidentals are used to denote deviations of notes and chords from their major scale counterparts.
The following images show a song in the minor scale with each color scheme.
Once you've chosen some chords, Hookpad can help you pick notes for your melody by highlighting the notes that are in the chords you've written. That way you can see immediately which notes will sound more stable (the colored notes, as shown below) and which notes will create a more dissonant sound (the white notes).
By default, new notes are placed in the octave that minimizes the distance from the previous note. If you want Hookpad to place new notes in the same octave as the previous note, you can choose that setting in the settings panel.
By default, the note staff shows only the in-scale melody notes. But you can also expand the melody track to show both in-scale and out-of-scale notes. Below you can see the difference between the default “compact (in-scale)” view and the “expanded (chromatic)” view for major and minor scales.
Use the loop cycle bar above the melody staff to control looping on your song. You can enable and disable the loop bar by clicking on it. The song will repeat through the duration of the loop bar.
Hookpad has a ton of useful keyboard shortcuts. View the keyboard shortcuts page for a complete list.
By default, Hookpad fits a fixed 8 measures per line. You can force a line break by hitting enter in the measure where you want the break to occur or by selecting the measure and clicking on the “add line break” button in the measure operations GUI. To delete existing breaks, click the break box at the end of the line that contains the break to select it and hit “delete” or click the “delete break” button that will appear in the break GUI.
You can change the default 8 measures per line in the settings menu to any number of measures you wish. You can also have Hookpad automatically choose the best number of measures per line to fit your window, choose to have all your music on a single long line, or place line breaks only where you manually have placed them.
Hookpad lets you integrate your lyrics directly into your projects. To activate lyrics support, just click the “Lyrics” button in the top right. A tab for entering your lyrics will appear.
As you type your lyrics, Hookpad will automatically convert them into syllables and place the syllables above the notes in your melody:
If you want to customize the way the words are broken up over your melody, you can use dash-es in-side your ly-rics to override Hookpad’s choice.
If you want to skip notes when placing lyrics, use an underscore “_” and Hookpad will skip a note when adding lyrics. To skip multiple notes, combine multiple underscores with a space between each one “_ _ _”, as shown below
Hookpad makes it simple to connect a MIDI piano (or other MIDI instruments) to make writing songs easier. After you connect your device, you can use it to enter notes in your melody with a real instrument instead of your computer's keyboard or the GUI. When you play a note on your instrument, Hookpad will automatically figure out what scale degree to add to your song based on the key you are currently in. If you are in the key of C major and play a C, it will enter scale degree 1 (Do); play a D, and it will enter scale degree 2 (Re); play an E, and it will enter scale degree 3 (Mi).
You can also use your instrument to enter notes in “record mode”. Just click the record button, and start playing your melody in time with the beat. It’s a great way to get your rhythms just the way you want them without having to enter them by hand.
Note that MIDI input support in Hookpad requires a web browser that supports the Web MIDI API standard. At the moment, Chrome and Edge the only major browser to support this API (but this will likely change in the future)
Instructions for synchronizing a YouTube video with a Hookpad project are included below. It may be helpful to watch this video that demonstrates the general process.
In Chrome, the “Paste From Clipboard” action automatically grabs the content from your OS clipboard and pastes it at the location of the cursor. If using Firefox, Edge, or Safari, Hookpad provides a text area for you to manually paste your clipboard content (⌘C on macOS; Ctrl+C on Windows; or right-click → paste) and then inserts it at the location of the cursor.
Hookpad data is copied to the clipboard as a JSON string. Example:
{"notes":[{"sd":"1","octave":0,"beat":1,"duration":1,"isRest":false},{"sd":"2","octave":0,"beat":2,"duration":1,"isRest":false},{"sd":"3","octave":0,"beat":3,"duration":1,"isRest":false},{"sd":"4","octave":0,"beat":4,"duration":1,"isRest":false}],"chords":[],"fp":"0c473788381478f815d29b689f7d3f83931b7bc9"}
Keyboard shortcuts also work with command ⌘ (macOS) and ctrl (Windows), e.g., ⌘c for copy on macOS.
20 levels of undo/redo are supported. To undo or redo, use the keyboard shortcuts “z” and “y” or use the Edit menu, as shown below
If you have already purchased Hookpad but are getting messages when trying to use certain features that you need to purchase, there are couple possible reasons and solutions.