Make music with MMS on PSR/TYROS

Yamaha Mobile Music Sequencer (MMS) is an iPad app for pattern- and loop-based music composition. It’s a great tool for electronic dance music (EDM), pop, and other musical genres with repetitive song and phrase structure.

MMS consists of a sequencer and a sound engine. The sequencer plays phrase-based sections and songs by translating notes and controller data into MIDI messages that it sends to the internal sound engine and the MIDI output port. The sound engine is a cut-down Yamaha XG synthesizer with a limited set of built-in voices and effects. This article shows you how to drive an external PSR-series arranger keyboard with MMS, allowing you to use a broader range of higher quality synthesizer voices in your compositions.

This how-to article concentrates on the MIDI part (configuration, voice selection and so forth) and assumes that you know how to compose music using the sequencer. If you don’t know how to compose with MMS, please see the manual or one of the many on-line tutorials.

The overall process is as easy as 1, 2, 3, 4:

  1. Make connections and configure MMS.
  2. Select General MIDI voices while composing.
  3. Mix your composition and add effects.
  4. Export a Standard MIDI File (SMF) with your composition or record audio.

MMS at the present time cannot import an SMF. Thus, the writing process is strictly one way: from MMS to an SMF or audio. I wish that Yamaha would add MIDI file import — it would make a good product great and MMS would be adopted by more musicians.

The MMS and PSR sound engines

The MMS sound engine responds to many of the same MIDI messages as a Yamaha XG-compatible synthesizer. The MMS sound engine understands MIDI note ON/OFF messages, pitch bend, continuous controller messages (e.g., volume, pan, and expression), program bank select and program change messages. It also responds to many of the XG system exclusive (SysEx) messages that tweak sounds and effects.

The MMS sound engine, unfortunately, does not support the full set of XG voices; it has a rather small subset of the 128 General MIDI (GM) voices and a small set of MMS-specific voices (bank select MSB=3Fh). General MIDI voices are themselves a subset of XG.

Current Yamaha PSR arranger keyboards (even the lowly PSR-E243) support the General MIDI 128 voice sound set. The PSRs are, at the very least, compatible with XGlite. Due to limitations in MMS, we can only select among the 128 GM voices. MMS cannot generate the bank select messages that are needed to access the XG variation voice banks or PSR panel voices. For similar reasons, we can only select a few of the PSR drum kits and effects.

As you’ll see, there are two ways to select a PSR voice for a given part using the MMS Phrase Voice Select Editor:

  1. Select a built-in MMS voice that has a GM equivalent, or
  2. Select a GM voice using an “assigned instrument.”

The assigned instrument is chosen through the Settings menu. The assigned instrument in this tutorial is “MOX6/MOX8.” Making MOX the assigned instrument is OK because we only use the MOX’s General MIDI program bank. Tricky, eh? Don’t worry, more details about this simple process come later.

By the way, it would be great if we could choose “TYROS” as the assigned instrument at this point. Yamaha assumes that Tyros users will connect to the iPad through wireless. Thus, “TYROS” is not revealed unless MMS scans WiFi and detects a nearby Tyros5 keyboard. A Tyros5 user who would like to connect through 5-pin MIDI cables or MIDI-over-USB is out of luck — along with the rest of us. If we could choose “TYROS” as the assigned instrument, then we could select many more voices on the PSR, including panel voices. This is one area where Yamaha could improve MMS.

I strongly recommend disabling the MMS Voice Link feature when using General MIDI voices on the PSR. When Voice Link is enabled, MMS sends the bank select and program change data which is pre-programmed into the phrases. Some of these pre-programmed voices are NOT supported on the PSR and you may not hear what you expect when voice link is enabled.

Set up: Make connections and configure MMS

