I really didn’t write anything in 2014? That’s pretty terrible.

New Year, new plans - I’ve got three songs, one set of lyrics? I should record them and play open-mics.

On NYE someone asked a throwaway question about collaborative music writing software, which made me go a bit weird.

So MusHub then. My MVP was to allow one person to write a score and that to get sent to other clients who can play it. This is now done.

Next steps.


  1. Accounts
  2. Accounts have scores
  3. Accounts can invite other accounts to view / edit scores
  4. Client names.


  1. Scores can be exported to Midi files. Rendered to ogg?
  2. Changes to scores are recorded through VCS, changes attached to a user.
  3. Time can be rewinded.
  4. Changes are staged before commit.


  1. Keyboard to piano mapping
  2. Timing. BPM. All that entails.
  3. This sort of datastructure? :

    { t0: event, t1: event … }

    event: { type: noteOn/noteOff length? Or can I say MIDI.noteOff with 0 delay once t1 passes? }

  4. MIDI.calls seem to have an initial instrument parameter, so maybe that’s how to allow multiple playing scores.
  5. Click to create notes? Not the keyboard / font mapping.
  6. Ableton-esque timed layout (to start a score at 4 bars in say).
  7. Chords.


17 February 2015