Scat voices the newest Yamaha arrangers

The original Jazz Scat voices expansion pack for the Yamaha PSR-S950 arranger workstation remains a popular part of the site. With the Tyros5, Yamaha took a different direction and format for expansion packs. The new approach to expansion pack development and use is embodied in the Yamaha Expansion Manager, or “YEM” for short. Up to now, Tyros5 users have not been able to load and use the original Jazz Scat voices expansion pack.

That’s all changed! I’m pleased to announce the alpha test version of the Jazz Scat voices expansion pack for YEM-compatible Yamaha arranger workstations. The list of YEM-compatible arrangers include the Tyros5, PSR-S670, PSR-S770 and PSR-S970 workstations.

Why “alpha test?” At this time, I do not have access to a YEM-compatible workstation in order to do my own testing. (I’m happy with the S950, thanks.) In response to requests, however, I have produced a new YEM-compatible expansion pack. I’ve done as much testing as I can in YEM. Now, it’s your turn!

The expansion pack is in YEM project file format, sometimes called a “PPF file” because of its file extension. The PPF file must first be loaded into YEM. Once it is in YEM, you can send it to your keyboard, generate an install file (PPI format), copy voices to your own custom pack and even edit the voices themselves. That’s a lot of flexibility!

If you encounter problems, please post your issues to the PSR Tutorial Forum . If you are a PSR/Tyros user, you really should participate at the forum anyway. It’s a great place to meet other PSR/Tyros users and to learn new techniques.

Here is a link to the expansion pack. You need to download and UNZIP this file, read the README_PACK_YEM.TXT file, and then load the pack into the Yamaha Expansion Manager.

Both the scat voice expansion pack and the scat voice samples are released under a Creative Commons Attribution 4.0 International License.

Creative Commons License
ScatVoices and ScatVoice samples by Paul J. Drongowski are licensed under a Creative Commons Attribution 4.0 International License.

You are free to use the expansion pack voice or samples (even for commercial purposes) as long as you provide a link to http://sandsoftwaresound.net from your own web site AND/OR explicitly credit me in your creative work, e.g., “Scat samples/voice by Paul J. Drongowski”.

If you would like to know more about the sampling and voice design process, please read this post. The original S750/S950 compatible pack is here. Or, feel free to listen to the MP3 demo.

XG effects: SYSTEM mode

The last time that I took a look at Yamaha XG effects, I discussed using the VARIATION effect as a channel insertion effect. I’m now working on a PSR/Tyros style where I would like to apply an amp simulation effect to two channels. So, it’s time to learn about the configuration of VARIATION effects in SYSTEM mode. Even though I’m working on a style, you can apply these techniques to any Standard MIDI File (SMF) for play-back on an XG sound engine.

XG insertion effects are relatively easy to configure as the VARIATION effect is added to the signal chain of a single MIDI channel (XG part). Configuration of the VARIATION block as a SYSTEM effect takes more effort (i.e., more System Exclusive messages), but is well worth it. Now that I understand SYSTEM mode better, I may set up a DAW template for SYSTEM mode and use that template as my default effect configuration.

The diagram below shows the signal flow for the VARIATION, CHORUS and REVERB effect blocks when VARIATION is configured for SYSTEM mode. I show only one channel (Part NN) entering from the left in order to keep the diagram simple. Control “knobs” are drawn as ovals; these are XG/MIDI parameters under your control. The first four knobs — CC91, CC93, CC94 and DRY — are per-part parameters and need to be set for each of the sixteen channels (parts). The MIDI Continuous Controller (CC) knobs set the reverb, chorus and variation send levels for the part, respectively. In my project, I set the variation send (CC94) for two parts to non-zero levels and set CC94 for the remaining parts to zero. The non-zero levels pass the signal to the VARIATION block.

XG_System_Mode

The reverb, chorus and variation send levels are configured using MIDI Continuous Controller messages, but the DRY level is set using an XG System Exclusive (SysEx) message. Although this looks inconsistent, it follows Yamaha’s XG recommendations, i.e., use CC messages in preference to SysEx where possible. DRY level must be controlled using SysEx as no corresponding MIDI CC message is defined.

Please see the table at the end of this post for further message programming details.