All current PSR-series keyboards have a “USB TO HOST” (USB Type-B) connector. Ordinarily, this connector is hooked up to a USR Type-A HOST connector on a personal computer. The iPad has a Lightning connector instead of a USB Type-A HOST connector. Thus, you need an Apple Camera Connection adapter which plugs into the iPad’s Lightning connector and provides a USB Type-A HOST connector, just like a personal computer. To make the final connection, plug a standard USB A-to-B cable into the PSR’s USB TO HOST port and into the HOST port of the Apple Camera Connection adapter.

Upper-end PSR-series keyboards (like the S750, S950, Tyros) have good old 5-pin DIN MIDI IN and MIDI OUT ports. If you have a 5-pin MIDI interface like the IK Multimedia iRig MIDI interface, then you can connect the PSR to the iPad through the MIDI ports using that MIDI interface and standard 5-pin MIDI cables. This approach works just as well as “MIDI over USB” described above.

After making physical connections, turn on the PSR keyboard. Launch MMS and go to the Settings menu in the upper right corner of the screen. Tap [SYSTEM] and go to the [MIDI PORT] tab. Make sure that the MIDI ports for the PSR appear in the list of MIDI ports. If you are using MIDI over USB, the PSR appears as “Digital Keyboard” in the list of devices. Turn ON the MIDI input and output ports. If the PSR does not appear, you may need to unplug the USB cable and plug it in again.

Tap the [HARDWARE] button to display a list of assignable hardware instruments. Choose “MOX6/MOX8”. Even though a PSR is physically attached, we can use the MOX General MIDI bank to choose GM voices on the PSR — the primitive MIDI messages are the same and are compatible. This is how we get access to all of the General MIDI voices on the PSR.

Composing: Select GM voice using its MMS equivalent

At this point, you’re ready to compose! For the moment, I assume that you are working in the Phrase Viewer, that is, the screen with 8 parts (rows) from top to bottom and eight or so sections (columns). This is the screen where you choose phrases and build up sections. The blue button to the left of each row displays the part voice. (Hopefully, you’ve disabled Voice Link.) If you’re MIDI savvy, please note that MIDI channels 1 through 8 are assigned to the parts from top to bottom. By the way, everything we say about choosing a part voice in the Phrase Viewer also applies to the Song Editor.

Press [VOICE SELECT] to change the voice for the selected part. MMS displays the Phrase Voice Select Editor. Press the [VOICE SELECT] button to browse voices by CATEGORY and individual voice. If you’ve been using MMS already, then you know this place as the standard method for choosing a synth voice or drum kit.

MMS has many voices and drum kits built into its quasi-XG sound engine. MMS transmits MIDI voice change messages (bank select plus program change) when you choose the voice or drum kit for a part. MMS implements some of the General MIDI voices, but not all of them. Also, MMS has some MMS-specific voices which do not have a corresponding PSR voice. So, at this point, if we want to choose a voice on the PSR, we need to limit ourselves to the GM-only MMS voices.

The MMS voices listed in the following table select a General MIDI voice on the PSR arranger. If an MMS voice is not listed here, it will not select the appropriate voice on the PSR arranger and you will hear something else entirely!

Category  Prog#  PC#  Voice name
--------  -----  ---  ------------------
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

That’s all there is to it. In programming terms, we have a mapping from the MMS voice set to the PSR GM set. Some of the MMS voices go into outer space, however, and we don’t select them. Stick to this list and you’re good to go.

You may need to transpose some phrases up or down to match the voice on the PSR. I usually have to transpose the bass phrases down one octave in order to get them into the correct sonic range.

Drum kits add a few wrinkles. We must select only those MMS drum kits which have a corresponding kit on the PSR. Here is a table of the MMS drum kits including MIDI bank select and program change values. The two rightmost columns show the mapping from MMS drum kit to PSR-E443 and PSR-S950 drum kit, respectively. The number of available kits in common is disappointingly small. Also, in the case of the MMS R&B kits, the MIDI bank select and program change values for the MM R&B kits select the decidedly non-R&B Power kits on the example PSRs. This is a bummer because the pickings are really slim when choosing PSR drum kits via MMS.

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

