DangerShield Drawbars

Just a quick post to mention the new Arduino section of the web site.

The first page in the new section describes the DangerShield Drawbars project that I started last March! This project uses the Sparkfun DangerShield (3 sliders, 3 buttons, 2 LEDs and a seven segment display) and an Arduino UNO to implement a basic MIDI drawbar controller for the Yamaha PSR-S950 arranger workstation. “Why not use one of the many available MIDI controllers?”, you ask. Well, the PSR (and Tyros) drawbars respond to a proprietary Yamaha System Exclusive (SysEx) MIDI message, not the usual MIDI continuous controller (CC) messages. The MIDI controllers on the market use MIDI CC, not SysEx. Thus, it made sense to whip up an Arduino-based controller in order to synthesize and send the appropriate control message.

The DangerShield Drawbars can and do control the PSR’s virtual drawbars. That’s the good news. The bad news is that I designed a rather complicated user interface (UI) in order to control nine virtual drawbars and the simulated Hammond percussion and vibrato with just three slide potentiometers. This was a serious overreach producing a less than intuitive, modal UI. If I attack this problem again, I will build a controller with one physical control per parameter, i.e., nine physical sliders for the drawbars and a handful of switches for percussion and vibrato. This approach should produce a more playable controller.

In the meantime, I’ve started to plan a new MIDI controller project and just discovered the SpikenzieLabs Prototino ATMega328 Kit. This board puts an Arduino-compatible ATMega328 on a protoboard with a very nice usable layout. The well-known Arduino proto shield (A000077), which I considered first, uses a pad-per-hole layout for prototyping. It’s not easy to solder circuits together with pad-per-hole. The Prototino layout is a more conventional breadboard-like design with plenty of 2- and 3-hole pads for making connections. I can’t wait to try it out!

MOX construction kits update: version 2

I hope that you have downloaded and are using the MOX construction kits.

It’s no secret that many of the Motif/MOX arpeggios are taken from Tyros/PSR workstation styles. If you scan through the MOX data list, you’ll notice that many arpeggios share a similar name. These musical phrases belong to the same family. A construction kit is an MOX performance consisting of arpeggios in the same family — a kind of “mini-style.” You can use a construction kit as the basis for a new original performance. Or, just play the arps for fun! This is a great way to get a feel for the musical groove within a family and to dive into the thousands of arpeggios built into the MOX.

I released the first set of construction kits in January 2014. Since then, I have fixed a few divots in my programming. Unfortunately, some sonic glitches remain here and there. Please think of these minor bugs as “exercises left to the reader.” At least the tedious work of arranging arpeggios into performances by family has been done for you.

Since then, I have spent a lot of time translating MOX performances back to PSR/Tyros styles. I have focused on the new combinations programmed by Yamaha since it is kind of pointless to duplicate the pre-existing PSR/Tyros styles which were the original source for the phrases! In my search for additional performances, I stumbled across two MOX ALL files:

    “XSpand Your World” voices and performances translated to MOX format, and
    Motif XS user bank 2 and 3 performances translated to MOX format.

These files are available at this site.

“XSpand You World” was a promotional package put together by Yamaha to drive sales of the Motif XS. Yamaha distributed new voices and performances through “XSpand Your World” in the form of an “ALL” file. The MOX is based on the Motif XS, so Motif XS voices and performances will play on the MOX when imported into the MOX. The Motif XS and MOX “ALL” files have different internal binary formats. (Yamaha strikes, again.) Fortunately for us, Moessieurs translated the XSpand Your World ALL file to MOX format.

The Motif XS has three user performance banks and the MOX has 2 user performance banks. When it’s factory fresh, the MOX USER 1 bank contains the same performances as the Motif XS USER 1 bank. The MOX USER 2 bank, however, is a “best of” collection from the Motif XS USER 2 and USER 3 banks. Thus, there are 128 (give or take) Motif XS performances that do not ship with the MOX. Moessieurs translated the Motif XS USER 2 and USER 3 banks to a single MOX ALL file. You may import both banks all at once (save your data first!) or you may import one performance at a time into a performance location specified by you. Please see the “FILE” section of the reference manual for further information about file formats, saving and loading.

The Motif XS USER 2 and 3 banks, in particular, are a rich resource for new sonic material. I immediately got to work and imported the funky and jazzy performances into my MOX workstation. Then, I saved everything into a MOX ALL file. The new ALL file (CKITS_V2.X4A) contains construction kits and the Motif XS jazz/funk performances. I prepared two tables (mox_perf_table_v2.txt) listing the performances in MOX USER banks 1 and 2. I’m calling this whole package “Construction Kits Version 2.” Download the ZIP file and have at it!

One final word. The Motif XS has only five arpeggio types per performance. The MOX has six. So, the Motif XS performances have only five arpeggios even though they are playing on the MOX.

SA and SA2: Is Motif up to the task?

Every now and again, the subject of Super Articulation and Super Articulation 2 voices come up on the Motifator site. Here are some rather lengthy comments that I posted in response to a recent inquiry.

First, here is some background information from the S950 and Tyros 5 manual. The descriptions of Super Articulation (SA) and Super Articulation 2 (SA2) are quoted from the Tyros 5 manual. The voice descriptions (e.g., JazzArtist guitar voice) are taken from the PSR-S950 itself — when you press [INFO] in the voice selection screen, the S950 displays a description of the selected voice. These descriptions show the kind of SA effects supported by the S950. The S950 does not have front panel articulation buttons; a foot pedal can be assigned to trigger SA effects.

The description of Articulation Element Modeling (AEM) is from the Tyros 5 manual. It is a pretty good concise description of what AEM (SA2) does, but is a gross simplification WRT Yamaha’s patents. AEM does a lot of cross-fading and sample whacking. Plus, the concise description downplays the timing analysis in order to avoid unwanted latency effects and to detect releases.

Super Articulation voices

