HyperTunes User Guide

  1. Tutorial videos
  2. Importing content
  3. Concepts and conventions
  4. Frequently Asked Questions

This guide is for Version 1.3 and later.

What is HyperTunes?

HyperTunes is a system for modular MIDI arranging on iOS.

It lets you collect and organize all your musical patterns, song fragments, and songs within the app.

It makes it easy try pairwise combinations of those patterns and song fragments.

And it lets you compose and arrange music in terms of musical structure, such as verse-chorus-bridge song forms.

The following section presents short tutorial videos covering most features in the app. Please go through them. That will give you a good sense of how the app works very quickly.


Email: support@hypertunes.net


Click to select each video:

Project operations
New project/song
Creating new projects and songs when composing from scratch.
Arrangement screen operations
Playback operations in the Arrangement screen.
Song signature
Setting the overall song key signature and tempo.
Section bars
Setting the duration of a section.
Section signature
Set the key and tempo of an individual section.
Add, remove, or remove sections.
Add, remove, duplicate, and erase parts, or convert part type.
Mute or solo any number of parts.
Set MIDI volume and pan for any part.
Select part General MIDI instruments or an entire ensemble.
Locate the source project of a part, section, or song.
Split an imported MIDI song into labeled sections.
Single part auditioning and assignment
Playlist mode
Using the playlist feature of a project listing.
Playlist bars
Set the number of bars to audition in playlist mode.
Adding a part
Assigning a part to a section of a song.
Preview a part
Preview a part in detail and assigning any range of the part to a section of a song.
Rate a part
Assign a rating to a part or section to make it easier to find later.
A/B auditioning and assignment
A-with-B auditioning
Hear how a part sounds together with each part in a project (bass and drums example).
A-with-B assignment
Adding a pair of parts to a section of the song.
A-with-B auditioning (2)
Hear how a part sounds together with each part in a project (bass and melody example).
A-then-B auditioning
Hear how a part sounds in sequence with each part in a project.
Filtering project listings
Filter project listings
Filter which projects are listed based on keywords in the project name.
Filter parts listings
Filter which part types are listed within a project.
But wait, there's more!
MIDI out
Send MIDI to another app.
MIDI record
Record MIDI from another app and save as a new arrangement in the open project.
Open a MIDI file
Import a MIDI file from another app using "Open in HyperTunes".
Open a MIDI folder
Import a folder of MIDI files from another app using "Open in HyperTunes".
Copy arrangements
Copy (or move) arrangements between projects.


HyperTunes does not provide note entry or note-level editing. You get music into it by importing pre-existing parts from other sources. Currently you can load standard MIDI files (type 0 or type 1), with General MIDI instrument mapping. (You can also record incoming MIDI, but this feature is still somewhat experimental.) Eventually you will also be able to load Music XML files.

A file is imported into a single-section arrangement. Notes are assigned to parts based on the General MIDI Program Change events that precede them in their MIDI channel. A part is created for each GM instrument selected by a program change.

Here is the basic HyperTunes workflow:

  1. Import songs (MIDI files) into projects.
  2. Split the imported songs into sections, so that the sections can be rearranged or combined with sections from other songs.
  3. Specify the key or chord changes of each section (optional).
  4. Make new arrangements by rearranging sections/parts within songs or combining sections/parts between different songs.

Importing MIDI files via iTunes File Sharing

In iTunes, with the device plugged in, click on "Apps", click on HyperTunes in the File Sharing list, drag MIDI files or Zipped folders of MIDI files into the "HyperTunes Documents" box. (Files will be transferred to the device immediately. It is not necessary to sync.)

1. MIDI files (".mid"/".MID" suffix) will be imported into a built-in project named Import.

2. Zip files (".zip") suffix will be unzipped, and a project will be created for each contained folder of MIDI files. (Non-MIDI files in a contained folder are ignored.)

If HyperTunes is currently running, the imported files will show up in the Import project the next time HyperTunes goes from being in the background to the foreground. If HyperTunes is not currently running, the imported files will show up next time the app starts up.

MIDI folder naming restrictions

HyperTunes will not successfully import MIDI folders whose names contain the characters "/" or ":".

Before importing any MIDI library, please check for these illegal characters in all folder names and rename appropriately (e.g., replace those characters with spaces or underscores.)

Moving files between projects

In case (1) above, you should move any imported files from the Import project to a project of your choice.

To do so, open the "Import" project, select the "Transfer A/B" tab, and use the "move" operation. You can multi-select files during the move.

(Note that it is important to use the "move" rather than "copy", because the latter does not actually copy the MIDI file underlying an arrangement.)

"Open in HyperTunes" from another app