There is one more potential drum kit gotcha. The MMS parts are on MIDI channels 1 through 8. In XG and GM land, channels 1 through 8 play normal voices (e.g., piano, oboe, etc.) by default. Channel 10 plays a drum kit by default. MMS does not have a part for channel 10. So, MMS must send a MIDI message (XG drum mode message to be exact) to tell the PSR that you are using a drum kit on a channel that is ordinarily a normal voice. If you ever hear a piano or normal voice sounding for a part instead of a drum kit, then re-select the drum kit for the part. MMS sends a drum mode message along with the kit selection data.

MMS sends complete MIDI set-up data to the PSR when loading a file. One way to refresh or reset set-up information is to re-load the song file. MMS then sends volume, pan, effect send, voice selection, etc. messages to the PSR. You can also use this technique to send and capture set-up information in a DAW file. More on this in a minute.

Composing: Select GM voice via assigned instrument

This method of voice selection may seem confusing at first, but it gives us access to all 128 General MIDI voices on the PSR.

Back during the configuration step, we told MMS that it was connected to a Yamaha MOX6/MOX8 workstation. You probably noticed that the Phrase Voice Select Editor displayed an additional button with the label “MOX6/MOX8” in the upper right corner. Tap this button to display a browse-able list of MOX voices. Ignore all of the banks except the General MIDI (GM) bank. Tap [GM] to select this bank. Now, tap one of the voices in the bank to select a General MIDI voice on the PSR. MMS sends the right MIDI bank select and program change messages to the PSR to select the desired GM voice.

This is all good except for one hitch. MMS does not remember the chosen assigned instrument (MOX GM) voice when the song is saved. You will need to re-select the GM voice the next time you work with the song on the PSR. Yamaha, please, here’s another simple feature to add to MMS.

Mixing: Adjust levels and pan

Tap the [MIXER] button to adjust part volume, stereo position (pan) and digital effect sends. MMS sends the same MIDI messages to the PSR keyboard as it sends to its internal mixer. The following table summarizes the MIDI continuous controller (CC) messages sent to the sound engine and the PSR.

    MMS control     Raw MIDI data   MIDI CC message
    -----------     -------------   -------------------
    VOLUME          Bxh 07h dd      CC#7 Channel volume
    PAN             Bxh 0Ah dd      CC#10 Pan
    VAR SEND        Bxh 5Eh dd      CC#94 Celeste Depth
    CHO SEND        Bxh 5Dh dd      CC#93 Chorus Depth
    REV SEND        Bxh 5Bh dd      CC#91 Reverb Depth

The “x” symbol in the raw data stands for the hex encoded MIDI channel number. Raw values 0 to 15 (0h to Fh) represent MIDI channels 1 to 16, respectively. The “dd” in the raw data stands for the controller data value ranging from 0 to 127 (7Fh). The raw value 64 (40h) represents the center PAN position.

Yep, you can use MMS as a tablet-based MIDI controller.

Mixing: Select effects

Digital effects in the Yamaha XG sound architecture are applied by three processors: the reverb unit, the chorus unit and the variation effects unit. Each effects unit supports several different kinds of reverb, chorus, etc.

MMS implements all three units. The PSR, however, may or may not implement all three units. The PSR-E443 implements only the reverb and chorus unit. The up-scale PSR-S950 implements all three units. Further, MMS supports only a few effect types per unit. The PSR-E443 effect units are more capable and the S950 units support still more effect types per unit. You need to check the MIDI reference for your PSR keyboard to find the model-specific effect units and types.

Tap the [EFFECT] button to select different reverb, chorus and variation effects. Tap the blue + and – bars to browse through the effect types. Tap the [VAR], [CHO] and [REV] buttons if you want to fine tune the individual effect parameters. (This is purely optional; mandatory if you’re OCD.) MMS transmits MIDI CC/SysEx messages to the PSR keyboard whenever you make a change on one of these screens.