These Voices provide many benefits with great playability and expressive control in real time. For example, with the Saxophone Voice, if you play a C and then a D in a very legato way, you will hear the note change seamlessly, as though a saxophone player played it in a single breath. Similarly with the Concert Guitar Voice and play the D note strongly, the D note would sound as a “hammer on,” without the string being plucked again. Depending on how you play, other effects such as “shaking” or breath noises (for the Trumpet Voice), or finger noises (for the Guitar Voice) are produced.

JazzArtist: Super Articulation provides realistic guitar phrasing: Legato notes played within an interval of a 4th sound as a hammer on, pull off or slide. The last note has a release noise. fret noise is added randomly and the Foot pedal 2 [controller] adds a cutting noise.

NylonGuitar: Play normally and the voice is expressive and dynamic. The Foot pedal 2 [controller] changes the sounds to harmonics.

SmoothBrass: When brass instruments play legato, there is no attack sound on the legato notes. Super Articulation recreates this. Play legato and the notes join together, changing with velocity.

ConcertStrings: Strings can play legato, where each phrase is one continuous sound. Play legato and Super Articulation strings work in the same way. There are also three dynamic levels.

TrumpetFall: Jazz Trumpeters often use a fall or doit. Super Articulation recreates this with a velocity switch: Play harder to create the effect, change between fall and doit with the Modulation wheel. (Pushing forward changes to a doit.) Use the Foot pedal 2 [controller] to add breath noise.

Super Articulation 2 voices

For wind instrument Voices and Violin Voices, a special technology called AEM (see below) has been used, which features detailed samples of special expressive techniques used on those specific instruments — to bend or slide into notes, to “join” different notes together, or to add expressive nuances at the end of a note, etc. You can add these articulations by playing legato or non-legato, or by jumping in pitch by around an octave. For example, using the Clarinet Voice, if you hold a C note and play the Bb above, you’ll hear a glissando up to the Bb. Some “note off” effects are also produced automatically when you hold a note for over a certain time. Each S.Art2! Voice has its own default vibrato setting, so that when you select a S.Art2! Voice, the appropriate vibrato is applied regardless of the Modulation wheel position. You can adjust the vibrato by moving the Modulation wheel.

AEM Technology

When you play the piano, pressing a “C” key produces a definite and relatively fixed C note. When you play a wind instrument, however, a single fingering may produce several different sounds depending on the breath strength, the note length, the adding of trills or bend effects, and other performance techniques. Also, when playing two notes continuously — for example “C” and “D” these two notes will be smoothly joined, and not sound independent as they would on a piano.

AEM (Articulation Element Modeling) is the technology for simulating this characteristic of instruments. During performance, the most appropriate sound samples are selected in sequence in real time, from huge quantities of sampled data. They are smoothly joined and sounded — as would naturally occur on an actual acoustic instrument.

This technology to smoothly join different samples enables the application of realistic vibrato. Conventionally on electronic musical instruments, vibrato is applied by moving the pitch periodically. AEM technology goes much further by analyzing and disaggregating the sampled vibrato waves, and smoothly joins the disaggregated data in real time during your performance. If you move the Modulation wheel when you play the S.Art2! Voice (using AEM technology), you can also control the depth of the vibrato, and still maintain remarkable realism.

Motif and MOX

Starting with the Motif XS, Yamaha added Expanded Articulation (XA). Without diving into too much detail, XA allows control over articulations using the assignable function buttons. XA also detects and triggers samples to handle legato technique. The Motif/MOX player has precise control over when an articulation is sounded and the Motif/MOX programmer can construct new voices using XA (or tweak existing voices).

The S950 (and Tyros) monitor and analyze the notes played by the musician. The Tyros, in addition, has two panel buttons to control articulation. The workstation software determines which articulation to sound and when based upon what the musician has played on the keyboard or (optional) controllers.

Both the S950 and Tyros implement Super Articulation (SA) voices. SA voices and XA voices use roughly comparable sample playback technology (AWM). New samples can only be installed onto an S950 through an expansion pack (proprietary format). Yamaha has not released an expansion pack editor. S950 voice editing is limited to “quick edit” envelope tweaks; you cannot get to the element level on the S950. Motif/MOX voice editing is vastly deeper.

Super Articulation 2 (SA2) voices on the Tyros are a whole other beast. SA2 uses Articulation Element Modeling (AEM) to “stitch” samples together in real-time in response to what the musician plays. The Motif XS (and later) do not have the software to analyze the musicians playing/gestures and it does not have the AEM sound engine. SA2 is not implemented on the S950. SA2 is a very complicated critter because it takes note timing into consideration. (See Yamaha’s patents on AEM.)

So, voices/samples cannot simply be ported from S950 (or Tyros) to Motif. You can, however, use XA to make your own SA-style voices without any of the front-end analysis of musical gestures/control.

Thoughts and speculation

Sometimes, I think SA is a different front-end for Mega Voices. A guitar Mega Voice, for example, uses velocity switching to trigger (one of) an open soft, open medium, open hard, dead soft, dead hard, hammer on or slide waveform for a given MIDI note played on the keyboard. Effects such as strum noise and fret noise are triggered by MIDI note numbers above C6 and c8, respectively.

An SA voice based upon the same waveforms might use velocity switching for open soft, open medium, open hard, dead soft and dead hard, while using legato notes within an interval of a fourth to trigger hammer on and slide. An articulation control button or pedal trigger strum noise. Fret noise is added randomly. Thus, the SA voice uses the same basic waveforms as the Mega Voice, but the SA voice uses different means and analysis to select, enable and render the waveforms.