You can open a MIDI file in HyperTunes from another app, e.g., Mail. When you do this, the MIDI file is copied to the built in Import project.

You can also open a zipped folder of MIDI files in HyperTunes from another app, e.g., Mail. When you do this, the MIDI file are imported into a new project of the same name as the folder.

HyperTunes, will start up - or come to the foreground if it was already running - and it will alert you that a new file was added to the Import project, or that anew project was created.

How HyperTunes flattens imported folder hierarchies

HyperTunes provides a single level of grouping of arrangements into projects. If an imported Zip file contains nested folders of MIDI files, that nested hierarchy of folders and subfolders is flattened into a list of HyperTunes projects. Each folder in the Zip file that contains any MIDI files results in a distinct project which is uniquely named based on the path to that subfolder in the folder hierarchy. Any degree of nesting is permitted. Some examples will make this clear.

Example 1: Zip file contains MIDI files at top level; no folders

Folder structure on desktop:

Project structure in HyperTunes (the imported project is named "flat"):

Note that non-MIDI files are not imported.

Example 2: Zip file contains MIDI folders with no no subfolders.

Folder structure on desktop:

Project structure in HyperTunes (the imported projects are named "a", "b", "c"):


Example 3: Zip file contains both midi files and MIDI folders.

Folder structure on desktop:

Project structure in HyperTunes (the imported projects are named "a", "b", "c", and "folders-mixed", the last being the name of the Zip file itself, which contained MIDI files at top level):


Example 4: Zip file contains MIDI folders with nested subfolders.

Folder structure on desktop:

Project structure in HyperTunes (the imported projects are named "a_sub1", "a_sub2", etc.):


Some commercial MIDI loop libraries are heavily subdivided into small, deeply nested folders of MIDI files. This can lead to a very long project list after HyperTunes' flattening process. It is advisable in such cases to look for ways to first consolidate the library into a smaller number bottom level MIDI folders before importing.

Naming MIDI folders to facilitate HyperTunes keyword filtering

If you import lots of MIDI folders or third-party MIDI loop libraries, your project list can grow quite large, especially after HyperTunes flattens deeplay nested libraries. HyperTunes supports filtering the project list based on keywords in the folder names. If you can add appropriate keywords to your MIDI folder names before importing them, this feature can save you a lot of scrolling.

Here is the list of currently defined keywords, grouped by category:

part type
bass, lead, keys, guit, pads, drum, sdfx
fill, hi hat, tom
4_4, 7_8, 3_4, 6_8, 9_8, 12_8
dance, electro, hip hop, house, ambient, rock, fusion, swing, ethno, funk, folk, blues, latin
(The name of an imported Zip file is itself treated as a keyword. Thus you can filter for all MIDI files or folders that were contained in that file.)

A keyword must be separated in a folder name by space or underscore characters. For example, you could rename a folder containing funk bass lines from "funkbass37" to "funkbass37 funk bass". (I.e., the substrings "funk" and "bass" in "funkbass37" would not be detected as keywords, so we add "funk" and "bass", separated by spaces.)


Version management

There's no undo support in HyperTunes yet.

But in the menu on the Arrangement screen, there is a "Duplicate arrangement" item. It creates a new copy of the open arrangement, renamed with a version number suffix, and opens the copy. If you remember to use it before making changes, this provides a simple, manual way of managing arrangement versions.

Alternatively, you can make changes to a copy in a separate project, by using the "Copy arrangement from" command in the menu on the Project screen or "Copy arrangement to" in the Arrangement screen menu.

Bundled content

HyperTunes is designed to make it very easy for you to import your original or third-party MIDI content and get to work on your own compositions quickly. However, a small amount of very simple material is included so that you can explore the features of the app without the hurdle of locating and importing your material.

Demo songs

The included Demos project contains a handful of incomplete arrangements. You will probably eventually accumulate many songs separated into many different projects, but these few songs are sufficient to demonstrate the ways in which HyperTunes enables you to mix and match parts and sections from different songs, as well as the many possible manipulations of a song.

Pattern library projects

In addition, several projects are included each of which is a library of parts for a particular instrument:

Elementary bass line patterns.
Simple two-bar rock/funk drum grooves.
Simple guitar fingerpicking patterns.

In practice, your own part libraries, or libraries you obtain from third parties, would be much larger and contain much more sophisticated patterns. The included pattern library projects are only meant to illustrate the idea that a HyperTunes project can function as a repository of patterns.

The same goes for the included Parts_chords project, which demonstrates that you can build up a library of chord progressions, in the form of arrangements containing key (scale) changes but no parts.

Arranging Concepts

