Arpeggio to style conversion

Let’s get one out of the vault… 🙂

The Motif XS/XF (MOX/MOXF) and Montage (MODX) arpeggios and performances are a great source of inspiration. Unlike Yamaha’s arranger series, the built-in phrase library is rich in urban and chill patterns. For some odd reason, one of the classic XS/MOX performances — “Dresden At Night” — never made the leap to Motif XF. And, it’s missing from Montage/MODX, too.

A PSR Tutorial forum member sought help resurrecting Dresden At Night, albeit a recreation for the PSR-SX700 arranger. I thought I would help out since I wrote a series of articles about MOX performance to style conversion:

The end result of that work is a small collection of PSR (Tyros, Genos) styles based on MOX (Motif XS) performances.

If you would like to try Dresden At Night or experiment with a conversion of your own, download the free ZIP file.

MOX performances have four parts (voices). Each part has up to six musical phrases (arpeggios) associated with it. Six front-panel buttons select the currently playing set of arpeggios, i.e., button one selects the first arpeggio for each set and so forth. To get the basic MIDI data, I played each arpeggio (group) for four measures while recording in MOX performance quick record mode. I wrote out the MIDI data as a Standard MIDI File (SMF), transfered the SMF to PC, and imported the SMF into a DAW (Sonar).

Dresden At Night is a downtempo (91 BPM), urban-ish chill performance. It has four parts:

Part# Voice    Name              NoteLo NoteHi VelLo VelHi Level Pan
----- -------- ---------------- ------ ------ ----- ----- ----- ---
1 PRE8:070 8Z Heavy Hearts C-2 G8 1 127 81 C
2 PRE3:053 Dark Bass C-2 G8 1 127 51 C
3 PRE7:110 Ibiza Groove C-2 G8 1 127 127 C
4 PRE5:121 Smooth BPF Sweep C-2 G8 1 127 73 C

The first part is the rhythm voice and the second part is the bass voice. As we’ll see below, arpegiation is turned for these two parts. The third and fourth voices are a play-along pad layer and arpeggiation is disabled. Thus, the rhythm and bass parts provide a looped backing while the pad voices provide an atmospheric you-steer-it, right hand part.

Here are the arpeggio assignments:

Arp#1 Tempo:91              Arp#2 
----- -----
1 MA_8Z HeavyHrt1 1 MA_8Z HeavyHrt3 ON
2 MB_WestCoastPop _XS 2 MA_WestCoastPop _XS ON
3 MA_Space Arp 3 MA_Space Arp OFF
4 MA_Up Oct1 4 MA_Up Oct2 OFF
Arp#3 Arp#4
----- -----
1 MA_8Z HeavyHrt4 1 MA_8Z GatedBt3 ON
2 BA_Jazz Pop _XS 2 FB_WestCoastPop _XS ON
3 MA_Space Arp 3 MA_Space Arp OFF
4 MA_Up Oct4 4 MA_Down Oct1 OFF
Arp#5 Arp#6
----- -----
1 MA_8Z ChillBrk4 1 BA_Sp SFX ON
2 MB_WestCoastPop _XS 2 MA_WestCoastPop _XS ON
3 MA_Space Arp 3 Off OFF
4 MA_Down Oct2 4 Off OFF

The Arpeggiator is turned ON for Parts 1 and 2 only.

A big factor is the “8Z Heavy Hearts” drum kit. The “8Z” in its name means “eight zone”. Eight zone (8Z) voices are a Motif innovation beginning with the XS (MOX) family. If you would like more information, check out these earlier posts about eight zone voices:

8Z voices aren’t drum kits. They are implemented as synth voices and are just a clever way of using the eight elements which make up a voice. The eight zones (8Z) are divided across specific note ranges. 8Z Heavy Hearts assigns waveforms (zone sounds) in the following way:

Element#  Note Low  Note High  Waveform 
-------- -------- --------- --------------
1 C0 F#0 Bd T9-1
2 G0 C1 Bd Hard Long
3 C#1 D1 Sd Elec12
4 D#1 F1 Sd HipHop6
5 F#1 A1 HH Closed D&B
6 A#1 C2 HH Open T9
7 C#2 C4 Clap AnSm
8 C#4 C6 Shaker Hip2

Yamaha messes with each of the zones in crazy ways and ties keyboard notes to voice parameters (AKA “key follow”). For 8Z Heavy Hearts, the most notable effect is how the Clap AnSm pitch follows the keyboard.

Arrangers (even Genos!) don’t have 8Z voices. They have standard drum kits where each MIDI note is a separate drum instrument. In order to make a PSR style using a DAW, one must translate the 8Z MIDI notes to standard drum kit notes. You need to assign appropriate drum kits (e.g., DrumMachine, Analog T9, House, Break or HipHop) to style parts 9 and 10 (MIDI channels 9 and 10) and copy the Heavy Hearts MIDI data to both Parts. Then, delete the notes that aren’t needed in a style part, compress each zone into a single drum instrument, and map the resulting “compressed” notes to the appropriate drum instrument(s). So, for example, all of the notes in C0 to F#0 might be compressed into the Kick T9 1 instrument (B0) in the Analog T9 Kit, which is one of the target drum kits.

I found two PSR drum parts to be enough. However, styles are flexible and you could assign a third (fourth, …) drum kit to one of the other style parts. There’s nothing in Yamaha styles that prevents this. It’s just that parts 9 and 10 (MIDI channels 9 and 10) are conventionally assigned to drum parts in a style.

I went with two PSR drum kits: Analog T9 kit and Drum Machine kit. Here is one possible assignment:

Note Low Note High Waveform       Instrument        Note#   Kit 
-------- --------- ------------- ---------------- ------ -----------
C0 24 F#0 30 Bd T9-1 Kick T9 1 35 B0 AnalogT9Kit
G0 31 C1 36 Bd Hard Long BD Hard Long 24 C0 DrumMachine
C#1 37 D1 38 Sd Elec12 Snare Analog CR 63 D#3 DrumMachine
D#1 39 F1 41 Sd HipHop6 Snare Hip 1 86 F#3 DrumMachine
F#1 42 A1 45 HH Closed D&B Hi-Hat Closed Syn 91 A4 DrumMachine
A#1 46 C2 48 HH Open T9 Hi-Hat Open T9 46 A#1 AnalogT9Kit
C#2 49 C4 72 Clap AnSm Clap Analog Sm 27 D#0 AnalogT9Kit
C#4 73 C6 96 Shaker Hip2 Analog Shaker 57 A2 DrumMachine

A lot of detail, huh? Nobody said style conversion was easy. 🙂 In the end, I spread each zone across multiple drum instruments of the same type, i.e., assigning the Shaker Hip2 zone to a few different Analog Shaker sounds in the Drum Machine kit. Part of 8Z Heavy Hearts’ charm is the subtle sonic variation provided by each zone.

Trying to keep this all straight in the DAW piano roll is cognitively challenging. Did I say, style conversion isn’t easy? 🙂

Fortunately, one can loop four bar sections and play the MIDI through the arranger (Genos, in this case) just like a MIDI song. Then, it’s the usual tweak, listen, rinse, repeat edit process. When the MIDI is tweezed to your liking, you need to add MIDI markers to delimit the style sections. (BTW, leave a one bar MIDI set-up measure at the beginning.) Style section markers are:

    Set-up measure 1: SFF1 
Set-up measure 1: SInt
Main sections: Main A, ...
Fill sections: Fill In AA, ...
Break section: Fill In BA, ...
Introduction: Intro A, ...
Ending: Ending A, ...

At a minimum, you need a few MIDI set-up System Exclusive (SysEx) messages at the beginning of the SMF (measure 1, beat 1):

    F0 7E 7F 09 01 F7                 GM Reset 
F0 43 10 4C 00 00 7E 00 F7 XG System ON
F0 43 10 4C 02 01 00 01 16 F7 Reverb type
F0 43 10 4C 02 01 20 16 00 F7 Chorus type

Reverb is the “Light Hall” preset and chorus is the “Tempo Cross 1” preset. The tempo cross delay is an 8-beat echo.

Which brings me to a necessary ingredient: crunch. 8Z Heavy Hearts gets a lot of its appeal from the Lo-Fi effect:

#  Parameter                   Val  Hex   Meaning 
-- -------------------------- --- ---- --------
1 Sampling Frequency Control 4 0x04 8.82kHz
2 Word Length 98 0x62
3 Output Gain 7 0x07 0dB
4 LPF Cutoff Frequency 56 0x38 12kHz
5 Filter Type 1 0x01 PowerBass
6 LPF Resonance 63 0x3F 6.3
7 Bit Assign 4 0x04
8 Emphasis 1 0x01 On
10 Dry/Wet 88 0x58 D<W24
15 Input Mode 1 0x01 Stereo

Since we need Lo-Fi on both style parts 9 and 10, I configured the variation effect as an XG SYSTEM effect. Parts 9 and 10 also require variation send (MIDI CC#94) set to 127. Add a CC#94 message to parts 9 and 10 in the set-up measure. Here are the MIDI System Exclusive messages to add to the set-up measure:

F0 43 10 4C 02 01 40 5E 13 F7       Variation type 
F0 43 10 4C 02 01 5A 01 F7 Variation SYSTEM
F0 43 10 4C 02 01 56 40 F7 Variation return
F0 43 10 4C 02 01 58 10 F7 Variation send to reverb
F0 43 10 4C 02 01 59 10 F7 Variation send to chorus
F0 43 10 4C 02 01 42 00 04 F7 Variation parameter 1
F0 43 10 4C 02 01 44 00 62 F7 Variation parameter 2
F0 43 10 4C 02 01 46 00 07 F7 Variation parameter 3
F0 43 10 4C 02 01 48 00 38 F7 Variation parameter 4
F0 43 10 4C 02 01 4A 00 01 F7 Variation parameter 5
F0 43 10 4C 02 01 4C 00 3F F7 Variation parameter 6
F0 43 10 4C 02 01 4E 00 04 F7 Variation parameter 7
F0 43 10 4C 02 01 50 00 01 F7 Variation parameter 8
F0 43 10 4C 02 01 54 00 58 F7 Variation parameter 10
F0 43 10 4C 02 01 75 01 F7 Variation parameter 15

At this point, you could save the MIDI to “DresdenAtNight.sty” and load it into your arranger as an SFF1 format style. The arranger should create the style CASM segment. As an alternative, you can add a CASM segment to the SMF with Jørgen Sørensen’s CASM editor. You might as well download his OTS editor, too, and use it to add OTS voice settings to the new style as well. Or, you can do this sort of work on your arranger itself. Mid- and high-end Yamaha arrangers save styles as SFF2 format, which is one way to convert from SFF1 to SFF2. I highly recommend Jørgen’s site, tools and style creation tutorial.

BTW, you can recreate Dresden At Night on MODX (Montage). Create a new MODX performance with 8Z Heavy Hearts and Dark Bass. 8Z Heavy Hearts has the appropriate arpeggios by default. You’ll need to assign different arpeggios to the Dark Bass part. Modify effects as needed. Choose and add pad or lead voices to give your right hand something to do. Done! Use the Scene buttons to switch arpeggio groups.

Copyright © 2021 Paul J. Drongowski