Motif XS (and later) have Mega Voices. The MOX Mega Nylon voice, for example, uses seven elements:

       Elem#  Waveform                Low  High Velocity
       -----  ----------------------  ---  ---- --------
       Elem1  Nylon Open Sw St        C-2  B5   1-60
       Elem2  Nylon Dead Notes St     C-2  B5   61-75
       Elem3  Nylon Mute St           C-2  B5   76-90
       Elem4  Nylon Hammer St         C-2  B5   91-105
       Elem5  Nylon Slide St          C-2  B5   106-120
       Elem6  Nylon Harmonics St      C-2  B5   121-127
       Elem7  Nylon FX St             C6   G8   1-127

that select and play an internal waveform based upon MIDI note number and velocity. One could build a different voice that triggers the same waveforms under different conditions such as AF1 ON, AF2 ON, etc. Indeed, some of the other Mega Voices respond to AF1/2 and AS1/2. Thus, I believe that a stock Motif/MOX with XA could emulate an SA voice within certain limitations. Specific conditions like “legato within an interval of a fourth” are not supported in Motif/MOX. XA detects legato without regard for interval.

SA2 voices are based on AEM and I believe that the AWM tone generation model in the stock Motif/MOX is not enough. In AWM, each note is independent and follows the familiar attack, decay, sustain and release life-cycle. Legato based on XA merely changes the waveform that is used to render the attack of an independent note. An AEM note, on the other hand, evolves and morphs into the next note. The AEM tone generator behaves more like physical modeling than AWM’s ADSR note life-cycle. As mentioned in Yamaha’s description of AEM, the AEM tone generator does some fancy computation to correctly render vibrato through note transitions. Further, a stock Motif/MOX does not perform the timing analysis and control functions that drive AEM tone generation.

I would love to see Yamaha add AEM-based voices to future members of the Motif family!

More new phrases for MMS

If you enjoyed the last batch of phrases for Yamaha Mobile Music Sequencer, here’s some more! All of the phrases are taken from funky, jazzy styles on the PSR-S950 arranger keyboard.

FunkPoppin ZIP
FunkPopRock ZIP
JazzFunk ZIP
JazzPop ZIP
KoolFunk ZIP

These loops are free and ready for download — 250+ phrases for drum, bass, electric piano, guitar and brass. The phrases are in YMS2 format files. Just copy these files to your iCloud Mobile Music Sequencer directory and you’re ready to go. Under OS X, the iCloud MMS mobile documents directory is:

~/Library/Mobile Documents/XXXX~yamahamusic~mobilemusicseq/Documents

The easiest way to get there in the Finder is to hold down the Option key and select “Library” in the “Go” menu. This will take you directly to your application support library directory. The “XXXX” in the path name above is some crufty identifier generated by OS X and will vary from user to user. Navigate down through the “Mobile Documents” directory until you reach the MMS documents. This is where you should put the YMS2 phrase files.

Also, don’t forget about the Music Gallery where you can find additional MIDI, PSR/Tyros style and MP3 content.

If you want to create your own original MMS phrases from MIDI, check out this tutorial. Once you’ve gone through the process a few times, you’ll be able to translate your own MIDI phrases on autopilot!

Yamaha voice of the customer

The Yamaha synthesizer site has come to life, again. The site has resources for current Yamaha synthesizer products, blogs and a forum. One the forums is seeking input for future Yamaha synthesizer products. Here is my post to that forum. It’s kind of terse, but the Yamaha marketing people already have so many long messages to read through and analyze! On to the re-post…

Hi —

Thanks for listening to our feedback! To keep things short and specific, I’ve listed the likes and areas for improvement in my two current Yamaha keyboards. I understand that Tyros/PSR is made by a different product division.

My first Yamaha keyboard was a pre-MIDI CE-20, so I’ve been into electronic instruments for quite a while…

MOX6: 95% performance, 5% production
Likes:

  • + Great voices and performances in contemporary genres
  • + Deep editing everywhere
  • + 16 voices/performances/etc. available with one button push
  • + Ability to add new waveforms (MOXF)

Opportunities for improvement:

  • – Workflow
  • – Needs drawbar mode and improved rotary speaker effect
  • – SMF must be scrubbed clean in order to import without issue or error

PSR-S950: 70% production, 30% performance
Likes:

  • + Super Articulation sounds great and is intuitive to play live
  • + INFO button displays performance tips for voices including articulations
  • + Drawbar mode
  • + Reliably imports and plays SMF regardless of meta-events, etc.
  • + Immediate one-man-band playability; high fun factor

Opportunities for improvement:

  • – Voice editing is superficial
  • – Needs more contemporary content (my genres: funk, jazz, rock/pop)
  • – Effects lag synthesizer products (need VCM)
  • – Needs B-3 chorus/vibrato sim and improved rotary speaker effect
  • – Convert WAV to MP3
  • – New waveforms only through expansion pack; No expansion pack editor

Production vs. performance: MOX6 is my go-to ax for playing out. S950 is now mostly used to produce backing tracks/styles. S950 production/performance mix will shift toward performance.

Workflow: DAWs have many established, immediately visible UI metaphors (e.g., piano roll, staff view, waveform view). MOX6 has rows and rows of buttons with few cues about how to use them.

Superarticulation: Real-time note analysis triggers articulations. Don’t have to think about which button to push (MOX XA). SA 2 voices are terrific. I’ve been reading the Yamaha patents on AEM and realize that SA 2 is non-trivial.

Immediacy: People want immediate results. Turn a knob, get a response. That’s one reason why people are knocked out by SA/SA2. Nothing kills a buzz like waiting for your computer to boot or fixing a driver problem.

Content: MOX players want more arpeggios; S950 players want more styles. This is a fundamental human need. Need to be able to create or import own phrases/content. Be able to play and sync both audio and MIDI clips. Import and convert PSR styles to arpeggios?

Updates: Need to provide updates for mid-range products, too. Competitor is making “updatable OS” a sales point. Example: Update MOX to control element level through knobs (now a standard MOXF feature).

Community: Community is very important. Share riffs, voices, whatever. Community builds excitement and loyalty. Yamaha must participate. (Yamaha is already perceived as too aloof.) Publish specs for file formats and let open source development loose. Provide an open garden and let thousands of flowers bloom.