In this guide, arranging means giving new expression to already existing musical ideas, such as melodies, chord progressions, rhythmic patterns. (By contrast, composing means creating new musical ideas at the level of individual notes.) This can mean adapting an existing song to a new context - e.g., "Baa, Baa, Black Sheep" for string quartet - but it may also mean combining fragments of music that already exist into a new song.

In arranging a musical piece, you address four main issues:

You define the structure of the piece, i.e., the order in which the musical elements you are combining will be performed.
You establish the musical key of the piece, where it modulates to other keys, and how it progresses through different chords or modes.
You establish the tempo and volume of the piece, and where it changes tempo, volume, or other musical dynamics.
Instrumentation / Orchestration
You specify the instruments that perform the different parts of the piece. Also, you work out details of how melodic lines, chord progressions, and percussive parts will be played on the instruments you have chosen for them. For example, you might accomodate a musical idea to the range and specific capabilities of its instrument.

HyperTunes provides powerful features for accomplishing all of these tasks:

In HyperTunes, the structure of your music is front and center.

You can edit the form of your piece incrementally, by inserting, deleting, merging, and swapping sections.

You can completely rearrange a piece in one step by selecting a new form from a comprehensive menu of stock forms.

In addition, there is a fast and easy interface for splitting an existing piece into its constituent sections so that you can rearrange them or combine them with other elements.

You can specify key (i.e., root note and scale type) and tempo for the arrangement as a whole as well as at any beat of any section.
Tempo, too, can be specified using the Signature pickers, for the whole arrangement or at any beat of any section. (Support for controling other dynamics will be added in an upcoming version.)
Instrumentation / Orchestration
You can select a playback instrument for each individual part.

You can select an entire playback ensemble for the whole piece at once.

HyperTunes will provide additional powerful orchestration features in upcoming versions.

About musical forms

Most musical pieces can be characterized in terms of structural patterns, or forms, that are commonly used within the style or idiom the piece belongs to.

Here is a brief listing of some forms that are common in contemporary popular music, including pop, rock, jazz, folk, country, etc. (Each of these forms occurs in endless variations, because the individual sections may vary in length or content, and the form may be embellished with other optional sections, such as intros, endings, solos, and breaks.)

Strophic (aaa)
The same sections repeats several times.
Blues (aab)
The basic form of 12-bar blues.
32-bar Song form (aaba)
The prevalent form of show tunes and popular songs up until the emergence of rock music.
Verse / chorus (vcvc)
The prevalent basic form in rock music.
Verse / chorus / bridge (vcvcbvc)
A more complex form prevalent in recent rock music. It can be thought of as a hybrid of AABA and verse/chorus form.
Through-composed (abcd...)
The piece moves through a series of distinct sections with no overall repeating structure.

HyperTunes is geared toward the above families of contemporary song forms, and includes a library of specific instances of the generic forms listed above. However, it also lets you define your own forms with no restrictions. Although no classical music forms are included in the forms library at the moment, you can certainly add such forms yourself and arrange pieces using them.

Arranging terminology in HyperTunes

Lets define our terms as used in this guide, and in the HyperTunes application.
Any collection of Arrangements.
A sequence of one or more Sections. HyperTunes' main goal in life is to help you construct and manipulate Arrangements.
A set of one or more Parts that play together over roughly the same duration.
A sequence of notes played by a single instrument over the duration of a Section. E.g., a drum part, bass part, or piano part. A Part is much like a track in a sequencer. It can be polyphonic or monophonic.

Projects are simply a way of organizing your content. You will find that HyperTunes is designed to let you share content very easily between projects.

Arrangements often contain complete song arrangements, but this is not necessarily the case. An arrangement can contain a fragmentary melody or rhythmic pattern, a single part, a single section, an incomplete song, or a fully arranged song. HyperTunes places no musical restrictions on the content of an arrangement.

Naming conventions

Section naming conventions

A form is represented in HyperTunes as a list of alphanumeric strings each representing one section. Any string made from letters and numbers (and underscores) can be used to represent a section in a form.

However, because the verse/chorus form is so prevalent in today's popular music, HyperTunes defines conventional abbreviations for common verse/chorus section names, and automatically maps between section name abbreviations and full sections names. It interprets a form as verse/chorus form if any symbol in the form is the character v. In that case, it displays unabbreviated names according to the following mapping.


(Some of these conventional song form terms are synonyms, and some may not be familiar. rise is a synonym for pre-chorus, a transitional section leading up to the chorus. pre-verse is less often used than pre-chorus, but is, similarly, a transitional section leading up to the verse. We have seen link used as a synonym pre-verse, and also more generally for any transitional section.)

