Mobile Music Sequencer Reference

The Yamaha Mobile Music Sequencer (MMS) is an iPad app developed and supported by Yamaha. MMS is a music composition tool that is based upon a few simple, structural ideas: a song is composed of a sequence of sections and each section is composed of one or more phrases that play concurrently. Each section has a chord progression and MMS harmonizes the section’s phrases with the progression. A phrase consists of one or more measures of music represented in MIDI data. MMS plays the phrases back through software virtual instruments (voices). MMS comes with rock/pop phrases. Additional phrases and instruments (expansion packs) may be purchased from Yamaha.

Most of all, Yamaha Mobile Music Sequencer is fun!

MMS supports Apple’s Core MIDI and Inter-App Audio (IAA). You may connect an external MIDI keyboard or sound source to your iPad and MMS will respond to it and send MIDI messages to it. This page covers several aspects of MMS’s MIDI implementation and internal sound generation. To date, Yamaha has not documented these capabilities, so anything written here is subject to change by Yamaha. However, MMS provides a powerful way to get more out of your synthesizer (Motif, MOX, MX) or arranger workstation (Tyros).

Sound engine

The MMS sound engine is an XG-like, multi-timbral sound generator. It implements 32 General MIDI voices and 50+ additional, MMS-specific voices. Some of the MMS-specific voices are part of an expansion pack (e.g., R&B pack) and are unlocked through an in-app purchase.

The General MIDI voices are in the usual GM bank (Bank select MSB 0, Bank select LSB 0). The MMS-specific voices are in a separate bank (Bank select MSB 3FH, Bank select LSB 0). Positive integer values in hexadecimal such as “3FH” are denoted by a trailing “H”. All other integer values are decimal.

MMS implements a subset of Yamaha XG standard effects. The effects follow the XG signal routing convention.

  • Reverb: No effect, HALL 1, HALL 2, ROOM 1, ROOM 2, ROOM 3, STAGE 1, STAGE 2, PLATE, GM PLATE
  • Chorus: No effect, CHORUS 1, CHORUS 2, FLANGER 1, FLANGER 2
  • Variation: No effect, HALL 1 HALL 2, ROOM 1, ROOM 2, ROOM 3, STAGE 1, STAGE 2, PLATE, TEMPO DELAY L,R, DELAY L,R, CROSS DELAY, ER 1, ER 2, GATE REVERB, REVERSE REVERB, CHORUS 1, CHORUS 2, FLANGER 1, FLANGER 2, ROTARY SPEAKER, PHASER, DISTORTION, OVER DRIVE, AMP SIMULATOR, AUTO WAH

The variation effect is connected as an XG system effect. All parts are routed to the variation effect with the level determined by the variation send control.

MIDI messages

MMS sends and responds to specific MIDI messages such as note on, note off, pitch bend, modulation and control change. MMS does not respond to program change. Thus, MMX can control external certain aspects of an external MIDI device, but may not always respond in kind.

MMS sends Yamaha XG MIDI messages, but does not necessarily respond to XG messages itself. If an XG-compatible device (synthesizer, etc.) is connected to MMS, MMS can control certain specific aspects of the XG device, such as setting the variation effect. MMS appears to ignore incoming XG messages.

MIDI and XG messages from MMS were observed using MIDI-OX and are documented in the following tables. The first column in each table identifies the MMS user interface (UI) widget (button, knob, etc.) that produces a message. Only a small number of XG-related widgets/messages were tried and identified.

