Footloose and fancy free

Maybe you would like to play your music in the great outdoors at a family picnic. Or, like me, you would like an extremely light, battery-powered rig for quick set-up at rehearsals.

Modern battery technology to the rescue! More musical instruments and portable speakers than ever run on battery power. Many of these devices sport an integrated rechargeable battery and a USB-based charge or power outlet. You can have that light battery-powered portable rig by combining a battery- or USB-powered keyboard with one of the many available portable speakers.

Here’s how I designed my portable rig.

I started with the KORG TRITON Taktile 49 USB-powered MIDI controller and synthesizer. The TRITON Taktile (TT) has 49 keys and is very light-weight (less than 8.5 pounds). The TT incorporates the Triton Classic sound engine and programs which are under the control of eight front panel knobs and sliders. I reviewed the TT here and here , so I won’t go into more detail about its sonic capabilities.

The TT does not have built-in battery power. However, it runs quite well on a rechargeable USB battery pack. USB battery packs are readily available and are usually intended to power or recharge personal electronic devices such as MP3 music players, phones, tablets and so forth. Fortunately, electricity is electricity and the TT is happy to operate on power supplied by a USB battery pack. As long as a battery pack can supply the necessary current (usually stated in milli-amperes or “mA”), the pack should be able to power any compatible musical instrument keyboard.

Let’s explore power requirements a little bit more, using the TT as the example. KORG claim that the TT draws 550mA of power through the 5 Volt DC USB-B port. I purchased an Incase Portable Power 5400 recharging “brick.” The Incase brick can supply up to 2.1 Amps (2100 mA) of current, more than enough to power the TT. The “5400” in the product name refers to the battery capacity: 5,400 mAH. In theory, the Incase 5400 brick should be able to power the TT for nearly 10 hours. (God helps us if we ever rehearse that long!) I have been using the TT/Incase combination during practice for the last few days under light use and haven’t burned off 20% of total capacity yet.

So far, so good. But, what about a portable speaker? Unfortunately, you can’t expect to drag your keyboard into Target or Best Buy and audition portable speakers. Most of the speakers on display in box stores are wired into a point-of-sale demonstration system which plays back canned demo tracks. You won’t be able to disconnect from the demo system and connect a synth to the back of the portable speakers on display. Thus, you should audition as many speakers as possible with the canned tracks and try to find the one with the best overall reproduction without “boxiness” and weak low end.

I tried out portable speakers in-store rather obsessively and exhaustively. I eventually settled on the JBL Charge 2 Bluetooth speaker. The JBL Charge 2 has reasonably flat response and good low end without the boxiness of many small speakers (such as the higher priced Jambox Mini). The Charge 2 is a little bit chunky weighing about 0.5 pounds. It specs out pretty well: 2×7.5 Watts and 75Hz – 20kHz frequency response. Two passive radiators provide solid bottom end; bass notes are distinct with recognizable pitch.

Sonically, I’m quite happy with the TRITON Taktile and JBL Charge 2 combination. The JBL handles high energy sounds like organ and French horn without distortion and flappy speakers. The headphone output from the TT is a little too low, however, and I must turn the volume all the way up on the JBL in order to get to rehearsal-level volume. Our church group rehearsals are “unplugged” (except for me, of course), so I don’t anticipate any problems on the job. However, I’m considering the addition of a battery-powered gain stage between the TT and the JBL. The following candidates for gain stage look viable:

  • Boostaroo R234 Revolution Headphone Amplifier
  • Rolls MX56C Minimix A/V Battery Powered Mixer
  • MCM Custom Audio Compact Headphone Amplifier

The Rolls MX56C is attractive because, hey, who couldn’t use a battery powered utility mixer for other production applications? The MCM headphone amplifier has a Micro USB-B power input in addition to a 9V barrel connector. The MCM can be powered from a USB-A port just like the one on the Incase power brick.

Potentially, a fourth alternative is a guitar boost pedal. The pedal solution is viable as long as the pedal is flat and does not color the sound of the acoustic voices. I tried a Danelectro D-2 FAB Overdrive pedal with the jazz/pop voices and the overdrive does a great job of dirtying up the voices while adding gain. The TT voices are exceptionally clean and the added grit on electric pianos and guitars is especially welcome. As Moe the Bartender would say, “He ain’t pretty no more.”

There are two other aspects of the JBL Charge 2 that are worth mentioning. First, the JBL is such a chunk because it incorporates a 6000 mAh Lithium-ion Polymer battery and a 2.0 Amp USB-A charging/power port. Originally, I intended to power the TT using the JBL Charge 2. Unfortunately, there is too much digital noise on the USB power line when the TT is connected and is drawing power. One can clearly hear undesirable synthesis artifacts and noise at a completely unacceptable level when the JBL both powers and amplifies the TT. Now, I run the TT on the Incase power brick separately. I am thinking that the JBL could power the MCM headphone amplifier, hopefully without the digital noise.

Second off, the JBL is a Bluetooth speaker. (It works quite well in this capacity having tried the JBL with an iPad.) It seems like a no-brainer to send audio from the TT to the JBL over Bluetooth assuming that a Bluetooth audio transmitter is attached to the 3.5mm stereo output of the TT. This is a loser for live play, however. The transmitter must encode and compress the audio which imposes an unacceptable delay between playing a note and actually hearing the note through the JBL. I’ll stick to good ole latency-free audio cable.

The picture below shows the whole rig: the gray Incase power brick, the TRITON Taktile, and the JBL speaker resting on top of the TT. The TT does not have much clear room on top. Most of the top is taken by buttons, switches, sliders, pads, etc. The JBL’s perch is rather precarious. I would feel better having the JBL on the floor or a stable resting place nearby.

TT_and_Charge2

The entire rig fits into a Kaces 49-key gig bag and weighs 12 pounds. Finally, a self-powered rig that is as easy to handle and move as an acoustic guitar!

Triton Taktile: A few more thoughts

A quick follow-up to my earlier snap review about the Korg Triton Taktile.

I’ve spent more time playing the Triton Taktile and generally remain pleased with many of the on-board preset sounds and the keyboard feel. The only major disappointment is a way to toggle the rotary speaker speed for B-3 organ sounds. Speed changes are an important part of B-3 playing style and I sorely miss this capability. I hope that Korg can find a way to add speed change in a future update. Unfortunately, the Leslie effect seems to be sampled into many of the sounds, so an update of this kind may not be possible technically.