Any symbol in a form that does not match one of these symbols is left uninterpreted and will show up as is in section listings. (Abbreviated and unabbreviated symbols may be freely mixed in a form.)

Built-in forms in the Form Menu, however, follow this convention: forms from the verse/chorus family are notated using the above symbols, in lower case; other forms are notated using capital letters "A", "B", "C", etc.

Aside from expanding abbreviations to the full terms, HyperTunes does not apply any interpretation to section names. It cannot tell, and does not care, whether a section you label verse is indeed a verse, and not a chorus. Similarly, it does not know or care whether or not the contents you assign to one verse and another verse match. You should feel free to apply these labels in whatever way suits your purposes.

Part naming conventions

HyperTunes defines ten distinct instrumental parts, which are associated with the instrument classes of the General MIDI standard as shown in the following table:

Brass, Reed, Pipe
Piano, Organ
Strings, Synth Pad
Percussive, Ethnic
Sound Effects, Synth Effects

An arrangement may contain any number of instances of each these instruments. Instrument instance names are made by concatenating an integer numeral to the four-letter instrument symbols above, e.g., bass2 for the second instance of a bass part in an arrangement.

This is just a concise and convenient scheme for naming parts in the user interface. It does not restrict your use of General MIDI instruments. Each part name can be associated with any General MIDI program change in one of its corresponding GM instrument classes. In particular, the naming of the lead part is simply a catch-all for instruments that often play a lead role. This doesn't mean other parts, like guit or keys, might not function as the "lead" part.

How HyperTunes represents song structure and repetition

In sheet music - lead sheets, song books, and musical scores - song structure is represented using repeat signs and instructions like "Da Capo" ("D.C al fine", "D.C. al coda").

HyperTunes does not use these Standard Music Notation conventions to depict the structure of a song.

Instead, a song is always written out as a simple linear sequence of section names, with all repetitions "baked in".

For example, if the form of the song is v c v c b c repeated twice, it is shown in HyperTunes as:

v c v c b c v c v c b c

Each repetition of a section name in the form is numbered starting from 1, so in the example above we can refer to verse 1 through verse 6

When you want exact repetition of a section, HyperTune provides this automatically. It always copies the contents of the first instance (e.g., verse 1 ) to any other instances that you have not filled in. (This automatic filling in of blank sections is called fallback.)

But you can always separately fill in the contents of any section instance for which you do not want an exact repetition.

A common way of working is to get off the ground quickly by filling in only the first instance of each section, allowing other instances to repeat exactly, through fallback, but then add unique details and variations to each section instance as your work on the arrangement progresses, so that sections don't sound mechanical.

How is this different from GarageBand?

GarageBand for iPhone and iPad, like HyperTunes, lets you put together songs easily, compared to desktop music production applications. But beyond that, the comparison is like apples vs. oranges

The content in Mobile GarageBand is all audio. Content in HyperTunes is notation (e.g., MIDI or MusicXML).

In GarageBand, you arrange music by cut and paste and drag and drop on a linear timeline. In HyperTunes, you arrange by linking parts and sections together.

GarageBand is meant to be like a multi-track tape recorder. HyperTunes is meant to be like a web page editor (sort of) for music.

HyperTunes makes it very easy to add content to build up and access a large library of your imported content.

Is this only for musicians? I've never arranged anything in my life.

If music arranging is new to you, HyperTunes offers a great way to get your feet wet. If you are an experienced arranger, HyperTunes will allow you to work productively in a casual, mobile format.

All I see is boring text lists. How come nothing is pulsating or flashing or flying across the screen?

We love music apps with cool, dynamic graphical user interfaces. But both of HyperTunes' key benefits - arranging by linking parts/sections together, and musical content management - call for a user interface in which hundreds or even thousands musical elements (songs, sections, parts) can be browsed and referenced easily. Lists of text names and labels lend themselves to this, just as they do in iTunes. We're confident that once you get to know HyperTunes, you'll appreciate the power that derives from its list-based approach.

I tried putting a song together and it just sounds lame! I thought this was supposed to make arranging easy.

Oh no!

Our goal with HyperTunes is to make it as easy as it can possibly be for you to (1) find the right elements for your arrangement; and (2) try putting them together in different ways until you discover an arrangement you love.

But all the artistic arranging choices - which parts to use, what keys and tempos, what instruments - are still yours to make.

If you feel you've made sound musical choices but the result just sounds wrong, you may have identified a bug! Please let us know about it (support@hypertunes.net)

How do I save my work?

HyperTunes automatically saves whenever you make a change to an arrangement, so you should never need to save manually. But a Save project command is also provided in the Project menu, just in case.