MOX internal architecture

Curiosity finally overcame inertia and I ordered the service manual for the Yamaha MOX6 and MOX8 workstations. (The Yamaha 24×7 part number is “S M MOX6/MOX8”.)

If you remember from my previous discussion about workstation internal architecture, the Motif XS synthesizer is Linux-based and has a 400MHz Toshiba TX4939 RISC CPU as its main processor. The TX4939 uses the MIPS instruction set and controls two SWP51L tone generator integrated circuits. Since the MOX is advertised as descendent of the Motif XS, I fully expected a MIPS architecture processor with only one SWP51L.

Check out the Yamaha MOX block diagram.

Surprise! The main processor in the MOX is the Yamaha SWX02 with an internal clock speed of 135.4725MHz. The SWX02 has an SH-2A CPU core and probably does not run Linux. The SWX02 is also used in the Yamaha PSR-S650 arranger workstation where it is clocked at the same rate. This processor seems to be Yamaha’s choice for cost-sensitive, mid-range products.

The MOX has one SWP51L tone generator IC clocked at 90.3168MHz. The SWP51L is fed by two 64MByte wave ROM ICs. The wave ROM components are Lapis Semiconductor MR26V51252R 512Mbit P2ROM devices in 32Mx16-bit configuration. One device provides a 16-bit high (H) channel and the other device provides a 16-bit low (L) channel into the SWP51L. The high and low wave ROMs communicate with the SWP51L over a 32-bit wave memory bus. The SWP51L has a separate 16MByte SDRAM on a dedicated interface to support digital signal processing (DSP). The DAC and ADC are also connected directly to the SWP51L.

The SWX02 functions primarily as a control processor. This is quite different from the PSR-S650 where the SWX02 performs tone generation as well as performing control duties. The SWX02 has its own wave memory interface and this interface is not used in the MOX. The S650 has a separate LCD controller IC. The MOX does not have a separate LCD controller and the LCD is connected to the SWX02 through its parallel general purpose I/O (GPIO) pins.

The MOX specifications describe the wave capacity as “355MB (when converted to 16-bit linear format)”. The physical wave ROM is 128MBytes total. Thus, Yamaha achieve overall wave compression of 2.78 to 1, or better.

The most interesting thing about the MOX is what it does not have. The MOX main logic board (DM) has unpopulated positions for:

  • A second SWP51L tone generator IC
  • Two additional wave ROM ICs (size unspecified) on the wave memory bus
  • An interface for a flash expansion module
  • A second WM8740 digital-to-analog converter (DAC)

Yep, Yamaha laid the ground for the MOXF. These positions are labeled “For future model” in the detailed circuit diagrams. One way to feel about that is cheated. A more rational way to view this situation is that Yamaha tries to lower cost through volume production (eventually) giving us more product for less money.

The MOX polyphony is 64 notes. The MOXF polyphony is 128 notes due, presumably, to a second SWP51L. A Motif/MOX note may use up to eight voice elements. Therefore, I infer that an SWP51L has a total tone generation capacity of 512 voice elements. Switching context to workstation arrangers for a momemnt, both the PSR-S950 and Tyros3 have 128 note polyphony. The S950 has one SWP51L and the Tyros3 has two SWP51B integrated circuits. I now believe that the S950 is a four element per voice synthesizer while the Tyros3 is known to be an eight element per voice synthesizer. (The S950 is voice compatible with the A2000, which is known to be four elements per voice.) Thus, I don’t think Super Articulation 2 (SA2) voices based on Articulation Element Modeling (AEM) technology are coming to the S950 or a new mid-range arranger workstation. Not without a second SWP51L, anyway. I’m guessing that AEM requires an eight element per voice engine.

It’s interesting to see how and where Yamaha shaved cost in order to produce a value-oriented mid-range product. It also provides geater justification for the higher cost in the upper end Motif and Tyros products.

See this article for an architectural overview of the Yamaha arranger product families.

Finally, Yamaha releases the source code for GPL’ed parts of the Motif XS, Motif XF, and S90 XS/S70 XS. See the Yamaha source code page. The MOX and MOXF are not mentioned on this page, giving further evidence that these products are not Linux-based.

Ancient weapons and tools

Back in the mid- to late-1990s, Yamaha developed and manufactured a wide range of plug-in cards and modules. In many cases, the technology is unique and is still useful today. I have two old Yamaha modules:

  • The VL70m analog modeling synthesizer module and
  • The AN200 desktop beatbox and analog modeling synthesizer.

Both are based on Yamaha’s analog/physical modeling techniques. The VL70m, which has a native WX11 breath controller interface, models string- and pipe-based instruments both acoustic and “virtual.” The AN200 models a 5 voice Sequential Circuits Prophet 5 analog synthesizer. The AN200 also has patterns, a sequencer and a three channel AWM (sample-based) rhythm section.

Although you can program either one of these boxes through the front panel, you really need software tools for deep editing. Yamaha provided editors for both the AN200 and the VL70m. There are also editors for the PLG100 and PLG150 line of hardware plug-in boards that are the module’s cousins. The PLG series use the same analog modeling, FM, AWM, and XG technology as Yamaha modules and synthesizers of that era. The PLG boards can be plugged into a PLG-compatible synthesizer thereby expanding the synth’s sonic capability. The first models in the Motif product family, for example, accepted PLG boards. Unfortunately, the PLG boards and the analog modeling technology was phased out in the early 2000s.

The software tools of that era never advanced beyond Windows 2000 or Windows XP. So, if a guy or gal wants to use these tools today on Windows 7, they better strap in.

Yamaha provided three kinds of tools and plug-ins over the years:

  • Plug-ins hosted by XGWorks or XGWorks Lite (up to version 3.x).
  • OPT tool plug-ins hosted by SQ01, Studio Manager or XGWorks version 4 and later.
  • Standalone tools.