MMS UI widget Raw message MIDI function
MIXER Volume BnH 07H dd Channel volume
MIXER Pan BnH 0AH dd Pan
MIXER Var send BnH 5EH dd Celeste depth/variation send
MIXER Cho send BnH 5DH dd Chorus depth/chorus send
MIXER Rev send BnH 5BH dd Reverb depth/reverb send
MMS UI widget XG message XG function
EFFECT Var return F0 43 10 4C 02 01 56 dd F7 Variation return
EFFECT Cho return F0 43 10 4C 02 01 2C dd F7 Chorus return
EFFECT Rev return F0 43 10 4C 02 01 0C dd F7 Reverb return
EFFECT Reverb pan F0 43 10 4C 02 01 0D dd F7 Reverb pan
MMS UI widget Raw message MIDI function
PART EDIT Volume BnH 07H dd Channel volume
PART EDIT Pan BnH 0AH dd Pan
PART EDIT Var dry F0 43 10 4C 08 02 11 dd F7 Variation dry
PART EDIT Var send BnH 5EH dd Variation send
PART EDIT Cho send BnH 5DH dd Chorus send
PART EDIT Rev send BnH 5BH dd Reverb send
MMS UI widget Raw message MIDI function
PART EDIT Cutoff BnH 4AH dd Filter cutoff
PART EDIT Resonance BnH 47H dd Filter resonance
PART EDIT Attack BnH 49H dd AMP EG attack
PART EDIT Decay BnH 4BH dd AMP EG decay
PART EDIT Release BnH 48H dd AMP EG release
PART EDIT Rate BnH 4CH dd Vibrato rate
PART EDIT Depth BnH 4DH dd Vibrato depth
PART EDIT Delay BnH 4EH dd Vibrato delay
MMS UI widget Raw message MIDI function
PART EDIT On/Off BnH 41H dd Portamento on/off
PART EDIT Time BnH 05H dd Portamento time
PART EDIT Mono/poly F0 43 10 4C 08 02 05 dd F7 Mono/poly mode
PART EDIT PB range F0 43 10 4C 08 02 23 dd F7 Pitch bend range
MMS UI widget Raw message MIDI function
VOICE SELECT BnH 00H dd Bank select MSB
VOICE SELECT BnH 20H dd Bank select LSB
VOICE SELECT CnH dd Program change

SYSTEM settings

A few of the SYSTEM setting widgets send MIDI messages. Widgets on the System GENERAL tab send the following MIDI messages.

  • Set Sound OFF to turn off tone generation.
    • Sends SysEx: F0 43 10 4C 00 00 04 00 F7
    • This XG command sets the master volume to 00.
    • This XG command is sent to MIDI OUT and affects any attached XG module.
  • Set Sound ON to turn on tone generation.
    • Sends SysEx: F0 43 10 4C 00 00 04 7F F7
    • This XG command resets the master volume to 127.
    • This XG command is sent to MIDI OUT.
  • Turn MIDI SYNC clock ON to send MIDI timing clock (message F8H).

The ALL SOUND OFF button on the System OTHER tab sends MIDI All Sound Off to each MIDI channel. The MIDI All Sound Off message is Control Change (CC) 78H, e.g., BnH 78H 00H.

MMS voices

MMS has two banks of built-in voices: a subset of the General MIDI voices and a set of MMS-specific voices. MMS sends MIDI bank select messages along with program change. The bank select messages chose between two banks of built-in voices:

Bank select MSB Bank select LSB MMS voice bank
00H 00H General MIDI subset voices
3FH 00H MMS-specific voices

Voice names in the General MIDI subset bank do not always have the usual GM voice names. Perhaps Yamaha used different names to avoid implying GM compatibility. Some of the voices in the MMS-specific voice bank are enabled through in-app purchases, that is, when you’ve purchased an expansion pack.

Please remember that MMS sends MIDI program change messages, but ignores incoming program change messages. Thus, you cannot use an external device to change the voice assigned to a part.

List of General MIDI subset voices

Bank MSB=0, Bank LSB=0