The following table is a list of the reverb effect types supported by MMS, the PSR-E443 and the PSR-S950, respectively.

    MSB LSB  MMS effect  PSR-E443   PSR-S950
    --- ---  ----------  ---------  ---------
    00h 00h  No effect   No effect  No effect
    01h 00h  HALL 1      HALL 1     HALL 1
    01h 01h  HALL 2                 HALL 5
    02h 00h  ROOM 1      ROOM       ROOM 5
    02h 01h  ROOM 2                 ROOM 6
    02h 02h  ROOM 3                 ROOM 7
    03h 00h  STAGE 1     STAGE      STAGE 3
    03h 01h  STAGE 2                STAGE 4
    04h 00h  PLATE       PLATE      PLATE 3
    04h 07h  GM PLATE               GM PLATE

Some of the MMS reverb effect types have no counterpart in the E443. If you choose one of these effects in MMS, the result on the E443 is undefined. To make matters more confusing, Yamaha seem to have used a different naming and numbering system on each of the different products! Just use your ears to find the best sound.

The following table is a list of the chorus effect types supported by MMS, the PSR-E443 and the PSR-S950.

    MSB LSB  MMS Effect  PSR-E443   PSR-S950
    --- ---  ----------  ---------  ---------
    00h 00h  No effect   No effect  No effect
    41h 00h  CHORUS 1    CHORUS 3   CHORUS 6
    41h 01h  CHORUS 2               CHORUS 7
    43h 00h  FLANGER 1   FLANGER    FLANGER 5
    43h 01h  FLANGER 2              FLANGER 4

By the way, I’ve given the raw MIDI bank select (MSB and LSB) for all MMS effect types. This way, you can match your PSR’s effects with MMS.

Finally, here is a table that maps the MMS variation effect types to the PSR-S950 variation effect types. The PSR-E443 does not have a variation effect unit, so nothing is shown for the E443 in the table.

    MSB LSB  Effect            PSR-S950
    --- ---  ----------------  ------------
    00h 00h  No effect         No effect
    01h 00h  HALL 1            HALL 1
    01h 01h  HALL 2            HALL 5
    02h 00h  ROOM 1            ROOM 5
    02h 01h  ROOM 2            ROOM 6
    02h 02h  ROOM 3            ROOM 7
    03h 00h  STAGE 1           STAGE 3
    03h 01h  STAGE 2           STAGE 4
    04h 00h  PLATE             PLATE 3
    06h 00h  TEMPO DELAY L,R   DELAY L,R
    06h 00h  DELAY L,R         DELAY L,R
    07h 00h  ECHO              ECHO
    08h 00h  CROSS DELAY       CROSS DELAY 1
    09h 00h  ER 1              ER 1
    09h 01h  ER 2              ER 2
    0Ah 00h  GATE REVERB       GATE REVERB 1
    41h 00h  CHORUS 1          CHORUS 6
    41h 01h  CHORUS 2          CHORUS 7
    43h 00h  FLANGER 1         FLANGER 5
    43h 01h  FLANGER 2         FLANGER 4
    48h 00h  PHASER            PHASER 1
    49h 00h  DISTORTION        DIST HEAVY
    4Ah 00h  OVERDRIVE         OVERDRIVE
    4Bh 00h  AMP SIMULATOR     AMP SIM 1
    4Eh 00h  AUTO WAH          AUTO WAH 2

If you have ever scanned through the effect types in the S950 Data List, you know that the S950 supports many more effect types and variations. You definitely get what you pay for!

Export: Generate a Standard MIDI File (SMF)

The final step in song development is to export a Standard MIDI File (SMF) for your composition. Open the SETTINGS menu in the upper right corner of the screen and tap [FILE] to display the file tabs. Tap the [USER] tab to display a list of your personal project files. Tap the [EXPORT] button to export either sections or song. Then choose one of the export options: SMF or TYROS. In any case, MMS writes a Standard MIDI File. The export option affects only the file content.