The rest of the effect blocks and knobs are global (system-wide). The REVERB, CHORUS and VARIATION return levels (REV RET, CHO RET, and VAR RET) along with the DRY levels determine the amount and balance of effected and un-effected (dry) sound. All of the return levels default to 0dB (decimal 64 or 0x40 in hexadecimal notation). The default for each per-part DRY level is the maximum (decimal 127 or 0x7F). These default values enable signal flow right from the beginning and are a good starting point for experimentation and tuning. At least you are guaranteed to get some sound out of the effect section!

The VARIATION, CHORUS and REVERB blocks need to be configured through the usual XG SysEx voodoo. You need to select at least the effect type and be sure to configure the VARIATION effect for SYSTEM mode. In actual practice, you should do this before setting any send levels as the change to SYSTEM mode changes the level parameters to new default values.

Now the fun begins! The default configuration puts the three effect blocks in parallel. The inter-block send levels:

  • Send VARIATION to CHORUS (VAR to CHO)
  • Send VARIATION to REVERB (VAR to REV)
  • Send CHORUS to REVERB (CHO to REV)

establish serial effect routings between blocks. The level values determine the degree to which a series connection is made (i.e., how much signal is passed). Initially, all of these knobs are set to zero and the effects are full parallel. You can change these values to add reverb and/or chorus to the effected variation signal, for example, in the same way that you add reverb and/or chorus to a part.

The higher end arranger workstations offer a rich choice of CHORUS block effects — everything from chorus, phaser and flange to rotary speaker. Thus, you can create a long effect chain from VARIATION to CHORUS to REVERB, if you so desire. Want to phase a distorted guitar sound? You can!

The following tables summarize the low level details of effect programming. The addressable XG parameters must be set with the usual SysEx magic, e.g., F0 43 10 4C 02 01 40 4B 01 F7 to set the effect type.

Continuous Controller (Per part/channel)                    "Knob"

  CC91  Part/Channel REVERB SEND                            (CC91)
  CC92  
  CC93  Part/Channel CHORUS SEND                            (CC93)
  CC94  Part/Channel VARIATION SEND                         (CC94)

MULTI PART (per part/channel NN)

  Address   Parameter             Default
  --------  --------------------- -------
  08 NN 11  DRY LEVEL             0x7F                      (DRY)
  08 NN 12  CHORUS SEND           0x00
  08 NN 13  REVERB SEND           0x28 (decimal 40)
  08 NN 14  VARIATION SEND        0x00

REVERB effect block (global)

  Address   Parameter             Default
  --------  --------------------- -------
  02 01 00  REVERB TYPE           0x01, 0x00 (HALL1)
  02 01 0C  REVERB RETURN         0x40 (off:0x00, 0dB:0x40) (REV RET)
  02 01 0D  REVERB PAN            0x40 (center)

CHORUS effect block (global)

  Address   Parameter             Default
  --------  --------------------- -------
  02 01 20  CHORUS TYPE           0x41, 0x00 (CHORUS6)
  02 01 2C  CHORUS RETURN         0x40 (off:0x00, 0dB:0x40) (CHO RET)
  02 01 2D  CHORUS PAN            0x40 (center)
  02 01 2E  Send CHORUS to REVERB 0x00 (off, 0dB:0x40)      (CHO to REV)

VARIATION effect block (global)

  Address   Parameter             Default
  --------  --------------------- -------
  02 01 40  VARIATION TYPE        0x05, 0x00 (DELAY LCR2)
  02 01 56  VARIATION RETURN      0x40 (off:0x00, 0dB:0x40) (VAR RET)
  02 01 57  VARIATION PAN         0x40 (center)
  02 01 58  Send VAR to REVERB    0x00 (off, 0dB:0x40)      (VAR to REV)
  02 01 59  Send VAR to CHORUS    0x00 (off, 0dB:0x40)      (VAR to CHO)
  02 01 5A  VARIATION CONNECTION  0x00 (insert:0, system: 1)
  02 01 5B  VARIATION PART #      0x7F (off: 0x7F)

Arranger memory: One more time!

OK, OK, not everyone reads service manuals and schematics for their keyboard. However, I do get a little frustrated when posters compare apples to oranges, and make statements like “I can buy 1GByte for $1 (USD), so why is Yamaha so stingy with wave memory?”

Here is some information from the S750/S950 and Tyros5 service manuals and product data sheets. Please keep in mind that there are many different kinds of memory in an arranger. I’m going to focus on tone generation because that is the most relevant to wave memory size.

