midiSequencer review – analog-style step sequencer app from Anthony Saunders

Download from iTunes App Storemidisequencer logoFor all the wonders of a fully-blown MIDI sequencer with fancy editing options, sophisticated quantize functions and the ability to add (and edit) multiple automation lanes (oh, I forgot, we don’t really have that yet under iOS do we?), there is still something hugely attractive about the humble step sequencer and the way in which it influences the process of music creation.

When it comes to standalone pattern-based/step-based sequencing, my own personal weapon of choice is Thesys by Sugar Bytes but there are a number of other very creditable options available. Thesys is a powerful app and very deep. Indeed, some might suggest that, for some tasks, it is simply overkill.

If that’s you, then midiSequencer – the first app release of Anthony Saunders – might appeal as an alternative. Styled on the analog sequencers of old, midiSequencer provides a step-based sequencing environment, with 16-steps where you can adjust pitch, velocity, gate, MIDI channel and a couple of MIDI parameters over the 16 steps, all using some very retro-looking virtual faders. You also get tempo control (the app can also work with MIDI Clock as master or slave), transpose functions, the ability to change the way a pattern steps through the sequence (there are some very flexible options here), add ornamentation and, of course, send your MIDI sequence out to a suitable synth app.

So, if you have a hankering for a bit of step-based MIDI sequencing but don’t fancy too steep a learning curve, is midiSequencer worth a punt? Let’s find out….

First steps

The midiSequencer main screen is divided into an upper strip of control options, the main body of the interface dominated by the faders used for programming your sequence (plus some associated buttons for each step’s ‘channel’) and then a lower strip with tempo, transpose, transport and, middle-right, a set of six blue buttons that allow you to switch between controlling the six different parameters that can be programmed into your sequence.

midiSequencer's main screen - a retro look but the controls are generally easy to use.

midiSequencer’s main screen – a retro look but the controls are generally easy to use.

From the upper strip, the Snapshots pane can be opened. Here, you can save up to twenty different sequences (you get the option of just the step-sequence parameters or the whole configuration including the control settings such as the tempo and transpose settings). Snapshots can be loaded while the sequencer is playing so you could, if you wished, switch patterns on the fly.

The Options pane contains various global settings that are mostly for configuring the MIDI behaviour of the app. In particular, you can setup the MIDI Clock behaviour here so, if you do want to sync midiSequencer to another app in some way, this is the place to start. The various ‘Record’ settings dictate what happens when you activate the Record button at the top of the main screen. This feature allows you to enter your sequence data via an external MIDI keyboard which is a useful option to have, particularly when entering your note/pitch data.

Transport system

The bottom section of the display contains the transport controls amongst a few other key settings.

The bottom section of the display contains the transport controls amongst a few other key settings.