How so? If you choose SMF, MMS generates a completely stripped SMF. The SMF does not contain voice selection messages and does not contain volume, pan and effect configuration data. MIDI note data is all you get. The SMF option is a good starting place when you intend to add everything using a DAW.

If you choose TYROS or one of the workstations like MOX6/MOX8, MMS generates MIDI voice selection messages that are specific to the target keyboard. This means that the bank select and program change messages work only on the target keyboard. TYROS is a good choice even if you are targeting a different model PSR. With the TYROS option, MMS generates voice selection messages for XG and many of the most common panel voices. The following table shows a (random) sampling of MMS voice to TYROS voice mappings.

    MMS voice/kit    TYROS voice/kit          MSB  LSB  PC#
    --------------   -----------------------  ---  ---  ---
    Jazz Guitar      Jazz Guitar (XG)           0    0   27
    Clean Guitar 1   Solid Guitar               0  118   28
    Clean Guitar 2   Cool! Clean Guitar         0  112   28
    Muted Guitar     Vintage Mute             104    0   29
    Overdriven Gt 1  Overdrive Gtr              0  112   30
    Distortion Gt    Distortion Gtr             0  112   31

    Finger Bass      Mellow Finger              0  112   34
    Acoustic Bass    Acoustic Bass            104    1   33
    Pick Bass        Pick Bass                  0  112   35
    Simple Bass      Kick Bass                104    1   39

    Flute            Sweet! Flute               0  114   74
    Alto Sax         Alto Sax                   0  112   66
    String Ensemble  Strings mf                 0  118   49
    Synth Strings    Synth Strings 1            0  112   51
    Trumpet          Sweet! Golden Trumpet      0  122   57
    Trombone         Sweet! Trombone            0  117   58
    Pop Brass        PopHnsDynamic            104    0   62

    Grand Piano      Concert Grand              0  122    0
    Case EP          Cool! SuitcaseHard       104   16    5
    Jazz Organ 1     Jazz Organ 2               0  113   17
    Click Organ      Click Organ                0  112   18

    Standard Kit     Standard Kit             127    0    1
    Analog T8 Kit    Analog T8 Kit            127    0   59
    Analog T9 Kit    Analog T9 Kit            127    0   60
    Dance Kit        Dance Kit                127    0   28
    Brush Kit        Brush Kit                127    0   41
    R&B Kit 1        Hip Hop Kit              127    0   57
    R&B Kit 2        Hip Hop Kit              127    0   57
    Hip Hop Kit 1    Hip Hop Kit              127    0   57
    Break Kit        Break Kit                127    0   58
    Percussion Kit   *Outer space*            109    0  127

Some of these mappings fit reasonably well with the PSR-S950 — not too many misses. The PSR-E443, unfortunately, doesn’t have many of these TYROS5 voices in common.

Mix information is not generated. Even though you chose TYROS, MMS does not generate volume, pan, effect configuration, etc. data. You still need to add this information to the SMF using a DAW. Earlier we noted that MMS sends all MIDI set-up data when it loads a project file. I have successfully captured set-up information by recording the MIDI using a DAW running on a PC. I used 5-pin MIDI, not MIDI over USB, so your mileage may vary (YMMV) if you try this technique with MIDI over USB. Once this set-up information is captured, you can copy it to the SMF with the voice selection and note data using a DAW.

Export is another place where Yamaha could make substantial improvements to MMS. It feels kind of incomplete and unsatisfying to get to a fully mixed song and then not be able to write all of the MIDI data to an SMF.

Record audio: Generate a WAV file

Given the limitations of MIDI export, you might as well mix down and record to audio. Higher-end PSR workstations (S750, S950, TYROS) can record to a WAV file. So, once you have things sounding the way you want them, it makes sense to start recording on the PSR and to capture the sonic result while everything is live. Lower-end PSR keyboads (E443 and lower) cannot record audio. However, you can always use an external recorder (PC-based DAW or an inexpensive audio recorder like the Roland Micro-BR) to capture your work.