Both the S750/S950 and Tyros5 use proprietary Yamaha tone generator integrated circuits designated “SWP51L”. The S750/S950 designs use one SWP51L and the Tyros5 has two SWP51L chips. Each SWP51L has two dedicated memory ports (called “HIGH” and “LOW”) where each port consists of an address bus and a 16-bit parallel data bus.

In the S750/S950, each port is connected to a WAVE ROM:

    S750 WAVE ROM-L 1Gbit IC308   JS28F00AM29EWLA
    S750 WAVE ROM-H 1Gbit IC302   JS28F00AM29EWLA

That’s 128MBytes per device for a total of 256MBytes (2 times 128MBytes).

The Tyros5 microarchitecture is a little more complicated — the memory devices are shared between two SWP51Ls via separate shared address and data busses. There are six WAVE ROM integrated circuits:

    Tyros5 WAVE ROM-L0 1Gbit IC702   S29GL01GS10TFI020
    Tyros5 WAVE ROM-H0 1Gbit IC716   S29GL01GS10TFI020
    Tyros5 WAVE ROM-L1 1Gbit IC703   S29GL01GS10TFI020
    Tyros5 WAVE ROM-H1 1Gbit IC717   S29GL01GS10TFI020
    Tyros5 WAVE ROM-L2 1Gbit IC704   S29GL01GS10TFI020
    Tyros5 WAVE ROM-H2 1Gbit IC718   S29GL01GS10TFI020

That’s a total of 768MBytes (6 times 128MBytes).

Those cryptic names in the tables above identify the specific memory component. The components come from two vendors: Micro Technology and Spansion. Here are the gory details.

    Micron Technology JS28F00AM29EWLA  56-pin TSOP
        Parallel NOR Flash Embedded Memory
        Configurable width data bus (8- or 16-bits)
        Asynchronous random/page read
            Page access speed: 25ns
            Random access speed: 110ns
            Page size: 16 words or 32 bytes

    Spansion S29GL01GS10TFI020 56-bit TSOP

        GL-S MirrorBit Eclipse Flash Non-Volatile Memory
        S29GL01GS 1 Gbit (128 Mbyte)
        16-bit parallel data bus
        Asynchronous 32-byte page read
            Page access speed: 25ns
            Random access speed: 100ns
        Program and erase rates (i.e., write speed)
            Buffer Programming (512 bytes) 1.5 MB/s
            Sector Erase (128 kbytes) 477 kB/s

The read speed (25ns per 16-bit word in page mode) is much faster than write speed, and that’s OK in this application because the data is always read once it’s loaded/initialized. The SWP51L probably operates in page mode since the samples are accessed sequentially. Dunno ’bout you, but 25 nanoseconds per 16-bit word is darned fast. The access speed is MUCH higher than a typical USB flash drive.

Two 27-bit address busses and two 16-bit data busses are sent to/from the plug-in expansion board. These busses extend the two shared WAVE ROM busses. The expansion board needs to keep up with the high read rate.

Please note that the CPU does not get anywhere near the sample streams. That work is assigned to the SWP51Ls.

Hope this helps to clarify.

Crunchin’ da drums

In my last post, I discussed Motif/MOX eight zone (8Z) drum kits. The eight zone concept lets you assemble eight different percussion sounds into a custom kit. The waveforms are assigned to voice elements and are stretched/limited to eight different keyboard (MIDI note) zones. The Motif/MOX have matching arpeggios that work with the 8Z kits.

By the way, the 8Z drum kits were first introduced with the Motif XS. My notes on the 8Z kits and this note on effects apply to all later models including the Motif XF and MOXF.

If you have ever tried the percussion sounds alone without effects, the drum sounds are kind of “plain Jane” without a lot of impact. This post deconstructs a couple of effects which can be applied to break beats and other styles that require crunch and animation.

The first effect chain is taken from the Voice PRE8:060 “8Z Romps.” The voice has two insert effects connected in series. INSERT A is a Lo-Fi algorithm with the following parameters (effect preset “Max Lo-Fi”):

    #  Parameter              Value    Numeric
   --  ---------------------  -------  -------
    1  Sampling Freq Control  4.01KHz  (10)
    2  Word Length            93       (93)
    3  Output Gain            +7 dB    (14)
    4  LPF Cutoff             20.0KHz  (60)
    5  Filter Type            Radio    (2) 
    6  LPF Resonance          10.0     (100)
    7  Bit Assign             2        (2)
    8  Emphasis               On       (1)
   10  Dry/Wet                D<W63    (127)
   15  Input Mode             Stereo   (1)