I wanted to register my favorite patches, so I decided to download and install the Korg Kontrol Editor. The front panel procedure for registering favorites is not particularly fiddly, but the Kontrol Editor allows entry in one go and presents a WYSIWYG view on the contents of favorites Set A and Set B. I like to see how the patches are laid out across the buttons and to juggle their order. The Kontrol Editor does the business as you can see in the screen below. The Kontrol Editor leaves tool/keyboard synchronization up to you. When you have something worth writing then you click a button to transfer the edits to the keyboard. When you want to read something back from the keyboard into the editor, then click the appropriate button.

KontrolEditor

The screenshot shows my favorite sixteen patches. Set A is my “church” group consisting of voices that I am most likely to use at rehearsals with the music ministry. Set B is my “jazz/pop” group of voices that are fun for jamming with MP3 backing tracks or even PSR-S950 styles.

If you ever go to use Korg Kontrol Editor on Windows, please note that you must install the Korg USB-MIDI driver first. The install documentation has a small hiccup and doesn’t mention the need for the driver right up front. No biggee, but you will need the driver.

The Korg part of the installation is smooth. The Windows part, however, became a learning experience. A-hem. I had plugged the Triton Taktile (TT) into a USB port before installing the Korg driver. Windows installed some default driver of its own. This is not surprising. However, the Kontrol Editor did not recognize the TT after installing the Korg USB-MIDI driver. The editor has a means of manually selecting MIDI ports and the TT did not appear in the editor’s list of available (connected) ports.

Time for the usual Windows driver-Hell troubleshooting. Before doing anything else, I uninstalled the Korg driver and rebooted.

While searching the Web for a solution, I found several references to the notorious Windows XP MIDI limit. Windows installs a separate driver for not only each different MIDI device (keyboard), but each unique combination of device and physical USB port. Yep, this means that you get two instances of the same driver if you plug your TT (or whatever) into physical USB port A today and into physical USB port B tomorrow! Windows XP remembers up to ten MIDI drivers and if you tend to move your MIDI devices around USB ports, the ten slots get filled up. Then, no more.

There is some debate as to whether this limitation is present in Windows 7 or not. (I’m using Windows 7.) One solution to the problem is to manually remove registry entries for unused (inactive) MIDI devices. Tromping around inside the Windows registry, however, is not a particularly safe or fun activity.