The various transport controls provide some nice options. Aside from the large blue ‘play’ button (and the two associated ‘step-back’ and ‘step-forward’ buttons that are useful when editing, the next button sets the loop mode used. Here you can choose between forward, reverse, bounce, bounce* and random. The bounce modes play the sequence forwards and the backwards with the * version playing the first and last steps twice.

The Cycle button allows you to engage a mode where you can make changes to the sequence parameters during playback but those changes are not triggered until the next time through the sequence. Whatever edits you make therefore sync nicely to the musical structure.

The StepTime/NoteTime toggle button controls the length of each step. In StepTime mode (the conventional way a step sequencer operates), every step is the same length. In NoteTime mode, steps lengths can vary and are controlled by the tempo and the gate setting for each step. This can be quite useful for creating longer notes and notes of different lengths but, because to the way it is implemented here, all the notes are played legato. This is not quite the same as being able to create notes that extend beyond a single step and then have a rest step or two before the next note plays but you can get some interesting rhythmic effects.

You get 20 snapshots to store your patterns within. Maybe a 'project' system for pattern storage would also be useful?

You get 20 snapshots to store your patterns within. Maybe a ‘project’ system for pattern storage would also be useful?

The Invert button simply inverts the note pitch data in the sequence, while the Midi Send/Mute toggle the MIDI output from midiSequencer on/off. The Transpose slider allows you to shift the overall pitch of the current sequence. This can be done with immediate effect (if Cycle is off) or at the start of the next iteration of the sequence (Cycle mode on). As with all the virtual faders, the Transpose button has a pair of blue arrowhead buttons at the ends. These allows you to adjust the parameter incrementally.

If midiSequencer is not under MIDI Clock control from another app, the Tempo slider sets the overall playback tempo. The tempo is displayed just beneath the fader label (and you have those blue incremental arrows again) but there is also a tempo multiplier button just beneath the tempo value display. This allows you to multiple the tempo by up to four times. I’m not quite sure why you might want to set a tempo of 1020 bpm but, if you need to torture someone or force them to dance so quickly that their hips explode, this is the setting to adjust.

Step on it

As mentioned earlier, the set of six blue buttons next to the transport controls allow you to toggle between six different parameters that you can program into your sequence and, whichever of these buttons is selected, the fader positions reflect the currently set values for that parameter.  As well as pitch, velocity and gate, you can also adjust the MIDI channel (so you could, for example, send notes to several different synths, one for each step, if the synths are configured to receive data on different MIDI channel numbers) and send data to two different MIDI CC numbers. The CC numbers themselves are set in the Options pane.

The Options pane contains lots of globals settings including the ability to configure the MIDI Clock and MIDI CC details.

The Options pane contains lots of globals settings including the ability to configure the MIDI Clock and MIDI CC details.

As well as the little blue LEDs under each step channel fader (that light up to show which step is active), the small grey button for each step allows you to add ornamentation for the step. Tapping on one of these buttons toggles you through a series of choices. Some of these replace the single note with multiple notes of shorter duration while you can also mute a step (x) and set loop points and jumps (skipping to a later step) if you only want to play a portion of the sequence. In short, there are some nice options here to spice things up a bit from the usual 16-step playback.

Stepping out

The basic programming options in midiSequencer really don’t require much learning so it is very easy to get a few sequences going without too much sweat. However, the various options for looping require a little more thought. Fortunately, there is a very useful PDF manual available for when you need a little help.

I didn’t have any significant problem getting midiSequencer to send its data out to a variety of synths such as Arctic ProSynth, Thor or Nave. Surprise, surprise, (actually, no surprise at all – roll on wider support for MidiBus) where I had more problems was in getting MIDI Clock functioning consistently. For example, I was able to get midiSequencer to sync to MIDI Clock originating from DM1 but couldn’t get the reverse to work and nor could I get midiSequencer to follow MIDI Clock from Cubasis. Your mileage may vary but if 2014 delivers nothing more than reliable MIDI communication (notes and clock) between iOS apps and between iOS and the desktop, then I’d be a happy bunny.

In use, midiSequencer is a lot of fun though and I particularly enjoyed the process of just tweaking parameters on the fly as the sequencer was running.

Things to develop

I think midiSequencer’s big plus point is the ease with which it can be used. The retro interface might (or might not) appeal, but it is generally easy to use and, for straight connections sending note data to an iOS synth or three, it is very straightforward. In this sense, developer Anthony Saunders has done a good job.

There are a few quirks of the design, however, that some might find a bit surprising. For example, being limited to only 20 snapshots seems rather limiting. If folks are really going to invest in programming patterns, they would probably want some sort of project-level save/load system (each with 20 patterns) so they could easily recall sequences. Equally, to switch snapshots currently requires you to open the Snapshot pane, select the snapshot you want, load it and then exit the Snapshot pane before you can begin tweaking the new pattern. If you are chaining patterns ‘live’ to create a performance (in the studio or on stage) I suspect this would get old quite quickly; the ability to switch patterns from the main screen with a single press would be a big plus here.

The need to step through 9 different ornamentation styles to get back to where you started is also a little frustrating, especially if you accidentally step past the one you are looking for and have to go through the whole lot again. Perhaps something as simple as a ‘tap and hold’ feature to get you back to ‘no ornamentation’ would be helpful here?

Finally, while you can set the MIDI CC numbers for the two sequence parameters, this does require to you know the correct CC numbers in the target synth. MIDI learn systems are pretty much ubiquitous in modern music software and, again, something similar here that allows you to link a software control in your synth to one of the two CC parameters in midiSequencer would make setting these up much easier for most users.

In summary

Despite the minors quibbles mentioned above – all of which I suspect could be addressed as the app develops over time  (and, as the discussion over on the discchord website suggests, Anthony has some of these in development already) – I enjoyed using midiSequencer a lot. If you want uber-control over your step-based sequencing, I’d still recommend Thesys. Equally, there are other step/pattern-based sequencing tools out there including those built into some of the synth apps themselves such as Magellan or iPolysix.

However, if you are looking for something with a lighter touch – and a much more gentle learning curve – then midiSequencer is well worth a look. It might not be the absolute finished article, but it is a very promising debut from an indie developer. It has just enough options to keep you interested but without so many that you can easily get lost. In short, this probably means more time making music and less time focused on which function does what. And, obviously, that’s a good thing…..  :-)