The parameter number, name, values, etc. are taken from the MOX Data List. (See the section titled “Effect Parameter List” in the PDF file). The numeric values — given here in decimal — are what you need to program the effect through System Exclusive MIDI messages. More about this in a minute.

The Lo-Fi effect adds a lot of crunch and crush. But, wait! There’s more. The INSERT B effect is the AmpSim 1 amp simulator. Its parameters are:

    #  Parameter              Value    Numeric
   --  ---------------------  -------  -------
    1  Over Drive             54%      (54)
    2  Device                 dst1     (2)
    3  Speaker                Combo    (2)
    4  Presence               +10      (10)
    5  Output Level           34%      (34)
   10  Dry/Wet                D<W63    (127)

This is the “Beat Crunch” effect preset.

Please remember that my goal is to use the 8Z break beats in a PSR/Tyros style. In order to do accomplish this, I found the equivalent effects algorithms for the Yamaha PSR-S950 arranger workstation. Here are the equivalent algorithms:

    MOX            PSR-S950
    --------       -----------------------------
    Lo-Fi    --->  Lo-Fi DRUM1 (MSB:94 LSB:18)
    AmpSim 1 --->  V_DIST CRUNC (MSB:98 LSB:18 )

Unfortunately, the XG effects architecture supports at most one system-wide variation effect or one per-part insert effect. So, I decided to use the Lo-Fi algorithm because it seemed to provide most of the grit and nastiness that I was seeking.

It took a little detective work to find and match up the corresponding effect algorithms between the Motif/MOX and the PSR/Tyros. The effect type is enough to get into the same neighborhood. The rest of the sleuthing involves comparing the parameter lists in order to find the exact (or best) match. The MOX has Virtual Circuit Modeling (VCM) effects and the S950 does not. Therefore, you may not always be able to find an exact match.

With the S950 Data List in hand, I translated the effect parameters into the hexadecimal System Exclusive (SysEx) messages to configure the Lo-Fi effect on the PSR:

    F0 43 10 4C 02 01 40 5E 12 F7   Variation Type
    F0 43 10 4C 02 01 5A 01 F7      Variation Connection (SYSTEM)
    F0 43 10 4C 02 01 42 00 0A F7   PARAMETER 1 Sampling Freq Control (10)
    F0 43 10 4C 02 01 44 00 5D F7   PARAMETER 2 Word Length (93)
    F0 43 10 4C 02 01 46 00 0E F7   PARAMETER 3 Output Gain (14)
    F0 43 10 4C 02 01 48 00 3C F7   PARAMETER 4 LPF Cutoff (60)
    F0 43 10 4C 02 01 4A 00 02 F7   PARAMETER 5 Filter Type (2)
    F0 43 10 4C 02 01 4C 00 64 F7   PARAMETER 6 LPF Resonance (100)
    F0 43 10 4C 02 01 4E 00 02 F7   PARAMETER 7 Bit Assign (2)
    F0 43 10 4C 02 01 50 00 01 F7   PARAMETER 8 Emphasis (1)
    F0 43 10 4C 02 01 54 00 7F F7   PARAMETER 10 Dry/Wet (127)
    F0 43 10 4C 02 01 74 01 F7      PARAMETER 15 Stereo  (1)

I configured the effect as a system-wide variation effect such that multiple percussion parts may be sent to the effect. I inserted the SysEx messages into the set-up measure of the PSR style file using SONAR (my usual DAW/sequencer). Yow, the difference between the percussion sounds without and with this effect is like night and day!

The MOX insert effects are followed by a system-wide Tempo Cross Delay effect (effect preset “4beat Echo”). This effect adds a nice bit of animation to the overall sound. The MOX effect parameters are:

    #  Parameter              Value    Numeric
   --  ---------------------  -------  -------
    1  Delay Time L>R         4th      (11)
    2  Delay Time R>L         8th.     (10)
    3  Feedback Level         16       (80)
    4  Input Select           L        (0)
    5  Feedback High Dump     0.5      (5)
    6  Lag                    0ms      (64)
   10  Dry/Wet                D<W63    (127)
   13  EQ Low Frequency       250Hz    (22)
   14  EQ Low Gain            0dB      (64)
   15  EQ High Frequency      4.0KHz   (46)
   16  EQ High Gain           0dB      (64)