A few of these tool names may not be familiar to you. XGWorks (version 3.x and earlier) is a standalone sequencer that initially ran on Windows 95/98. A patch makes XGWorks (version 3.0.7) run under Windows XP. XGWorks was replaced by Yamaha’s Open Plug-in Technology or “OPT.” OPT is a Microsoft OLE-based standard for plug-in tools. Yamaha dropped the early version of XGWorks and substituted the OPT-compatible SQ01 sequencer in its place. Yamaha also released XGWorks 4 and XGWorks ST in Japan; both are OPT-based. SQ01 and XGWorks 4/ST are OPT plug-in hosts. Old-time users today lament these changes because SQ01 and XGWorks 4/ST do not have some of the features of the early XGWorks. The arranger-like style features, for example, were lost.

It’s worth noting that a few other manufacturers adopted the OPT standard. Cakewalk SONAR can host OPT-based plug-ins. So, if you have a VL or AN editor in OPT plug-in form, then SONAR can find and launch the plug-in editor! Functionality may be limited depending upon the OPT level supported by the host and plug-in.

Well, as if that history isn’t complicated enough, Yamaha eventually bought Steinberg and its Cubase DAW. Support for SQ01 and XGWorks 4/ST was dropped. Studio management is handled by the Yamaha Studio Manager which can host OPT plug-ins among other things. Studio Manager v2.3.1 runs on Windows 7 and Windows 8 (with a minor caveat). This is a modern era host!

Unfortunately, OPT-based plug-ins for the VL70m and AN200 are not readily available for download. The Yamaha web site only has standalone editors or editors which work with the very old XGWorks 3.x. It is possible to get XGworks 3.0.7 running on 32- and 64-bit Windows 7 with persistence and patience. The following produced worked on 64-bit Win 7:

  • Install XGWorks or XGWorks Lite v3.0. You must run the installer in Windows XP compatibility mode.
  • Immediately install the v3.0.7 update also known as the “XP patch.” Again, run the installer in Windows XP compatibility mode.
  • Immediately, restart your machine.

With any luck, XGWorks will now run on Win 7. Of course, this assumes that you even found a copy of the original XGWorks installer or the update! I suggest looking on a Yamaha tools CD-ROM from the late 1990s such as the AN200 tools disk where I found my copy. Then download the appropriate AN or VL editor for XGWorks and install them into the XGWorks directory. Again, you should run these installers in XP compatibility mode.

After a lot of searching and browsing, I did manage to locate the latest version (v1.2.2 released in 2003) of the AN Expert Editor for the PLG-150AN board. This version is OPT-compatible. OPT plug-ins, by the way, are stored in “C:\Program Files (x86)\YAMAHA\OPT Tools” just in case you want to double check the installation. I installed the AN Expert Editor and thought I was home free. Indeed, you can launch the editor via Studio Manager and tweak voices. The editor in standalone mode does not detect the MIDI interface and does not communicate with the AN200. Thank you, Studio Manager.

Version 1.2.2 of the AN Expert Editor, however, really wants to communicate with an AN1x synthesizer and does not handle MIDI bulk dumps from the AN200! The editor refers specifically to “AN1x” bulk dump, not “AN200” like the earlier XGWorks AN200 plug-in. One can still perform a bulk dump/receive through the AN200 front panel and the MIDI-OX utility. Although this is an adequate work around for back-ups, lack of AN200 bulk support may hinder voice management through the editor.

I still need to experiment with the VL editors. At least I have backed up the AN200 voices that I created years ago.

So, there you have it. Some successes, some failures. The old tech is great as long as you don’t let expectations about software support get too high. A deep breath or two along the way definitely helps!

Yamaha: The business

We musicians like to dream about new electronic musical instruments or even just simple improvements to the instruments that we already own. Everyone likes to think that their specific needs are indicative of the general market, and gosh, “Why doesn’t Yamaha (or whoever) realize that this is important?”

Well, like any other business, Yamaha or any other musical instrument manufacturer needs to make a business decision before committing money to a new product or product improvements. This rather obvious notion led me to find out more about Yamaha as a business.

A good place to start is the Yamaha annual report. Here are links to the 2012 and
2013 annual reports. There is way to much to summarize here, so here are a few brief observations and information from the 2013 report.

Yamaha has a new president: Takuya Nakata. One of the four key strategies is to expand sales in the electronics business domain (digital keyboard instruments, PA equipment and ICT devices). The priority in digital keyboard instruments is to 1. expand market share through product differentiation and 2. Respond to various market demand. The annual report doesn’t give any details as I’m sure that Yamaha’s competitors would be interested in that information, too! However, as an example, I will say that Yamaha is strong in the regionalization of its arranger keyboards, providing many region-specific expansion packs with ethnic styles and sounds.

Yamaha is clearly a global company and manufactures instruments in Japan and other locations. Labor costs are rising in Chinese and Indonesian factories. Yamaha has significant exposure to exchange rate volatility. These factors put considerable pressure on corporate finances.

The 2013 report has a long Q&A with the president. Here is an interesting quote from Mr. Nakata-san:

Q: What are Yamaha’s key strategies for the future?
A: Our priority business strategy is, naturally, to accelerate growth in China and other emerging markets. Our target is to achieve growth of 30% or more over the next three years. China is a market where acoustic piano sales accounts for more than half of musical instrument sales, but, with lifestyles changing due to urbanization, we expect major growth, particularly in digital musical instruments. With the goal of increasing the music-playing population and expanding the market, Yamaha is constantly increasing the number of Yamaha Music Schools and providing music instruction at schools in both markets. We will continue to increase the size of our marketing staff, including staff in other emerging markets, and develop and fortify our sales network.