Category Prog# PC# GM voice
Piano 1 00H Grand Piano
2 01H Aggressive (Bright acoustic piano)
5 04H Case EP (Electric piano 1)
6 05H DX Modern EP (Electric piano 2)
7 06H Harpsichord
8 07H Clavinet
Chromatic 10 09H Glockenspiel
12 0BH Vibraphone
13 0CH Marimba
14 0DH Xylophone
Organ 17 10H Jazz Organ 1
18 11H Click Organ (Percussive organ)
19 12H Rock Organ
Guitar 25 18H Nylon Guitar
26 19H Steel Guitar 1
27 1AH Jazz Guitar
28 1BH Clean Guitar 1
29 1CH Muted Guitar
30 1DH Overdriver Gt 1
31 1EH Distortion Gt
Bass 33 20H Acoustic Bass
34 21H Finger Bass
35 22H Pick Bass
37 24H Slap Bass
39 26H Simple Bass (Synth Bass 1)
40 27H Dance Bass (Synth Bass 2)
Strings 46 2DH Pizzacato Strings
47 2EH Harp
Ensemble 49 30H String Ensemble
51 32H Synth Strings
Brass 57 38H Trumpet
58 39H Trombone
62 3DH Pop Brass (Brass Section)
63 3EH 80’s Brass (Synth Brass 1)
Reed 66 41H Alto Sax
Pipe 74 49H Flute
Synth Lead 81 50H Square Lead 1
82 51H Sawtooth Lead 1
Pad 92 5BH Big Squish (Choir Pad)
93 5CH After 1984 (Bowed Pad)
Ethnic 105 68H Sitar
109 6CH Kalimba

List of MMS-specific voices

Bank MSB=3FH, Bank LSB=0

Bank MSB Bank LSB Prog# PC# MMS-specific voice
3FH 00H 1 00H Boogie A
3FH 00H 2 01H Big Bass
3FH 00H 3 02H Trance Bass
3FH 00H 4 03H Velo Master
3FH 00H 5 04H Analogon
3FH 00H 6 05H Orbit Sine
3FH 00H 7 06H Punch Lead
3FH 00H 8 07H Trance Lead
3FH 00H 9 08H Sync Lead
3FH 00H 10 09H Digital Seq
3FH 00H 11 0AH Short Pulse
3FH 00H 12 0BH Chord Seq
3FH 00H 13 0CH Aqua Lead
3FH 00H 14 0DH Amb Sine
3FH 00H 15 0EH Analog 1
3FH 00H 16 0FH Glass Pad
3FH 00H 38 25H Raw Square Oct
3FH 00H 40 27H Growl Square
3FH 00H 45 2CH Trance Pad
3FH 00H 49 30H Spectrum Baz
3FH 00H 50 31H Dub BAXX
3FH 00H 51 32H Vowel Bass
3FH 00H 56 37H In da Night
3FH 00H 57 38H Analog 2 (R&B Pack)
3FH 00H 65 40H Mellow Piano (R&B Pack)
3FH 00H 68 43H Oct Fuzz (R&B Pack)
3FH 00H 69 44H Almighty
3FH 00H 71 46H Ice Bells (R&B Pack)
3FH 00H 75 4AH Clean Guitar 2
3FH 00H 76 4BH Overdriven Gt 2
3FH 00H 77 4CH Over The Top
3FH 00H 81 50H Dark Bass (R&B Pack)
3FH 00H 82 51H One Voice
3FH 00H 83 52H Mini Sub
3FH 00H 84 53H Ballad Bass
3FH 00H 87 56H Kick Bass (R&B Pack)
3FH 00H 92 5BH Big Squish
3FH 00H 93 5CH After 1984
3FH 00H 97 60H Mini Three (R&B Pack)
3FH 00H 98 61H Trojan
3FH 00H 99 62H Simple Oct (R&B Pack)
3FH 00H 102 65H Faaat Dance
3FH 00H 103 66H Mr.Finger
3FH 00H 104 67H Mini Soft
3FH 00H 105 68H Early Lead
3FH 00H 108 6BH Sawtooth Lead 2
3FH 00H 112 6FH Noble Pad
3FH 00H 113 70H Dark Light
3FH 00H 114 71H Chorus Pad
3FH 00H 119 76H Trance Seq
3FH 00H 120 77H Sine Comp (R&B Pack)
3FH 00H 122 79H Twist (R&B Pack)
3FH 00H 126 7DH Square Lead 3 (R&B Pack)

List of MMS drum kits