The equivalent S950 effect is TEMPO CROSS1 (MSB:22 LSB:0). I assigned this effect to the system-wide CHORUS block.

Here are the S950 (XG) SysEx messages to configure the delay effect in the CHORUS block:

    F0 43 10 4C 02 01 20 16 00 F7  Chorus Type TEMPO CROSS1
    F0 43 10 4C 02 01 22 0B F7     PARAMETER 1 Delay Time L<R     (11)
    F0 43 10 4C 02 01 23 0A F7     PARAMETER 2 Delay Time R<L     (10)
    F0 43 10 4C 02 01 24 50 F7     PARAMETER 3 Feedback Level     (80)
    F0 43 10 4C 02 01 25 00 F7     PARAMETER 4 Input Selection    (0)
    F0 43 10 4C 02 01 26 05 F7     PARAMETER 5 Feedback High Dump (5)
    F0 43 10 4C 02 01 27 40 F7     PARAMETER 6 Lag                (64)
    F0 43 10 4C 02 01 2B 7F F7     PARAMETER 10 Dry/Wet           (127)
    F0 43 10 4C 02 01 32 16 F7     PARAMETER 13 EQ Low Frequency  (22)
    F0 43 10 4C 02 01 33 40 F7     PARAMETER 14 EQ Low Gain       (64)
    F0 43 10 4C 02 01 34 2E F7     PARAMETER 15 EQ High Frequency (46)
    F0 43 10 4C 02 01 35 40 F7     PARAMETER 16 EQ High Gain      (64)

A little bit of delay on a busy drum part goes a long way. The send level (not shown here) is relatively low — just enough to add a little animation to the sound without creating a lot of clutter. It sounds OK, but I might adjust the send level dynamically and add more delay to exposed parts like the break while keeping the MAIN sections clean.

I hope this short effects clinic helps you out!

Groovin’ in eight zones

I heard a great interpretation of Chris Isaak’s “Wicked Game” by Groovy Waters. Their work inspired me to create a down-tempo PSR/Tyros style with break beats that would let me jam over the changes (Bm-A-E-E).

And that led me into a whole new exploration in Motif/MOX and PSR/Tyros styles!

While goofing around with the Yamaha MOX6 workstation, I stumbled into some break beats with “8Z” in the name. I noticed that the “8Z” arpeggios are targeted for voices with “8Z” in their names. So, what is this “8Z” business?

The Motif XS (and MOX) added 8-zone drum kits and arpeggios, hence, the “8Z” in the names. A conventional drum kit has dozens of individual percussion sounds laid out across the MIDI note range (AKA “the keyboard”). An 8-zone kit is an extension of a regular synth voice where each voice element is assigned a percussion sound. The usual upper and lower note limits determine the key range for each sound. Here is the element information for the PRE8:060 “8Z Romps” voice:

                            Name        Note#
                         ----------   ---------
    Waveform             Low   High   Low  High
    ----------------     ----  ----   ---- ----
    BD T9-4               C0    C1     24   36  
    SD Elec7              C#1   F1     37   41  
    China St              F#1   C2     42   48  
    SD Rim SE             C#2   C3     49   60  
    Bd Jungle 2           C#3   F#3    61   66  
    Bd Distortion4        G3    C4     67   72  
    Bd Distortion RM      C#4   C5     73   84  
    Bd D&B2               C#5   C6     85   96  

Each waveform is stretched across a multi-key zone. Thus, each of the notes within a zone have a slightly pitch-shifted tone, allowing for tonal variation in patterns where repeated notes are played in sequence. Since these are basically regular synth voices, you are also free to mess about with the filter, amplitude envelope and all the usual sound design goodies.

The arpeggios designed for the “8Z Romps” voice do just that. (See “MA_8Z Romps” and so forth.) The pitch shift, etc. breaks up the monotony of repeated notes.