Turning to products, we will continue to pursue our strategy of expansion in the electronics business domain. Our plan is to achieve sales growth of about 30% over the next three years in digital keyboard instruments, professional audio equipment, and information and communications technology (ICT) devices. Digital keyboard instruments are a promising field of growth in the previously mentioned markets of China and other emerging countries. However, the challenge we face is this: can we assess customer needs, focus on what the customer wants, and provide it at a suitable price? More than ever, Yamaha will develop products that are finely tailored to market needs with sound that is genuine, with style and tone data that take into account local preferences, and offer original and appealing products that excite customers.

The report has a map showing market priorities. Yamaha is definitely looking for growth in China, India, Russia, Africa and South America (notably, Brazil). We should expect to see more instruments that are specifically targeted for these regions.

What is an annual report without the numbers?

Overall sales/income
  2013 net sales: 366.9 billion yen
  Operating income: 9.2 billion yen
  Net income: 4.1 billion yen
  ROE: 1.9%

That’s 3.58 billion US dollars. Investors cannot be happy with such a low return on equity (ROE). Intel and Apple, for example, have an ROE of 18% and 31%, respectively. That’s probably why there is a new president.

Musical instruments provide the majority of sales:

Sales by business segment
  Musical instruments   74.3%
  AV/IT                 15.1%
  Electronic devices     4.1%
  Others                 6.5%

Sales by region
  Japan                 45.2%
  Asia, Oceania, other  23.2%
  Europe                16.5%
  North America         15.0%

Yep, Yamaha does make other stuff (e.g., golf equipment!) The 4-cylinder engine in my ten year old Pontiac Vibe was made by Yamaha. Regionally, Japan is still a very important market for Yamaha.

Musical instrument sales were 2.66 billion US dollars in 2013.

Musical instruments
  Sales:                272.7 billion yen
  Operating income:     8.1 billion yen

Now we get to the good stuff about musical instruments. Here are two breakdowns:

Musical instruments sales by product category
  Pianos                15.0%
  Digital musical instr 22.9%
  Wind instruments      11.1%
  String and percussion  7.3%
  Professional audio    11.7%
  Music schools, etc.   32.0%

Musical instruments sales by region
  Japan                 42.8%
  Asia, Oceania, other  16.9%
  Europe                16.7%
  North America         15.2%
  China                  8.4%

Most of the sales from “Music schools, etc.” is in Japan. It’s interesting that a large part of Yamaha’s revenue comes from educational services and not products! Further, this source of revenue is mainly in Japan. In North America, roughly one third of sales are guitar and drum sales.

The digital music instrument (DMI) category includes digital pianos, Electone organs, portable keyboards and synthesizers. Thus, when we complain about this workstation feature or that synthesizer sound, or whatever, our workstation or synth is really just a small part of bigger, global picture. Because Yamaha is foremost a manufacturing company, executives must carefully allocate development funds and capital. I do wonder, though, how much Yamaha regards itself as a software company and how much attention software is given.

The report notes that more than half of sales in China are acoustic piano sales. There probably is real sales opportunity for DMI in China.

I wish there was a further breakdown within product category. I’m sure the breakdown is in a 200 slide PowerPoint deck somewhere inside Yamaha. 🙂 This level of info is not usually available in an annual report.

Yamaha have clearly been hit by the global collapse/slowdown of recent years. The chronically stagnant Japanese economy cannot be a positive factor as well. The annual report also cites business disruption and effects due to the Great East Japan Earthquake.

Well, there it is — a quick marketing picture of Yamaha as a business. I wonder how they will differentiate their products? Hmmm…

MOX performance to PSR style (part 3)

In parts one and two, I described a way to capture Yamaha MOX performances into a Standard MIDI File (SMF) and how to translate the SMF to a PSR/Tyros style. Part three discusses Mega Voices and how to program MIDI data for a Mega Voice part such that the special articulations and effects (FX) play back correctly.

A Yamaha Mega Voice is a synthesizer or arranger workstation voice that has several sonic components. Take the MOX “Mega Finger+Slap” voice as an example. It has five components; each component is assigned to a MOX tone generator element:

Element Waveform Lower Upper Velocity
1 Finger Med C-2 B5 1-60
2 Finger Hard C-2 B5 61-80
3 Finger Dead C-2 B5 81-120
4 Thumb/Pull Hard C-2 B5 121-127
5 Electric Bass FX C6 G8 1-127
Table: Mega Finger+Slap voice elements

These components do not sound all at once! The MIDI note number and velocity trigger just one of the elements. (In this case, all components/conditions are exclusive.) One the first four elements sound when the MIDI note is between C-2 (MIDI note number 0) and B5 (MIDI note number 95). The MIDI note velocity further determines which of those four elements is triggered. The fifth element sounds when the MIDI note number is between C6 (note number 96, inclusive) and G8 with any non-zero velocity.

As Phil Clendeninn (Yamaha) points out, Mega Voices are intended to sweeten pre-programmed patterns and styles and are not intended for live keyboard playing. Human beings just cannot play notes with enough precision to reliably and accurately hit the velocity ranges. The bass voice is relatively simple; A Mega Voice guitar has as many as eight velocity zones!

The MOX also has “regular” voices that are similar to Mega Voice. The “Finger PBs AF1” voice is one example. This voice has four components:

Element Waveform Lower Upper Velocity
1 P-Bass Rndwound Med C-2 B4 1-90
2 P-Bass Rndwound Hard C-2 B4 91-127
3 Electric Bass FX C5 G8 1-127
4 Finger Harmonics C-2 B4 1-127
Table: Finger PBs AF1 voice elements

Notice that element 4 overlaps with elements 1 and 2. Element 4 sounds when the assignable function 1 (AF1) button is held. On the MOX, you can deep dive voices through the front panel and find out what makes them tick (or tock). This level of voice programming is hidden on PSR/Tyros arranger workstations. Fortunately, Yamaha have published the note and velocity ranges for workstation Mega Voices. (See the data list PDF.)