Be Sociable; share this post....


    1. tony saunders says:

      Good review John! Next version out soon with improvements to skip buttons via pop-up, saving snapshots as a bank, additional ornamentations, and general performance improvements.
      The focus in this app is playability and being able to offer unique features not seen in other apps (cycle delayed changes, ornamentation, noteTime as legato, and insane tempos for psycho-acoutic effects).
      There’s a pdf manual to be found at http://www.amssoftware.org/manual/midiSequencerManual.pdf and I promise to do some videos showing this in use (once v1.1 released).

      • Hi Tony, thanks for dropping by… much appreciated. Keep us all posted with progress and good luck with the work on the updated :-) Very best wishes, John

    2. Cheers for the review, I wasn’t sure about this and you’ve helped again John, there are some good features on this for sure!

      At the moment no sale, the retro interface is a turn off (maybe look at developing skins Tony?) but mostly, if I’m going to invest in another step sequencer then I’m looking for multiple tracks, four or more would be nice.

      +1 for 2014 being the year of midi! :))

    3. tony saunders says:

      Yes skins will be available later. I tried to do this using 3d rendering (3ds max+vray) but guess I should have stuck to photoshop like everyone else!

    4. Cool – all good stuff & thanks for the reply Tony!

      If you can find a way to be able to run multiple tracks at once then you will have a fan and a definite sale. In fact I’d go as far to say you could probably double the cost or sell an IAP for the same price again if you managed to do this :)

      Add in an fx track or two (sending cc messages to mappable destinations in other synths) and I will probably fall in love! Alternatively some mappable performance controls would do the job too.

      I know it’s a lot to ask and I don’t want to come across as being demanding or anything, just saying what I am am looking for.

      P.s. I get the very high bpm option – very cool!

    5. My apologies, I’ve it’s seen the cc section – this is definitely on the right track – keep up the good work :)

    6. tony saunders says:

      @baddcr, It has two track built in but not yet complete so disabled for this release. The 2nd track transposes the first on cycle resets, but I would like to have at least 3 independent tracks to replace my doepfer maq 16/3 as I no longer have many cv synths.
      Want to make sure one sequencer fit for purpose first though before expanding….

    7. @Tony,

      Ok, you obviously have thought this through and know where you’re going with it which doesn’t sound very far off what I am looking for… Sold! With the view that if I, and others, support your work we’re more likely to see it become a reality.

      I’ll be looking for updates, no pressure though ;)

    8. tony saunders says:

      @Baddcr, thanks! The only way indie developers can compete with the big companies is to offer a good service and that means supporting customers.

    9. @ Tony: thanks for the great app ! What I would like ( I’m sure you’ll want to kill me on this ): all functions under midi control, so I can use a hardware device to control your software…..

      • tony saunders says:

        @Phillip – remote control is (high) on my list – especially to control the loading of snapshots, tempo, transpose and step values on the fly by another midi app/device.

    Speak Your Mind