The “8 zone” idea makes it easy to cobble new drum kits together from the diaspora of waveforms in the regular drum kits. You probably don’t need more than eight different percussion sounds for a set of basic beats. A quick survey of other “8Z” kits shows this to be true:

    8Z HeavyHearts      8Z Chilly Breakz    8Z Gated Beatz
    --------------      ----------------    --------------
    Bd T9-1             Bd HipHop6          Bd Gate
    Bd Hard Long        Sd HipHop9          Bd HipHop9
    SD Elec12           Sd T8-1             Sd HipHop6
    Sd HipHop6          HH Closed T8-2      Sd Hip Gate
    HH Closed D&B       HH Open T8-2        HH Closed T8-1
    HH Open T9          Electric Perc1      HH Open T8-1
    Clap AnSm           Sleigh Bell         Noise Burst
    Shaker Hip 2        Shaker Hip 1        Shaker Hip 1

These kits have a different key layout than “8Z Romps”. In fact, these 8Z kits have a few zones that resemble the conventional kit layout — the bass drums (Bd) cover the notes where bass drum is usually found, the snare drums (Sd) cover the usual notes for snare drum, etc. Thus, you can play “regular” drum arpeggios through these 8Z voices and they sound just fine. The upper range elements cover a wide range of notes and are the “catch all” for the usual percussion spice such as conga, shakers, guiro, triangle and the like. With the pitch shifting, the “catch all” approach can produce some hip patterns.

There is far more fun to be had. I came across the “8Z” kits and arpeggios while playing the Performance USR2:102(G06) Ibiza Growl Sax. This Performance had the feel that I was looking for, although I wasn’t too pleased with the sax voice. (A problem that is easily fixed.) The Performance assigns “8Z Romps” to the first voice, but, wait! It plays break beats through “8Z Romps” that were not designed for “8Z Romps”, having different zones, etc. Cool. Yamaha sound designers are not only good at following the rules, they are equally adept at breaking the rules, too.

I decided to go ahead with the break beats from Ibiza Growl Sax even though the PSR/Tyros do not have “8Z” drum kits. I had to unwind all of the 8Z-ness and map the percussion voices to standard PSR-S950 drum kits. Unfortunately, the repetitive patterns are a little bit plain even though the musical feel is still good.

Next up, crushing the drums and bouncing them around.

Performance styles for PSR-E443

The PSR-E443 folks don’t get enough love, so here is a collection of performance styles for the E443 and the E433.

So, what is a “performance style?”

The Yamaha Motif/MOX series of synthesizer workstations have hundreds of factory “Performances” to to help a composer get started with a new song. A Performance has up to four independent voices (drum, bass, guitar, etc.) and up to six sets of related musical phrases — “arpeggios” in Motif-speak. The arpeggios are drawn from a built-in library of several thousand musical phrases in a slew of contemporary genres. Each set of phrases has a role (main section, fill, break) and the composer switches between sets while playing in order to lay down a basic arrangement or backing track. Even if you’re not a songwriter, the Motif Performances are just plain fun for jamming or practice.

I recorded and translated 22 of my favorite Motif/MOX Performances to PSR/Tyros styles — Performance styles. They play just like regular styles (follow chords in the left hand, play fill-ins when changing main sections, etc.) The styles are stripped down and are meant to be played. A few of the styles have only bass and drum, so there isn’t a lot of elaborate orchestration to get in the way. The introductions and endings are very simple.

This first collection targets the PSR-E443 and E433. The styles are SFF1 and should work on other arrangers supporting SFF1 although you may need to substitute different drum kits. The styles in this collection do not use Mega Voices. A more advanced collection with SFF GE and Mega Voices is being developed.

Since these are my favorite performances, the styles come from a funky, jazzy, fusion kind of place.

For more information, check out the README page. Then, download the ZIP file and have fun!

Free DJX-II styles/patterns for PSR/Tyros

Once upon a time (around the year 2000), Yamaha was into beat boxes and other spiffy tools for creating dance, hip hop, and other forms of “electronic” music. The DJX-II groove machine was an entry-level keyboard designed for budding DJs and musicians. It combined a funky looking 61-key keyboard, pattern-based sequencer and basic sound engine into an all-in-one, battery-powered instrument with built-in amplifier and speakers. Genres included techno, trance, garage, hip hop, old skool and trip hop.

DJX-II

The musician or DJ could select from 70 preset patterns, each pattern with ten variations. The variations were further categorized into six MAIN patterns and four FILL patterns. The keyboard was divided into five 12-key zones where each octave performed a specific performance function. One of the zones selected the current variation allowing the player to switch between pattern variations. Another zone transposed the pattern into the current root key.