MOX and arranger workstation Mega Voices are mostly compatible. However, Yamaha do not advertise or guarantee compatibility. The MOX Electric Bass FX wave contains many more effects than a typical single arranger Mega Voice for example. You’ll need to use your ears to make sure that MIDI data for a MOX Mega Voice sound correctly with an arranger Mega Voice.

Voices such as Finger PBs AF1 resemble and behave like a Mega Voice, but do not follow typical Mega Voice conventions, such as reserving notes above C6 for FX like slides, scrapes, fret noises, etc. Regular notes with this patch sound one octave lower than a Mega Voice bass. You’ll need to transpose the incoming notes depending upon the target arranger voice. Also, if you use an arranger Mega Voice as the target, you must scale numerically the note velocities to match the Mega Voice programming. This translation requires attention to detail and a good ear!

Here’s another crazy problem although it is not Mega Voice related. In two cases, all of the notes in the MOX bass track had velocity equal to one! Coincidentally, a MOX synth bass voice was involved in both cases. I changed the note velocities to something more reasonable (and randomized) using SONAR.

As if all of this is not enough complexity, there is one further wrinkle — note transposition. The arranger transposes the MIDI notes for a part according to the transposition rule and table for the style part (and section). Mega Voice tracks, however, contain both regular notes (below C6) and FX notes (C6 and above). If the transposition rule and table transpose the regular notes, the FX notes get transposed, too, when both kinds of notes are in the same track. When the transposed notes are played back, the FX notes may get mapped to the wrong effect or to high pitched regular notes that sound totally out of place (i.e., sonic clams).

There are three solutions to this problem:

  1. Delete the FX notes from the MIDI data for the part.
  2. Split the MIDI data into two parts: regular notes and FX notes.
  3. Do what Yamaha does.

We’ll take a look at solutions 1 and 2 in a moment. Normal notes and FX notes appear together in the same Mega Voice track in a Yamaha factory style. (Crack one open with a DAW!) So, Yamaha must have an internal way to treat normal notes and effect notes differently. There is some evidence that the note transposition rules and tables can handle Mega Voice. However, this approach is not documented and it is not exposed through the keyboard (i.e., the PARAMETER tab in Style Creator) or a Yamaha-endorsed software tool. Thus, solution number 3 is not feasible for us.

Solution number 1 — delete the FX notes — is straightforward. The downside is that you lose the nuances that make a part exciting. Let’s face it, bass slides are cool and kick up the energy. If you don’t have the time, energy, knowledge or inclination, this is the way to go. Further, you may not have an unused style part available to split off the FX notes into a separate track. (The spirit is willing, but the flesh is weak.) In the case of MOX pseudo-Mega voices, you may still need to scale note velocities or transpose the incoming notes up (or down) one octave to match the target voice. That’s enough hassle for some folks.

Solution number 2 splits the MIDI data into two separate style parts (tracks). One of these tracks holds the regular notes and the other track holds the FX notes. SONAR has a track clone operation which makes separation a breeze. After cloning, both tracks have the same MIDI data and the same Mega Voice patch. You do need to change the MIDI channel number of the clone to the channel of an unused style part. Delete the FX notes (C6 and above) from the BASS part (channel 11). Delete the regular notes (below C6) from the clone. Style Fixer generates the correct transposition rule and table for the BASS part. You must change the transposition rule and table for the cloned part using CASM Editor. Set the rule and table of the clone to “FIXED” and “BYPASS”, respectively. Remember that the rule/table needs to be set for all sections.

Why “FIXED” and “BYPASS”? These are the settings that you would use with a drum track. Effectively, the guitar/bass effects are a kind of percussion instrument that have their own rhythm. Therefore, you want to use the note numbers as they are (FIXED) and you want to inhibit (BYPASS) note transposition.

I recommend making the split early in the style development process because you will need to make this split with a DAW. Once you’ve made the split, I strongly suggest trying the style on the PSR/Tyros right away. Take note of the sections that use FX notes. Listen carefully. Play CMaj7 which does not require transposition (assuming that the transposition root/chord is CMaj7). Can you hear the right effects in the right places? Now play a G7 chord. Do you still hear the correct effects in the right places? If the effects disappear, then you need to check the FX notes and the CASM transposition rule/table information. You can tweak the rule/table for each section on the PARAMETER tab in Style Creator when a fast repair is needed.

If you do change a style on the keyboard, remember to save the style. The keyboard may change the style format to “SFF GE” (also known as “SFF2”). CASM Editor does not currently handle SFF2. This limitation can cramp your working style [pun intended] since a style edited on the keyboard cannot be opened by CASM Editor.

MOX performance to PSR style (part 2)

In part one, I described how to capture Yamaha MOX arpeggios (musical phrases) in a standard MIDI file (SMF). In this part, I discuss the translation of the SMF to a Yamaha PSR/Tyros style file. This process should work for any SMF, not just an SMF from the MOX workstation.

The SMF produced by the MOX contains the notes for one or more instrument channels where each channel corresponds to a MOX performance part. If you followed the directions in part one, the phrases are arranged in an order starting with the main sections, followed by the fill sections, and finally, the break section. The SMF is raw (“stripped”) and does not contain bank select, program change, volume or pan messages. This is to our advantage since we are free to assign PSR/Tyros voices and tweak the overall mix. If you apply this process to an arbitrary SMF such as a file from the Internet, you will need to change or remove voice assignments, levels, etc. to make the MIDI data compatible with the PSR/Tyros.

The translation procedure needs four tools:

  1. A software DAW or sequencing program to massage the MIDI data.
  2. Style Fixer to insert an initial CASM section into the style.
  3. OTS Editor to add One Touch Settings to the style.
  4. CASM Editor to modify note transposition information.