How do I record or import audio?

HyperTunes does not support audio recording or audio import at this time.

What are the Publish operations for?

An arrangement in HyperTunes may contain links to parts or sections in other projects, which means it references MIDI files in those other projects. Sometimes, for example when you export a project to share with someone else, you want an arrangement to be self-contained. The Publish arrangement and Publish section operations create a new song that depends only on its own MIDI file.

What is the Rekey operation for?

The MIDI file format allows the key of a song to be specified as metadata. However, the key is not actually required and many MIDI files do not contain correct key information. In addition, the format for specifying the key in a MIDI file isn't very general -- e.g., only major and minor keys are supported -- so in some cases it isn'teven possible to save the key precisely in a MIDI file.

HyperTunes needs accurate key information in order to perform certain transpositions correctly. If you import a MIDI file and happen to know that the key HyperTunes reports, based on the MIDI data, is incorrect, you can use Rekey to specify the correct key, permanently overriding the MIDI data.

Often, you may not realize that the key specified by the MIDI file is incorrect, or you may not know what the correct key actually is. This is not a problem as long as you keep the song in its original key; it will sound correct. Transposing to certain scales, though, may give incorrect and strange sounding results.

How do I export audio?

HyperTunes does not support exporting audio at this time. But you can export a MIDI file for anything you play back. You can then use a desktop MIDI player or music workstation to convert that MIDI file to audio.

I tried to import a MIDI file and got a "contains no notes" error message!

If you try to play an arrangement or section and see a message like this:

"Section name contains no notes. Usually, this happens when the files containing the parts a section refers to were not found or could not be read."

... it's likely that HyperTunes wasn't able to read a MIDI file you imported. Please send us your imported MIDI files so that we can investigate.

How do I set the volume and pan of a part?

Setting volume and pan is not currently supported, but look for that feature in an upcoming version.

How do I insert a repeat sign?

Repeat signs are not needed in HyperTunes. To repeat a section, simply repeat its symbol in the form, or duplicate it in the Arrange screen.

Similarly, to repeat a sequence of sections, duplicate the entire sequence. For example, an "a a b a" form repeated twice would be "a a b a a a b a".

Should I use the Form Menu or the editing operations in the Arrangement screen?

These two interfaces let you accomplish the same things, so which you use is a matter of convenience and preference.

The form editing operations in the Arrangement Screen (insert, repeat, swap, delete) let you work incrementally, adding or removing one section ata time. It's a good choice when you don't know up front what you're overall form will be.

Conversely, the Form Menu makes sense when you do have an overall form in mind at the outset. If the Form Menu doesn't already contain the exact form you want, you can create a custom form using the Custom command at the top of the Form Menu.

What do I do about pickups?

(A note is a pickup, or an anticipation, if it begins before the first beat of the section it belongs to.)

HyperTunes handles pickups completely automatically and transparently. Listen to your section transitions and you'll see that pickup notes start before the section boundary, as they should. If a note was sounding in the same part in the preceding section, that note will be cut off in time to make room for the pickup note.

What scale is used for what chord?

HyperTunes lets you specify changes in harmony by saying what scale a part should be built from at any beat.

As a convenience, you can specify standard chord symbols rather than scale names, but to HyperTunes a chord is just a synonym for a particular scale.

The following table shows what scale HyperTunes associates with each chord symbol. (At the moment you cannot change this mapping.)

major (ionian)
maj maj7 maj6 maj9 maj11 maj13
min min6 min7 min9 min11 min13
dom7 dom9 dom11 dom13 7sus4
minor (aeolian)
melodic minor
altered (locrian-b4)
7alt 7#9 7b5#9
aug 7#5

What are some good books on composing/arranging for a general audience?

There aren't many books on composing and arranging aimed at people who are not trained musicians. Here are a few I know of:

Writing Music for Hit Songs
By Jai Josefs. This is the best book I have found on the topic. It includes one of the most extensive discussions of song form.
The Complete Idiot's Guide to Music Composition
By Michael Miller. This book is organized around a helpful distinction between harmonic and melodic composition. It provides a good introduction to each approach.
Music Composition For Dummies
By Scott Jarrett and Holly Day. Another wide ranging introduction, with some helpful tips not found elsewhere.
The Songwriting Sourcebook: How to Turn Chords Into Great Songs
By Ricky Rooksby. A very systematic introduction to building songs from common chord progressions.
Arranging Songs
By Ricky Rooksby. The focus of this book is on orchestration and instrumentation, rather than structure. (Some people are mainly talking about structure when they use the term "arranging"; others mainly mean orchestration.)

Last modified: Sun May 5 00:03:48 PDT 2013