Yamaha still makes the original DJX-II patterns available through its support site. Each of the files is a standard MIDI file (SMF) containing a single pattern. Although they are in SMF format, the files are not immediately useable. The rhythm tracks are programmed for some truly ancient and arcane Yamaha drum kits, none of which adhere to GM or XG layout conventions. Further, the files cannot be imported and played as an arranger workstation style, i.e., they do not contain the information and format needed by a PSR/Tyros style.

Last December, I developed a process for converting a DJX-II pattern file to a PSR/Tyros style file. I wrote and posted an earlier article on the DJX-II style format and conversion process. I then got to work and converted fifteen patterns to PSR/Tyros style format.

The patterns are all on the jazz tip and they include some pretty hip chord changes! I quickly found that I needed to transcribe the chord changes and bass lines in order to play along. I used Sibelius First to notate the MIDI data in each pattern and saved the lead sheets in PDF files. Knowing the changes makes jamming easier and a lot more fun.

At long last, I’m ready to distribute the converted patterns. Here is a link to the the ZIP file. The ZIP file contains fifteen style files (one for each DJX-II pattern), fifteen PDF lead sheets and a README.TXT file with performance tips.

Update: Check out version 2 of the DJX-II style collection. It’s still free!

I strongly recommend reading the README.TXT file before using the new styles. The converted patterns behave like the new Yamaha DJ styles on the PSR-S670. You only need to play a single note in the left hand accompaniment. No chords are necessary because the chord progressions are cooked into the patterns. The note sets the root note for the progression and the arranger and DJ style take over from there.

Current and recent workstation arrangers should play these styles without problem, save the occasional kit or voice substitution. Good news for musicians with entry-level models (e.g., PSR-E443) as the style files are SFF1 and no OTS. Thus, entry-level arrangers should load and play these pattern styles, too.

Please enjoy playing with these “DJ styles.” In terms of the future, the DJX-II trip hop styles are genuinely sick and I hope to convert them one of these days!

What’s in a name?

Anything that we want to go from just a beginner to a pro,
You need a montage (montage)
Oh, it takes a montage (montage)
Team America Lyrics