Bank MSB Bank LSB Prog# PC# Drum kit
7FH 00H 1 00H Standard Kit
7FH 00H 26 19H Analog T8 Kit
7FH 00H 27 1AH Analog T9 Kit
7FH 00H 28 1BH Dance Kit
7FH 00H 41 28H Brush Kit
7FH 00H 84 53H Break Kit
7FH 00H 85 54H Hip Hop Kit 1Kit
7FH 00H 88 57H R&B Kit 1
7FH 00H 89 58H R&B Kit 2
3FH 20H 1 00H SFX Kit
3FH 20H 2 01H Percussion Kit

Initialization

Creating a new file or loading an old file sends many SysEx set-up messages followed by SysEx/controller messages to set up each of the eight parts. The last messages to be sent are the program change messages to select the voice for each part.

MMS first sends MIDI All Sound Off and Reset Control messages to all sixteen MIDI channels. The messages have the following form (where “n” is the MIDI channel identifier 0H to FH).

B0    78    00    CC: All Sound Off
B0    79    00    CC: Reset All Controllers

Next, MMS sends a large number (100+) XG parameter change messages (too many to list explicitly here).

MMS sends the following per-part MIDI messages (where “n” is the channel identifier 0H to 7H).

Bn    07    64               CC: Volume
Bn    0A    40               CC: PAN
F0 43 10 4C 08 0n 11 7F F7   Variation dry
Bn    5E    00               CC: Celeste Depth (Variation send)
Bn    5D    00               CC: Chorus Depth (Chorus send)
Bn    5B    28               CC: Reverb Depth (Reverb send)
Bn    4A    40               CC: Brightness
Bn    47    40               CC: Harmonic Content
Bn    49    40               CC: Attack Time
Bn    4B    40               CC: Decay Time
Bn    48    40               CC: Release Time
Bn    4C    40               CC: Vibrato Rate
Bn    4D    40               CC: Vibrato Depth
Bn    4E    40               CC: Vibrato Delay
Bn    41    00               CC: Portamento
Bn    05    00               CC: Portamento Time
F0 43 10 4C 08 0n 05 7F F7   Mono/poly mode
F0 43 10 4C 08 0n 23 42 F7   Pitch bend range

The per-part set-up messages are followed by program change messages with the following form (where “n” is the MIDI channel idenfier 0H to 7H).

Bn    00    7F    CC: Bank MSB
Bn    20    00    CC: Bank LSB
Cn    XX    --    PC: XX is the program number

When MMS runs for the first time (i.e., when the app launches), it send one final SYSEX message:

F0 7E 7F 06 01 F7

This message is the an Identity Request SYSEX message (Universal non-realtime message). The receiving device should reply with its identity. For example, the MOX6 replies with:

F0 7E 7F 06 02 43 00 41 44 06 00 00 00 7F F7

I believe that these messages should adequately set up an external XG sound source. Beware, however, when using MMS-specific voices. The external sound source may ignore program change messages for MMS-specific voices because the target sound source does not implement the intended bank.

List of styles

The following preset styles are installed with Yamaha Mobile Music Sequencer when you buy MMS.

Category: Rock/Pop Jazz/World
BluesRck Funky Jaz
ChartPop JzGroove
ChartRck Reggae
FunkPpRk
HardRock
PianoBld
PowerRck
RkShffle
RockPop
RootRock

The following styles are in the optional R&B pack.

Category: R&B
IzzleRB
JazzyRnB
RB Chrt1
RB Chrt2
RnB Bld1
RnB Bld2
RnB Pop1
RnB Pop2
RnB Soul

The following 32 styles are installed with the QY expansion pack. Please note that these styles are only a subset of the 128 built-in styles in the QY-70.

Rock/Pop Jazz/World R&B Dance/Pop Hip Hop Electronic
6_8 Ballad Bossa JB Funk Disco HipHop Drum’n’Bs
8beatRock ComboJz SlowBlues Eurobeat
16Country CoolJazz Smooth House
24beatPop Fusion Soul
AmericaHR Jazz Waltz
ArpBallad Salsa
DetroitPop Samba
GrungeRk Ska
HardCore
HardRock
LitePop
Liverpool
PopWaltz
RkShuffle
RocknRoll