Style Fixer, OTS Editor and CASM Editor are part of the excellent suite of tools written and maintained by Jørgen Sørensen. I also recommend Michael Bedesem’s MixMaster program which supports a very wide range of tweaks and tweezes. Right now, my DAW is Cakewalk SONAR LE — a little bit out of date, but it does the job. The directions below refer to SONAR although any well-featured DAW should do such as Cubase AI. You may also edit the style on the PSR/Tyros keyboard itself using its Style Creator. This is good in the latter stages of development when you need to make one or two final tweaks.

You can find links to these and other PSR/Tyros tools through the PSR Tutorial utilities page.

One major warning: A style file contains MIDI data and much more. A DAW removes the extra data (e.g., CASM and OTS) from a style file. Thus, a DAW is best during the early stages of style development. Michael’s program and Jørgen’s tools preserve the extra stuff.

Without further ado, here is the basic procedure for conversion. Be sure to save your work as you go along. Summer’s here and the time is right for brown outs.

  1. Copy the SMF from the USB jump drive to a working directory. Make a back-up just in case.
  2. Read the SMF into SONAR (or your pefered DAW). Save the work in progress as a normal SONAR project.
  3. If the MOX generated a separate track for the CMaj7 chord, delete the track. You don’t need it.
  4. Create an empty measure at the beginning of the time line. In SONAR, you accomplish this by sliding the clips back one measure in the arrangement window.
  5. Assign each track to a MIDI channel according to the Yamaha style conventions. (See table below.)
  6. Assign a PSR/Tyros voice to each track.
  7. Set the volume, pan, chorus and reverb levels for each track.
  8. Put the MIDI text marker “SFF1” at the beginning of measure one. The text for this and all MIDI text markers is case sensitive and must be spelled corrected.
  9. Put a second MIDI text marker “SInt” at the beginning of measure one.
  10. Put a MIDI text marker at the beginning of each style section. You must use names according to the Yamaha convention. You are allowed up to four main sections, up to four fill sections, and one break section.
    • Put a marker such as “Main AA” at the beginning of each main section.
    • Put a marker like “Fill In AA” at the beginning of each fill section.
    • Put the marker “Fill In BA” at the beginning of the break section.
  11. Trim and discard any extra notes at the end. You probably didn’t hit STOP fast enough when recording.
  12. Save your project for goodness sake!
  13. Write a new SMF. It must be MIDI SMF Type 0.
  14. Rename the new SMF and give it the “.STY” extension instead of “.MID”.
  15. Launch Style Fixer. Open the new file with the “.STY” extension.
  16. Click the GO button. Style Fixer rewrites the style file and inserts a default CASM section into the file.

Congratulations! At this point, you have a minimal style file. Copy this file to the USB jump drive. The PSR/Tyros should load this style file without complaint. You can read this style file into the OTS editor, the CASM editor or Mix Master, too.

Part MIDI channel
Rhythm 1 9
Rhythm 2 10
Bass 11
Chord 1 12
Chord 2 13
Pad 14
Phrase 1 15
Phrase 2 16
Table: MIDI channel layout for a style
Text marker Meaning
SFF1 Style format 1
SInt Start initialization measure
Main A, Main B, … Start MAIN style section
Fill In AA, Fill In BB, … Start FILL IN style section
Fill In BA Start BREAK style section
Intro A, Intro B, … Start INTRO style section
Ending A, Ending B, … Start ENDING style section
Table: MIDI text markers for style sections

Once you have a minimal style file, I strongly suggest a quick test on the PSR/Tyros. At this stage of development, you can easily make changes to the SONAR project and regenerate a new minimal style without losing much time or work. I try to get a good mix on the keyboard and then adjust the mix parameters (i.e., levels, pan, etc.) in the SONAR project to match. The MOX produces at most four tracks and “back porting”
the mix into the SONAR project is not much of a burden.

When the mix is satisfactory, launch OTS Editor and open the new style file. Here you can import existing OTS configurations into the new style file or add a new OTS configuration from scratch.

The so-called “CASM” section of a style file specifies how MIDI notes are transposed. Recall that we played a CMaj7 chord on the MOX and that the arpeggiator generated notes using CMaj7 as the root chord. The CASM section tells the PSR/Tyros how to change those notes in response to chords played in the left hand part of the keyboard. The default CASM inserted by Style Fixer is usually good enough; the bass channel uses the bass rules, the drum channels bypass transposition, and so forth. Mega Voices or MOX voices that are similar to Mega Voices, however, cause additional complications. A Mega Voice track consists of regular notes and special effect notes. The regular notes should be transposed and the special effect notes should bypass transposition. Yikes! I will discuss Mega Voice handling in part three. In the meantime, you may hear some odd plucks and wheezes when you play back a minimal style with Mega Voice data.

Here’s a little bit of background information to help you understand some of the steps in the conversion procedure.

A style file begins with an initialization measure. The “SInt” marker indicates the start of the initialization measure. You may put any MIDI initialization messages into this measure, usually at beat one. You should not put any notes in the initialization measure. Controller messages and SysEx messages are OK.

The MIDI text markers indicate the start of the style sections. Be sure to spell the markers correctly. The keyboard automatically determines the section length. If a section appears to be missing or is too long when the style is loaded into the keyboard, then you might have misspelled a section name. Remember, the text markers are case sensitive.

The PSR/Tyros only recognizes up to four main sections, four fill sections, one break section, four introductions and four endings. If a section type is not present in the style file, the keyboard doesn’t turn on the LED in the button corresponding to the missing section. Given that a MOX performance may not have four main sections, for example, the PSR/Tyros style may not have four main sections and some of the LEDs will not be lit when the style is loaded. You can always create new sections if you wish. MOX performances do not have introductions and endings, so you may want to add a simple count-in introduction or tag ending. I have a style file with simple introductions and endings. I use copy and paste to insert them into a new style file.

Main, introduction and ending sections may be 1 to 255 measures in length. Fill and break sections are always one measure long.

Jørgen’s website has a wealth of information about styles including a PDF on style writing. Yamaha styles can be quite complicated. Don’t get discouraged and keep plugging away!

Check out part three of this series.