There are two better and safer methods for removing inactive MIDI drivers:

  1. A method suggested by Craig Anderton on Harmony Central. (Search on “windows midi limit”.
  2. The Korg USB driver uninstall utility.

Craig’s method is clear, but requires a little Device Manager knowledge. Basically, you need to execute these two commands as Administrator:

    set devmgr\_show\_nonpresent\_devices=1
    start Devmgmt.msc

Windows launches the Device Manager where you can navigate to the “Sound, video and game controllers” part of the device tree. There, inactive drivers are shown with a greyed out speaker. Right click on each unwanted inactive driver and select “Uninstall” from the contextual menu. Once slots are freed up, you should be good to go.

Or, better yet, try the Korg USB driver utility. This utility program is installed along with the Korg USB driver itself. The uninstall utility displays the unconnected (inactive) MIDI devices and lets you uninstall the associated driver. I installed the Korg USB driver (leaving the TT unattached) and ran this utility on my machine. I selected and removed all of the inactive devices/drivers. Then, I plugged in the TT and voila, the KORG driver and editor recognized the Triton Taktile. All was then good with the world.

Even if you don’t own or use a Korg keyboard, I recommend this utility as a way to work around the Windows MIDI driver divot. Korg really should be commended for writing this utility and making it freely available. As to Windows, I really don’t need any more learning experiences of this type…

Another minor issue is dealing with the 3.5mm (1/8″) stereo output. This output is fine when connecting in stereo to either a 3.5mm or 1/4″ stereo phone input or connecting to two 3.5mm or 1/4″ phone mono inputs — just use the appropriate cable (i.e., TRS to TRS or an insert cable). Connecting from 3.5mm stereo to 1/4″ mono is more troublesome as the right and left channels need to mix down to mono. I received the following reply from Korg USA product support:

You should be ok to connect the Triton Taktile to a mono input by using an 1/8” stereo to a (1/4” or 1/8”) mono cable. I don’t think there are any programs that have sounds panned hard right so all the programs should sound fine.

The HOSA (Livewire) CMP-105 is such a cable. Properly, one should mix down the right and left signals, passing each side through a 1K ohm resistor into a common electrical node (the mono output). You might also want to check out the advice and circuits at Why not wye?

I’m happy to use the CMP-105 as long as there aren’t any long term reliability issues on the Triton Taktile side. The stereo to mono cable does work as suggested by Korg. I will mainly use this solution when driving a mono-only effect like a guitar pedal. Otherwise, there are usually enough available inputs to do a more proper mix down.

Finally, I was curious about the MIDI bank select and program change messages that are needed to select Triton Taktile programs. The TT follows the typical Korg convention: Bank Select MSB is 121 (decimal) for regular voices and Bank select MSB is 120 for drum kits.

The program layout is somewhat schizoid. Korg did not collect all of the drum kits at the end of program list (as Mr. Spock would expect). The drum kits are interspersed with regular voices in the final quartile. Normal voices are assigned banks and program change numbers in the expected fashion up to program number 399, which is the first drum kit. Program number 1 has bank select MSB 121, bank select LSB 0 and program change 0. The program change numbers increase to 127 when the bank select LSB increases to 1 and the program change number rolls over to 0. This continues in an orderly fashion until program number 299 and the first drum kit. After that, the assignment is difficult to enumerate. (Please see the table below.)

I determined the bank select and program change values by monitoring the TT’s MIDI OUT while changing programs through the front panel. If you want to fill out the rest of the table, grab a copy of MIDI OX and monitor the MIDI OUT. Yeah, I’m lazy. 🙂

Program# MSB LSB PC# Program name
1 121 000 000 A. Piano
127 121 000 126 F.Horn Ens
128 121 000 127 Flute
129 121 001 000 Sax Ens
255 121 001 126 Hybrid Brass
256 121 001 127 Blind Brass
257 121 002 000 Reso Brass
383 121 002 126 Brass/Lead
384 121 002 127 PWM Lead
385 121 003 000 Glide Lead
415 121 003 030 Monster
399 120 000 007 Std Kit 1
400 120 000 011 House Kit
401 120 000 015 Psycho Kit
402 120 000 017 Orch&Ethno
403 121 003 018 Velo Hit
404 121 003 019 Gtr Hit
416 120 000 120 Std Kit 2
417 120 000 010 Brush Kit
418 120 000 009 Power Kit

Korg Triton Taktile: Snap Review

The Korg Triton Taktile has a double personality. On one hand, the Triton Taktile (TT) is a MIDI controller with eight knobs, eight sliders, eight buttons, sixteen pads and a set of DAW function buttons. (These are the specs for the 49-key model, the model that I’m using.) On the other hand, it is a synthesizer with the Korg Triton classic sound engine. Right now, I’m playing the TT as a synth and I will be concentrating on the synth features.

The Sound On Sound review of the Korg Taktile controller (the model without the sound engine) is very well-written and I recommend reading the SoS article for more information about the TT’s control capabilities. I will say that Korg hit my major checkmarks for a controller: a 49-key keyboard with a good action, expression pedal input, sustain pedal input, and TA-DA, a 5-pin MIDI output in addition to the USB-B connector for power and computer/tablet communications. The TT will operate on a portable, rechargeable USB power pack (minimum 5V 1A output) and that is in fact how I’m using it in the studio. The picture below shows the Triton Taktile under battery power. The TT weighs just a little bit over 8 pounds (3.8kg) and is easy on the eyes as well as the back.

TT_with_battery

The TT connects to either headphones or external amp through a 3.5mm stereo jack. All of the connections are made through a panel on the right side of the TT. The output level is sufficient for comfortable listening on Roland RH-A7 headphones, my current choice for head gear.

As you might be aware already, you don’t get a full Triton classic. The TT is not multi-timbral and it does not have combinations (“combis” or layers) and insert effects. However, you can bring up one of 512 classic programs (voices) and play your heart out! There are two system-level master effects (MFX1 and MFX2) that are appropriate for the preset voice, e.g., chorus and reverb on electric piano. The TT is strictly a preset machine as program edits cannot be stored. This hasn’t cramped my act so far, but like any of the TT’s limitations, it could be a deal-breaker. You can save your favorite preset programs into two sets of favorites (set A and set B, each set with eight slots) for quick patch selection.

Hit the dedicated SOUND button to leave controller mode and go to synth mode. The current patch number and name are shown on the nice bright OLED display. Even though the OLED display is small, it is very readable. There are three ways to select a program:

  1. Press one of the program category buttons (assignable buttons F1 to F8). The TT selects the first program in the category or the last selected program in the category. It remembers the last selected program until power-off.
  2. Use the value slider (ribbon) to scroll through the programs. Tap the “+” or “-” at either end of the slider to increment/decrement, or slide your finger along the ribbon to move quickly to a new patch.
  3. Select one of your favorite programs from either set A or set B.

It takes a little practice to get the hang of the slider. Do not take this ax to a gig and expect to select patches on the fly! I recommend setting up favorites and getting the general layout of the patches before hand. Otherwise, an embarrassing epic fail will ensue.

The keyboard feels very good for a controller in this price range. It has a little more resistance than the Yamaha MOX series, for example. I find it quite comfortable to play — it does not feel like a toy. Korg claim that it is the same action as the Krome and I have no reason to doubt them. The pitch bend and modulation wheel also have a satisfying feel. The knobs and sliders are a little bit “light” to me. I don’t have an opinion on the pads as yet.

I enjoy playing this instrument! The knobs and sliders control eight parameters: volume, cutoff, resonance, attack, delay, release, MFX1 and MFX2. Cranking the cutoff and resonance is a real visceral thrill. The two master effects, unfortunately, are very subtle and understated. The TT cries out for a multi-effects unit with distortion and other sonic manglers.

My favorite sounds are the electric pianos, drawbar organs, church organs (!), strings, and acoustic guitar. Korg strings have always had a wonderfully expressive depth and these patches do not disappoint. The electric pianos are very clean. I threw a cheap Danelectro overdrive on the output in order to realize the EP’s full funked-up potential. Oh, for a multi-effects unit, Korg!

The brass isn’t too bad, especially the horns, cornet and flugelhorn. The TT’s woodwinds are pretty naff — yuck. My musical personality is split between liturgical church music and jazz/funk/60s rock. On the church side, I’m disappointed with the oboe, clarinet and other reeds. On the pop side, I don’t often venture into synth territory. However, the HipHopLead patch is great when you feel the urge for Herbie. There are a lot of lead and pad sounds to explore and I’m sure that I’ll find a few other useful patches.

The handbook in the box is helpful, but not sufficient. Be sure to download the parameter guide and the Triton Taktile-specific MIDI implementation chart. Korg could be a little more forthcoming about the MIDI implementation considering that the Taktile series are MIDI controllers for heaven’s sake. The full list of programs is at the absolute end of the parameter guide. I always look through the list of patches for a synth/workstation when considering a purchase and this list is somewhat hidden away at the end of the parameter guide.

Bottom line, I’m happy with the Triton Taktile even when its limitations are taken into consideration. It could be the heart of a light-weight, portable, battery-powered rig and I’m exploring that potential right now.

Polyphonic Arduino synthesizer

If you’re interested in building an Arduino-based ROM-pler, this next project is for you!

One of my long term dreams is to build a low-cost 60s-style combo organ. My latest project uses an Arduino UNO as a sample playback, sound synthesis engine. Although the waveforms are taken from the old VOX Continental and Farfisa Mini Compact organs, the design and code could easily use single cycle waveforms from a vintage synth, a string machine, your first born child, whatever! The 60s combo organ project is essentially a software ROM-pler that plays back up to five waveforms at a 22,050Hz sampling rate.

The project hardware consists of an Arduino UNO and a Narbotic Instruments MidiVOX shield. The MidiVOX shield has a Microchip Technologies MCP4921 12-bit digital to analog converter (DAC) and an opto-isolated MIDI input. Although the MidiVOX is no longer in production, it’s basic circuitry is easy to recreate; several other popular audio shields use the MCP4921.

Waveforms are stored in the Arduino’s program memory (PROGMEM), just like code. Program memory is non-volatile and the waveforms are ready to go just like a pre-loaded sketch. The combo organ sketch sets up TIMER1 to generate interrupts at a 22,050Hz sample playback rate. The interrupt handler reads the next sample for each of five virtual tone generators, sums the samples together, and writes the next aggregate sample to the DAC.

MIDI communication is performed through the standard Arduino MIDI library (version 4.2). The sketch registers two callback functions via the library: a note ON handler and a note OFF handler. The MIDI note handlers configure the five virtual tone generators. The sketch’s loop() function is trivial — it merely calls the MIDI library read() function and checks a reset button on the MidiVOX shield.

We all know that Direct Digital Synthesis (DDS) — the usual approach for sample playback — is a compute intensive technique for sound synthesis. DDS dynamically shifts the pitch of a stored waveform from its root pitch (the frequency of the sampled note) to the target pitch (the frequency of the MIDI note played by the musician). DDS performs waveform pitch-shifting through phase accumulation and interpolation. Floating point arithmetic is too slow and most DDS implementations use fixed point arithmetic. Even then, the computational load is heavy.

So, how did I achieve five note polyphony? Instead of storing a single waveform at a single root pitch, my approach stores twelve waveforms — one waveform for each basic pitch in the chromatic scale. The algorithm uses integer phase increments, thereby eliminating floating or fixed point arithmetic and interpolation entirely. The approach requires more space, but is quite fast. Each sampled instrument occupies 20% of program memory, allowing up to four different instruments before running out of PROGMEM.

Here are two quick MP3 demo files: a Farfisa-type sound and a and a VOX-type sound. I created the vibrato by routing the audio signal through an inexpensive Behringer UV300 vibrato pedal.

As usual, we always publish code. Need a cheap ROM-pler? Now you’ve got one!

Update 22 July 2016: If you’re into retro, be sure to check out the Arduino lo-fi beat box project. Filled with lo-fi TR-808 goodness!

MidiVOX: An appreciation and review

They just don’t make ’em like they used to. In the case, of the Narbotic Instruments MidiVOX shield for Arduino, I really mean it!

The MidiVox is a bit of a blast from the past as Narbotic no longer manufacture and sell the MidiVOX shield kit. Major bummer. Luckily, I purchased one of these little gems from the MakerShed when the shields were available a few years ago. Narbotic kindly maintain the design information and code on their Web site.

To me, the MidiVox is a most logical combination of a MIDI IN port and a 12-bit digital-to-analog converter (DAC). The MIDI port incorporates a 6N138 optocoupler for electrical isolation and a 5-pin DIN connector. The port is connected through a “PGM/MIDI” switch to Arduino digital pin D0, also known as the serial receive (RX) pin. The PGM position connects the serial pin the usual way in order to download to the Arduino. The MIDI position connects the Arduino serial RX pin to the MIDI IN circuitry. The switch component is robust and is easily accessible when the MidiVOX is on top of the Arduino and/or other shields.

The 12-bit DAC is a Microchip Technology MCP4921. This DAC is used in several other audio shield designs including the Adafruit Wave Shield and the Nootropic Design Audio Hacker Kit. The MCP4921 connects to the Arduino SPI port through digital pins D13 (SCK), D11 (MOSI), and D9 (chip select/slave select). Conventional practice recommends using D10 as slave select (SS), but it isn’t a big deal to use D9 instead as this is mainly a software issue. Slave Select (called “chip select” in the MCP4921) chooses and enables communication with the slave device. This capability is essential when more than one device is connected to the same SPI interface as in the case of the Nootropic Audio Hacker shield.

Although it seems like a no-brainer to connect all SPI devices to the Arduino SPI pins, the Adafruit Wave Shield does not follow this approach. It connects the SD card interface to the SPI pins, but connects its MCP4921 to three ordinary digital pins. The Wave shield software bit-bangs the digital pins to transfer data to its DAC. I’m not a fan of this approach, preferring to use standard libraries instead of possibly buggy, poorly documented bit twiddling code.

The MidiVOX shield implements a 2-stage, passive filter following the DAC output. The MidiVOX sends a mono signal through an on-board trim pot into a 3.5mm audio output jack. Trim pots are usually rated for a relatively small number of operating cycles, so it’s best to set this level once and make volume adjusts at an external mixer, preamp, or whatever.

The MidiVOX shield provides a DATA LED controlled by digital pin D7. The shield also has a RESET button (momentary contact switch) connected to digital pin D6. This button is ACTIVE LOW, meaning that the button pulls D6 to ground when it is pressed. Therefore, the pin mode should be configured as INPUT_PULLUP such that D6 is pulled up internally when the button is not pressed (i.e., the momentary contact switch is open).

Construction was easy. The resistors have five color bands, but don’t let this throw you off. The construction directions give the correct color code and you can (and should!) always check resistor values with a meter before insertion and soldering. I replaced the basic header pins with “stackable headers” (two 8-pin and two 6-pin). Stackable headers provide a way to make easy external connections to the shield stack from a breadboard, etc.

The completed board is shown in the photo below. The MidiVOX is stacked on an Arduino UNO with the USB, audio and MIDI cables, and is ready to go.

MidiVox

I wrote a diagnostic sketch to check out the different parts of the MidiVOX. I wish manufacturers would provide check-out sketches instead of relying on somebody’s possibly flaky application sketch for smoke testing. If something is busted, it’s important to find it early through a directed test that isolates the failure. Fortunately, everything checked out OK the first time!

The MidiVOX diagnostic program is an Arduino sketch to check out parts of a Narbotic Instruments MidiVOX shield. Rename the “loop” functions and rebuild in order to test a particular section of the shield.

Since the MidiVOX is discontinued, we’re all out of luck if we want to get (another) one. However, I strongly recommend studying the MidiVOX design. When I first got started with Arduino and MIDI, I borrowed the MIDI IN circuitry and the low pass filter design. These are simple, solid circuits and are good basic building blocks for other designs and applications.

Where to next? My dream is to build a low-cost 60s combo organ with the era-appropriate look and sound. The organ would look like a Vox Continental with a Z-shaped chrome stand and bright red Tolex covering. It would sound like either a Farfisa or a Vox — nothing too nuanced with all of the drawbars or tabs turned on. I’d like to use a cheap and lightweight MIDI controller as the keyboard. The controller would drive a low-cost (Arduino-based?) sound generator. I’m hacking out a prototype using an Arduino UNO and the MidiVOX shield. More to come…

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”.

Sampling “scat”

In this post, I describe the process and tools that I used to capture samples for my jazz scat voice. I will eventually release the voice (for the Yamaha PSR-S950 workstation) and its samples under the Creative Commons attribution license. I’m not the best singer, so I’ve had to rely on technology as much as possible while still producing a musical result. I want to emphasize that I sang, edited and produced all of the samples and the voice patch; it is original work.

The jazz scat voice is inspired by the (in)famous “jazz voice” patch found in Roland keyboards. The Roland patch is based on samples from the Spectrasonics Vocal Planet library by Eric Persing and Robby Duke. Their work was clearly influenced by Take 6 and other contemporary a cappella artists.

My patch uses four multi-samples where each multi-sample is a particular syllable taken over 12 (or so) pitches. The multi-samples cover the natural range of the human voice from F3 to F6 where C5 is middle C. The four syllables are: DOO, DOT, BOP and DOW. The DOOs are long, looped samples that provide a musical bed or harmony. The remaining three samples are short one shots suitable for melody, punctuation and accents. The DOW syllable falls.

The basic patch design is summarized in the following table.

Syllable Type Vel low Vel high Gain
DOO Loop 1 89 0 dB
DOT One shot 90 105 -3 dB
BOP One shot 106 119 -6 dB
DOW One shot 120 127 -9 dB

The table shows the MIDI velocity range to each syllable (multi-sample). It also shows the relative gain for each syllable. The gain decreases as velocity increases in order to maintain a more consistent volume level as the keys are struck harder to trigger the one shots.

At a strategic level, the sampling production process consists of two major steps:

  1. Capture a natural voice sample for each syllable and pitch. These natural voice samples are the formants to be used in the next step.
  2. Capture a vocoded sample for each syllable and pitch while playing the appropriate formant sample through the PSR-S950 vocoder.

This process produces scat syllable sounds that are consistent, pitch accurate and in the case of the DOO syllable, loopable.

Here’s a run-down of the practical problems that motivated this approach. My voice is an untrained baritone. It cannot possibly cover the F3 to F6 range without hysterical noise and possible voice damage. As I discovered, it is nearly impossible to sing pitch accurate short syllables such as these without proper training! I needed to find a method that would give me a consistent and pitch accurate sound across the desired range of pitches. This is a greater challenge than I originally anticipated and a lot of experimentation led to the two-step method. It took about 3 weeks to find the method and then a further two weeks of production work.

Now, the details.

I used a Roland Micro-BR digital recorder to capture both natural voice and vocoded samples. This little wonder is great — easy to use, fast and above all, quiet. For natural voice, I sang into a Shure PG-81 condenser microphone feeding an ART TUBE MP preamp. The TUBE MP is a really Swiss army knife providing phantom power for the PG81, a little bit of tube warmth, and conversion from XLR to a line level audio signal. The output of the TUBE MP is connected to the Micro-BR. For vocoded voice, I connected the line level mono output of the PSR-S950 to the Micro-BR. In both cases, all Micro-BR input effects are disabled and gain staging is established before hitting the RECORD button.

Formants are captured and produced in the following way. I sang each syllable multiple times at each of the desired pitches while recording to the Micro-BR. The pitches cover the F3 to F6 range such that no resulting final sample would be transposed up more than one semi-tone and/or down two semi-tones. Transposing up or down more than these limits negatively affect sound quality (obvious sample speed-up/slow-down). The entire sampling session is converted to WAV format and then transferred to a PC where Sony Sound Forge Audio Studio is used to review the sung syllables and to select the best one at each pitch. Each selected syllable is saved in its own WAV file. The selected syllables are tuned with Celemony Melodyne. The tuned syllables are the formants for the vocoding phase.

Sony Sound Forge is a solid audio editor. I can work fast in Sound Forge and its “Copy new” function is ideal for cherry picking a recording session. In a few cases, I had to amplify a sample to compensate for low level. When singing across such a wide range of pitches, one needs to rely on electronics/software for amplification in order to avoid voice strain! For tuning, I used the trial version of Celemony Melodyne Single Track which installed with Sonar X3. Although the procedure to enable the trial period was wonky, Melodyne is a great tool and I will very likely buy a copy.

In the second major production step, the formant syllables are sent to the PSR-S950 vocoder and vocoded syllables are recorded on the Micro-BR. The S950 vocoder is not a true synth vocoder. (The Motif/MOX and Tyros vocoders are true “synth” vocoders.) The S950 vocoder is part of its vocal harmony proceesor. Its “VocoderMONO” mode is designed to let (untrained) voices sing into a microphone and impose the formants onto a rather natural sounding, pitch accurate synthetic voice sound.

My early investigation found that the PSR-S950 vocoder needs clean formants that are near the desired final pitch. By clean, I mean formants that do not overdrive the vocoder input and are relatively free of the (un)natural gurgles and what not in the sounds made by the human vocal system. (Well, my vocal system anyway.) The first major step in the overall process let me select the cleanest formants. However, attempts to sing outside one’s natural vocal range introduce gurgles and rasps at the low end and off-pitch histrionics and screeches at the high end. The first major process step choses the cleanest formants and tunes them to the desired pitches.

I loaded the formant samples into a Roland RD-300GX piano as an Audio Key set. Each formant sample is assigned to a particular key and is played by the RD-300GX when the key is struck. Basically, this arrangement gives me a simple one-shot playback engine. The output of the RD-300GX is connected to the microphone/line input of the PSR-S950 in order to drive the vocoder. The mono output of the PSR-S950 is connected to the Micro-BR.

Once everything is connected and levels are set, a little trial and error is needed to find the best formant at each desired vocoder pitch. Think of this as a dry rehearsal for the final recording. Frequently, the formant at the same desired vocoder pitch is the best choice for the vocoded sample. However, sometimes one of the nearby formants is better or produces a more consistent timbre or articulation across the multi-sample. This involves a lot of critical listening and A/B comparison, producing a list of formant and pitch pairs.

Then, it’s time to hit RECORD and capture the vocoded samples by playing the desired pitch on the S950 keyboard and playing the corresponding desired formant on the RD-300GX. Once again, the recording session is converted to WAV format, is transferred to the PC, and is separated into individual WAV files.

At this point, the DOT, BOP and DOW one shot samples are pretty much complete. The DOO samples need to be looped. For some zany reason, Sony Sound Forge Audio Studio saves loop points in Acid METADATA within a WAV file. The Yamaha voice editor does not pick up this information. After searching the Web, I discovered that loop info within a WAV file is not really standardized. Given that the target tool is from Yamaha, I decided to use Yamaha’s Tiny Wave Editor (TWE) to loop the vocoded DOW samples. This worked out pretty well as TWE’s crossfade looping eliminated some bad thumps without introducing artifacts. A lot of trial and error was still involved in choosing the loop points, however. TWE can be found for free on the Web, by the way.

The final production step is to bring all of the vocoded samples into the Yamaha Expansion Voice Editor (EVE) and produce the final voice as part of an S750/S950 expansion pack. I made five voice patches:

  1. DooLoops: DOO syllables over MIDI velocities 1 to 127
  2. GetLayeredUp: All syllables, velocity-switched
  3. DatStuff: DOT syllables over MIDI velocities 1 to 127
  4. BopOnPop: BOP syllables over MIDI velocities 1 to 127
  5. Dow2008: DOW syllables over MIDI velocities 1 to 127

The multi-samples are most easily tested and normalized individually. Plus, the DOO loops and other syllables are musically useful by themselves without velocity switching. I built the GetLayeredUp patch after testing the individual multi-samples and normalizing the volumes of the individual samples within. Choosing the patch names was really fun! (Apologizes to George Clinton.)

The Yamaha Expansion Voice Editor is a trial version for which the trial period was, ahem, adjusted. Yamaha needs to just face facts and release an official version of EVE. Zillions of S750/S950 people are already using EVE and if Yamaha is somehow trying to protect its expansion pack franchise, well, that train done left the station a looooooooooong time ago. At this point, an official EVE would enhance the PSR product ecosystem and sales.

EVE does not implement velocity levels/switching. I used V. Muller’s version of the OLE Toy binary editor to set the element velocity ranges in the GetLayeredUp patch. Thank you, V. A huge amount of effort went into the analysis of YEP files and Python coding and he deserves all of the credit.

Thanks to vocoding, the final samples have a consistent sound. They are a little bit plain Jane by themselves, however. I gave each patch a little bit of reverb (reverb send level 20). I also added the “Ensemble Detune 2” DSP effect (send level 64). This is a truly spiffy effect — a chorus without modulation that gives the impression of an ensemble of slightly detuned voices. It is exactly the kind of gloss that the scat voices need.

Although the velocity ranges in GetLayeredUp are reasonable, users should still expect to tweak the keyboard velocity sensitivity and touch response to their personal needs. For example, I need to play GetLayeredUp on the softest touch setting. Your mileage will definitely vary!

Please stay tuned for the initial release of the expansion pack and multi-samples.

PSR-E443: Snap review

Ah, it’s always fun to post a “first impressions” review of a new toy! In this case, the Yamaha PSR-E443 portable arranger.

I like to use a battery powered keyboard at rehearsals since an all-in-one sets up and tears down without a lot of work. Up to this point, I’ve been playing an old Yamaha PSR-273. The 273 first made the scene in 2003, so it was definitely time for an update.

The PSR-E443 is the top of the entry-level portable keyboards from Yamaha. It has 61 keys and a built-in stereo sound system comprising two woofers and two tweeters. The E443 is powered by either an AC adapter (PA-150) or six AA batteries. So far, I’ve only used an AC adapter and don’t have a feel for battery life. Fortunately, the MOX6 uses the same PS-150 adapter and I didn’t need to buy yet another adapter. (The E443 does not ship with an AC adapter.)

For the sake of review, I played similar styles and MIDI songs on the old PSR-273 and the more expensive PSR-S950 arranger workstation ($250 street for the E443 version $1,900 street for the S950). The E443 sells for about the same price as a mid-range “boutique” guitar pedal. Given that the E443 consists of a computer-based sound generator, analog-to-digital converter (ADC) for the auxiliary audio input,
LCD display, keyboard and media content (e.g., styles, DJ patterns, voices), it’s quite a manufacturing feat to deliver a fun, usable product at such an aggressive price point!

In terms of build quality, you definitely get what you pay for. The build quality of the old PSR-273 seems to be more robust than the E443. Yamaha definitely has taken cost of the E443 in order to sell it for a $250 street price. Although the E443 is a reasonable solid product for the home, it would definitely not hold up on the road. The push buttons do not have the same solid feel as the S950 (or the MOX synthesizer) and one needs (and should use) a gentle touch when pressing buttons. Cosmetically, the only really bothersome observation is the obvious difference between the top C key and the rest of the keys in the key bed. The top C is an add-on key which is not aligned evenly with the rest of the keys and which has a slightly different color (shade of white) than the other white keys. In comparison, the old 273 and the more expensive S950 have nice even keys and consistent key color.

The E443 has a somewhat “retro” sound set augmented by many additional voices that were added over the history of the E4xx series. The E443 and 273 share many of the same panel voices which is a little disappointing. These common voices sound somewhat better on the E443 due to better effects, equalization and sound system. However, with only a few exceptions, the panel voices in common share the same waveforms. One of the exceptions are the string voices. The E443 strings sound much better especially in the lower octaves.

The XG sound set is definitely a step up from the 273 although the S950 XG sound set is at a still higher quantum level in quality. I played the same commercial XG file (“Smooth Operator” by Sade) through all three instruments. The 273 is truly pathetic, the E443 is acceptable, and the S950 is not too bad at all. The E443 does not have the benefit of the XG variation (DSP) effects as available on the S950 and the solo sax sounded just a tad naff. However, I think a typical consumer would be happy with MIDI file playback through the E443; it definitely beats the Microsoft wavetable synthesizer!

Although it sounds a bit negative at this point in the review, the E443 definitely shines brighter than the 273 due to the additional, augmented panel voices. These voices include the several “Cool” and “Sweet” voices, three dynamic velocity-switched voices, a handful of newer voices like “Woodwind Section”, and the many “DJ” synthesizer voices that were added to implement the DJ patterns. There are also some wonderful world voices like Trumpeta Banda and Harmonium. The sound designers also added a few dozen dual (layered) voices. Even though the dual panel voices use the same waveforms as normal non-layered panel voices, many of these dual panel voices are fatter, very playable and usable. I’m looking forward to using these “newer” voices and the improved strings at rehearsals.

The area where the E443 shines brighter than the S950 (!) is the real-time tweaking provided by the two sound control knobs on the front panel. Even though I’m not a huge synth enthusiast, I used the knobs to tweeze voices like the dynamic overdriven guitar while jamming over a style. I’m now sold on having a few knobs around for real-time tweaking and would love to see a couple of knobs on the mid-range arranger workstations. Pressing up/down buttons in the S950 mixing console just doesn’t have the same feel or immediacy. Further, a quick check with MIDI-OX shows that the E443 sends MIDI CC messages for cut-off frequency, resonance, reverb level, chorus level, attack time and release time when the appropriate knob is twisted.

The E443 also has some advantages over the S650 (the next model up in the arranger family). The E443 supports limited voice programming and stores the same six voice parameters for the main and dual voice. These voice parameters are stored in registration memory. This makes the E443 voices tweakable. The S650 lacks even this rudimentary level of voice editing.

Like voices, the styles are a mix of old and new. The styles include many old chestnuts like “Cool8Beat.” The older styles sound better through the improved sound system, but they retain the same essential phrases. The newer styles, especially those in the “Dance” category create more excitement. There are also a few fun additions in the Latin and World categories. Each style has a “One Touch Setting” (OTS) voice that selects a voice that Yamaha deemed to be appropriate for the style. Of course, this is somewhat hit or miss as personal taste and preference varies. There are a few surprises like a very nice Sweet Flute and Piano layer.

The E443 is reasonably adept at playing commercial styles in the original (and older) Style File Format (also known as “SFF” or “SFF1”). I played the styles in the MIDI Spot Soul and Blues pack and got a fairly decent result. These styles were developed for the PSR-9000 (circa 2000). It goes to show that good programming and musicality trumps mere technology! I had more trouble getting the recent “HappyBeat” style to sound decent even though Musicsoft sells this style as “PSR-E443 compatible.” It isn’t just a difference in voicing — the actual harmony sounds off and discordant. I am increasingly disappointed in Musicsoft’s notion of “compatibility.”

I successfully played back the DJX II patterns which I have been converting for PSR. More about this in a future post.

Speaking of DJ patterns, we finally are getting to the E443 functionality that makes it unique in the current arranger product line! There are twenty EDM patterns. I don’t work in the genre, so I’m not really qualified to speak to their currency or quality. However, I do know that EDM styles change with lightning speed! I also know that you cannot load new (user) patterns into the E443. You have to be happy with what Yamaha have provided. Yamaha, even if you continue to keep the internal patterns locked up — a user cannot save or play the patterns to a MIDI file or data stream — please, please, please add the ability to load new patterns. This capability would really enhance the product and create a community of developers around the E4xx series. As Patti Smith said, “This is the era when everyone creates.”

I like the Old Skool and R&B Smooth patterns the best, but that’s just me. Old Skool immediately brings up memories of Grandmaster Flash and “The Message.” Each pattern seems to have an OTS voice (panel voice number 000). The R&B Smooth pattern’s OTS brings up a nice Sweet Flute and Voice Lead layer.

The E443 has 150 arpeggios (musical phrases) for additional instant, real-time fun. The arpeggios track and respond to notes played with the right hand. (BTW, with the main, dual and split voice capability, you can play a left hand bass along with a two-voice layer with your right hand.) Wisely, there are also forty arpeggios voices which automatically bring up a voice and an appropriate arp. This makes it easy to jump into arpeggios without having to do any configuration. Of course, you can change the arp type, voice, etc. to come up with new combinations.

Between the DJ patterns and arpeggios, the E443 approaches the capabilities of the MM6/MM8 “Mini Mo” workstation. The Mini Mo had DSP effects and a smattering of Motif voices, but the E443 has more voice editing and more user style locations — all at a much lower price. If you crave the old MM6/MM8 patterns, they are available through the Yamaha Mobile Music Sequencer (MMS), where Yamaha have re-purposed them. I tried MMS with the E443 and I’m happy to report that you can drive the E443 with MMS on iPad with a little knowledge and consideration of how MMS selects General MIDI voices and drum kits. This is a subject for another day.

The E443 has a pretty decent range of drum kits. Some of the kits have been around the loop once too often and lack punch. When I was experimenting with the DJX II patterns, I noticed that the E443 Dance Kit is the older version of the Dance Kit and has been assigned a different program change number (#113) than the most current kit on the S950. This may be an issue for content creators more so than regular players.

The E443 user interface is a significant refinement of the old PSR-273 era interface. The E443 provides many direct access buttons where you just need to hold a button for a little while in order to be taken to the appropriate editing screen. Further, Yamaha have made it much easier to navigate through the “Function” menu. In the 273 era, one had to repeatedly push the function button to step sequentially through the function menu. With the E443, you navigate through the function menu using the category buttons which do double duty as up and down. Another nice improvement is the transpose button on the front panel. On the 273, I would often skip past the transpose screen and have to circle all the way around the menu. This is a true pain at rehearsals as our music director will often call for a new key right on the spot.

Overall, the E443 is “something old, something new, something borrowed, something blue.” For the street price, it’s hard to find a better value in both sound quality and fun!

Mining the Yamaha DJX II

Update: Follow this link to download a free collection of PSR/Tyros DJX-II styles.

Time to party like it’s 1999!

The Yamaha DJX II was the second generation of Yamaha “DJ” keyboards that were targeted for musicians/producers working in “dance” styles (e.g., tekno, hip-hop, drum’n’bass, etc.) Thus, the DJX II uses loop-like “patterns” as its basic musical element instead of arranger styles. The DJX II is best remembered for its unusual keyboard; Some octaves had white whole note keys while other octaves used grey. That’s because different octaves controlled different functions like selecting a pattern to play or transposing a pattern.

The DJX II had a selection of fairly decent patterns in different dance-oriented genres. Although I’ve never heard a DJX, it’s sound was probably hobbled a little bit by the sound set. The DJX II had only 4MBytes of wave ROM! The internal and external patterns are available for download from the Yamaha support site. Seems like a place to find and mine some useable musical phrases, and naturally, I’m looking for the funk. The target keyboard is the PSR-S950 arranger workstation.

The ZIP files from Yamaha unpack into a bunch of standard MIDI files (SMF). Each SMF contains a group of ten, musically related patterns that form a construction set. The SMF has a small amount of set up information at the beginning: General MIDI reset, reverb type select and chorus type select messages. Each pattern within the SMF begins with a MIDI text marker from “1” to “10”. In order to convert the SMF for the PSR-S950, I changed these markers to arranger style markers (e.g., “Main A,” “Intro A,” etc.) and added “SFF1” and “SInt” markers to the first measure. The new marker name determines the method by which the arranger will play the pattern. More about this in a second.

As I mentioned above, the DJX patterns are assigned to keys such that a single key press plays a particular pattern. The patterns are laid out according to black and white keys as follows:

Pattern  Type  Key color
-------  ----  ---------
1        Main  White
2        Fill  Black
3        Main  White
4        Fill  Black
5        Main  White
6        Main  White
7        Fill  Black
8        Main  White
9        Fill  Black
10       Main  White

Main patterns are on the white keys and fill patterns are on the black keys. Fill patterns are not restricted to one measure; a pattern may be anywhere from 1 to 256 measures in length.

Given these considerations, you may need to be a bit creative when assigning a pattern to an arranger section. Please recall that arranger introduction, ending and main sections may be 1 to 256 measures in length. Fill-in and break sections are limited to one measure. A DJX “fill” pattern may be greater than one measure and cannot always be assigned to an arrange fill-in section. Further, you may not even want to assign the fill pattern this way, preferring to invoke the pattern from one of the section buttons instead. The three introduction buttons (sections) are good destinations for a “fill” pattern because the section acts like a manually controlled fill button. The arranger will play the fill pattern (introduction) and then automatically proceed to the selected main section.

Patterns assigned to arranger ending sections are a little problematic. An arranger ending will stop playback unless another section is selected. You’ll need to fast finger the arranger buttons when jamming.

Even though this seems complicated, it’s not really. The more difficult and time-consuming part is dealing with the drum sets and note mappings.

First, some background is needed. The DJX channel layout is very different than the arranger channel layout. Here is the layout for the 53_Soul pattern file, which is typical of all DJX II SMFs:

Channel  DJX PC#     DJX voice         S950 voice/kit
-------  ----------  ------------      --------------
9        126   0  3  BD Kit        --> Real Drums
10       126   0  4  SD Kit        --> Real Drums
11       126   0  1  B900 Kit      --> Hip Hop Kit
12       127   0  5  Analog Kit1   --> Analog Kit
13       0   112 34  Pick Bass     --> Pick Bass
14       0     0  1  Bright Piano  --> Bright Piano
15       0   112 17  Jazz Organ    --> Organ
16       0   113 27  60's Clean    --> Tremolo Guitar

Channels 9 to 12 are rhythm, channel 13 is bass, and channels 14 to 16 are phrases. By (un)convention, channel 9 is bass drum, channel 10 is snare drum, channel 11 is high hat and channel 12 is percussion. Channels 9 to 12 must be set up as drum parts:

F0 43 10 4C 08 08 07 01 F7
F0 43 10 4C 08 09 07 01 F7
F0 43 10 4C 08 0A 07 01 F7
F0 43 10 4C 08 0B 07 01 F7

These System Exclusive (SysEx) messages must be added to the initialization part of the SMF in order to select different drum kits independently under XG.

You’ll need to choose new drum kits for the rhythm channels since the DJX II has its own unique, non-standard kits. This part is totally creative. Who’s to say what the new style should sound like? If it moves your booty, then it’s a winner! Fortunately, the bass drum, snare drum and hi-hat channels seem to use these drum instruments exclusively. This narrows the re-mapping problem. I remapped the kick first just to get a listenable groove going and then tackled the snare followed by the hi-hat. The following chart lists the DJX II drum kits and the roughly equivalent S950 drum kit.

DJX II drum kit           S950 drum kit
------------------------  ------------------------
127 0  5 Analog Kit1      127 0  25 AnalogKit
                          126 0   8 AnalogSet     [GM]
127 0  8 Analog Kit2      127 0  58 AnalogT8Kit   [Major update]
127 0 10 Analog Kit3      127 0  59 AnalogT9Kit   [Major update]
127 0 13 Analog Kit1D     127 0  58 AnalogT8Kit   [Distorted version]
127 0 14 Analog Kit2D     127 0  59 AnalogT9Kit   [Distorted version]
127 0 12 RhBox Kit
127 0  9 Hard Kit
127 0 11 Break Kit        127 0  57 BreakKit
127 0  6 Dance Kit        127 0  27 DanceKit      [Major update]
127 0  4 Electronic Kit1  127 0  24 ElectroKit
                          126 0   3 ElectronicSet [GM]

126 0  0 Electronic Kit2
126 0  1 B900 Kit
126 0  2 DJX Kit                  HipHopKit?
126 0  3 BD Kit
126 0  4 SD Kit
126 0  5 HH Kit
126 0  6 Human Kit        
126 0  7 Scratch Kit

127 0  0 Standard Kit1    127 0  0 Standard Kit1  [Legacy]
127 0  1 Standard Kit2    127 0  1 Standard Kit2  [Legacy]
127 0  2 Room Kit         127 0  8 RoomKit
                          126 0  1 RoomSet        [GM]
127 0  3 Rock Kit         127 0 16 RockKit        [Legacy]
127 0  3 Rock Kit         127 0 90 RockKit2
127 0  7 Jazz Kit         127 0 32 JazzKit
                          126 0 35 JazzSet        [GM]

The DJX-specific kits (BD kit, SD kit, B900 kit, etc.) do not remotely follow General MIDI-ish conventions. It takes a lot of note mapping to get these drum patterns to play sensibly. I recommend playing back the SMF from a DAW (like Sonar) while tweaking the SMF. Do not attempt note remapping on the arranger — you’ll only drive yourself crazy!

Chord progressions are part of the patterns, so the melody/chord phrases need to be transposed like introductions and endings. Please review Note Transposition Rules (NTR) and Note Transposition Tables (NTT) before forging ahead. Since the channel layout is unconventional, the CASM information must be changed to be consistent with the MIDI channel data. Channels 9 to 12 are configured for rhythm NTT/NTR (root fixed, bypass) and the Channels 13 to 16 are configured for intro/ending NTT/NTR (root transpose, bypass). The chord root must be changed to match the phrases (53_Soul: Fm7, 59_ClubFunk: Dm7). You’ll need to identify the root (the musical key) either by ear or by analyzing the chord harmony.

Tool-wise, I did most of the editing in Sonar X3. I used Jørgen Sørensen’s CASM editor ( http://www.jososoft.dk/yamaha ) to create the CASM section for the style and to change the NTR, NTT and chord root information. Special thanks go to Jørgen for creating such great and helpful tools!

Oh, yeah, the final results. Here is a link to the ZIP file containing the 53_Soul and 59_ClubFunk styles. Enjoy!