Back in January before Winter NAMM 2015, there was a lot of speculation about a new Yamaha workstation to replace the venerable Motif product line. Yamaha filed for the trademark name “Montage” in December 2014 and many wondered if this would be the name of the new workstation. (Yamaha have a teaser ad for “Reface” at https://www.yamahasynth.com with a countdown clock leading up to Summer 2015 NAMM week. Your guess is as good as mine!)

Getting a little bit Zen for a moment, it doesn’t matter what a thing is called. All that matters is what the thing is.

Periodically, I troll the United States Patent and Trademark Office (USPTO) database for interesting patents and patent applications. Yamaha carefully (and wisely!) protects its inventions through patents. Yamaha R&D, by the way, rarely publishes in the scientific literature, which is another way to stake your ground. Patent protection is stronger legally. A patent costs money, so a corporation is usually serious about a technology when it makes the commitment to file. The Yamaha patent applications cite Japanese applications/patents to establish priority in the United States. Thus, there is usually an existing Japanese application or patent that was filed at an earlier date for each US application.

Of course, a patent does not necessarily indicate that a product will follow. However, I’ve noticed a trend in some (relatively) recent filings by Yamaha.

Let’s start with US Patent Application Publication 2013/0305902, “Accompaniment Data Generating Apparatus,” published November 21, 2013. Quoting the application, “An object of the present invention is to provide an accompaniment data generating apparatus which can generate automatic accompaniment data that uses phrase waveform data including chords.” This rather lengthy patent application describes a musical instrument keyboard that uses audio waveforms in the same way that an arranger or Motif-series workstation uses MIDI phrases (AKA arpeggios). The application cites Japanese Patent Publications No. 2900753 (MIDI-based accompaniment) and No. 4274272 (MIDI-based arpeggio performance) as prior art.

US Patent Application Publication 2013/0047821 (published February 28, 2013) covers similar ground. This application adds waveform pitch shifting and time stretching. It cites Japanese Patent Publication No. 3397082 on the specific capability of pitch shifting and time stretching. Audio phrases (waveforms) need to be transposed via pitch shifting and must fit into the rhythm via time-stretching.

US Patent Application Publication 2013/0305907 (published November 21, 2013) is related to the previous two application. It covers production of chords using audio waveforms, guided by chord root and chord type.

US Patent Application Publication 2014/0033902 (published February 6, 2014) is titled “Technique for Analyzing Rhythm Structure of Music Audio Data.” The technique described in this application identifies the beat positions and intervals in a piece of music in audio form (i.e., rhythm pattern analysis). Figure 1 shows the embodiment (design) of the technique within an accompaniment generation system. The beat position information is used to synchronize playback of both MIDI and audio phrases. The diagram shows a “MIDI reproduction section” and an “Audio reproduction section.”

The most recent publication is 2015/0154979 (June 4, 2015) and is titled “Automated Performance Technology Using Audio Waveform Data.” The application deals with a specific issue that arises when audio waveforms are used for accompaniment (pitch shifting and time stretching). Quoting the application, “it is an object of the present invention to properly deal with a processing delay and sound quality deterioration that are likely to occur when audio waveform data is reproduced with time axis expansion/contraction control performed on the audio waveform data in accordance with a desired performance tempo.”

These are long documents with a lot of detail expressed in excrutiating “patent language.” They are too long and detailed to summarize here. I recommend downloading the patent applications from the USPTO, brewing coffee, and then reading the applications.

Looking at the overall trend, Yamaha are thinking about automated accompaniment that incorporates both MIDI and audio phrases. This technology could be applied to arranger instruments or a new generation of synthesizer workstation. The latest arrangers have “audio styles” which only use audio for the rhythm track. No “harmonic” phrases (e.g., bass line, electric piano comping, etc.) are available. The current Motif generation (the XF and MOXF) have only MIDI-like arpeggios. Possibly, combined audio/MIDI accompaniment was not fully cooked in time for the PSR-S950 and Tyros 5.

I am very interested to see if Yamaha rolls out this technology in future products. The definition of “montage” is “the process or technique of selecting, editing, and piecing together separate sections of film to form a continuous whole.” Hmmm.

Make music with MMS on a PSR

Yamaha Mobile Music Sequencer includes features for Motif, MOX and Tyros5, but did you know that you can create music using MMS on your PSR arranger? Yes, you can!

I’m using MMS with both the Yamaha PSR-E443 and PSR-S950 and I have written up a tutorial on making music with MMS on PSR/Tyros. This article concentrates on set-up, MIDI voice selection and MIDI file export which are aspects not covered by the MMS manual. The tutorial complements the many on-line videos that demonstrate composition and mix down. In particular, I show how to use the full 128 voice General MIDI voice set in the PSR, thereby expanding your sonic palette beyond the limited range of voices built into MMS.

Enjoy and keep on keepin’ on!

Scat voice expansion pack

I’m pleased to release version 1 of my jazz scat voice expansion pack for Yamaha PSR-S950 and PSR-S750 arranger workstations. The expansion pack has five PSR voices which let you create “Take 6” style, a cappella arrangements and other kinds of jazz voice performances. Give the MP3 demo a try!

Four of the PSR voices are individual syllables: DOO, DOT, BOP and DOW. The DOO syllable is looped and let’s you create sustained chords for backing. The DOT, BOP and DOW syllables are short and provide scat-like expression. All four syllables are combined into a velocity-switched voice where you select and play one of the syllables based on how hard you strike the keys (i.e., MIDI note velocity). You will need to adjust touch response (and practice!) to get the most playable and musical result.

Here is a link to the expansion pack file. You need to download and UNZIP this file, then install the YEP file by following the directions in the Yamaha PSR-S950/PSR-S750 Owner’s Manual. See the section titled “Expanding Voices”.

I am also releasing the multi-samples that I used to create the expansion pack in case you would like to create a scat voice for your own synthesizer or software instrument. If you are curious about how I created the expansion pack voices and the samples, please see this blog post.

Both the scat voice expansion pack and the scat voice samples are released under a Creative Commons Attribution 4.0 International License.

Creative Commons License
ScatVoices and ScatVoice samples by Paul J. Drongowski are licensed under a Creative Commons Attribution 4.0 International License.

You are free to use the expansion pack voice or samples (even for commercial purposes) as long as you provide a link to http://sandsoftwaresound.net from your own web site AND/OR explicitly credit me in your creative work, e.g., “Scat samples/voice by Paul J. Drongowski”.