ChordPro auto-accompaniment

Before we close out the year, a Christmas gift!

Last January, I developed and wrote about “cp2mid“, a Java program to convert extended ChordPro files to a Yamaha accompaniment MIDI files. cp2mid lets someone compose in extended ChordPro format and play the composition on a Yamaha arranger in an auto-accompaniment style of your own choosing. If you don’t feel like composing, just grab one of the many ChordPro songs on the Web, clean it up, translate it, and play it.

You’ve probably seen ChordPro on the interwebs. It looks like:

# A simple ChordPro example 

{title: God Rest Ye, Merry Gentlemen}

God [Cm] rest ye merry, [Cm] gentlemen,
Let [Ab] nothing you dis[G7]may.
Re [Cm] member, Christ our [Cm] Savior
Was [Ab] born on Christmas [G7] day.

Extended ChordPro adds a few new directives (the things between curly braces) and tightens up the notion of musical time in order to mark measures and place chord changes within measures.

cp2mid translates the chords and lyrics into a Standard MIDI File (SMF). The SMF contains all the magic needed to play an auto-accompaniment on a supporting Yamaha arranger keyboard. (PSR E series, unfortunately, is out of luck.)

If you would like more information, here are some links to dive into:

The first three posts are essential reading for cp2mid users. The last two posts are intended for coders and other technically inclined folks.

Oh, yeah, you’ll need the ZIP file with example songs and cp2mid Java code.

Copyright © 2022 Paul J. Drongowski

V3 Sound YAMMEX: Progress report

Here’s a quick update on my progress with the V3 Sound YAMMEX XXL sound module.

The V3 Sound XXL series are very compact, light-weight MIDI sound modules based on the Dream S.A.S. SAM5716B synthesis engine. The YAMMEX and its sister, the V3 Sound Grand Piano XXL, have hundreds of high quality voices — 3GBytes of factory samples in a 4GByte waveform memory. The modules also provide two multi-effect (MFX) pipelines which enrich the sound.

V3 Sound YAMMEX XXL expansion module

The XXL modules do not have a built-in user interface (UI) having no display or buttons for selecting voices. All sounds and effects are selected through the MIDI and USB-A ports. V3 Sound provide the tablet-based V3 Sound Control app and two comprehensive MIDI Designer UI templates. The V3 Sound Control app, unfortunately, does not support the YAMMEX. V3 Sound considers the YAMMEX as a Genos/PSR expansion only and expect users to control YAMMEX through a set of predefined voice (VCE) files and the normal Genos/PSR voice selection process.

Well, those VCE files do send MIDI Bank Select MSB, Bank Select LSB and Program Change messages. I can now assure you that these messages are enough to select YAMMEX voices even if you are not using a Genos or PSR.

Yamaha MODX Zone Master works quite well. You need to build MODX Performances consisting of external MIDI zones. Thanks to Zone Master you can select, split and layer YAMMEX voices. The trick is to assign a separate YAMMEX voice to each MIDI channel and use Zone Master channel and note ranges to affect splits and layers.

I have also successfully used the Arturia Keylab Essential with YAMMEX. It took only 15 minutes work to make a control template using Arturia’s MIDI Control Center application. I assigned eight of my favorite YAMMEX voices to the eight Keylab pads and assigned the most common MIDI continuous controllers to the knobs and sliders.

Both of these scenarios are dirt-simple involving a direct 5-pin MIDI connection. Unfortunately, Keylab Essential by itself cannot do splits and layers over 5-pin MIDI. Keylab Essential does not provide the functional equivalent of Zone Master. Keylab Essential can send on only one MIDI channel at a time and doesn’t implement the concept of key ranges (zones). Keylab Essential also restricts the number of selectable voices to what you can programmed into its key pads.

All is not lost, however, as MIDI Designer once again comes to the rescue. First, you need to make connections:

                                 iPad 
|
Keyboard controller --> iRig MIDI --> YAMMEX

The keyboard controller sends MIDI over a 5-pin cable to the iPad which, in turn, sends MIDI to the YAMMEX over a second 5-pin cable. Bonus: I successfully tested Bluetooth MIDI input from Korg Microkey Air. The iPad acts as a Bluetooth wireless interface to YAMMEX.

The iPad runs two applications: StreamByter and MIDI Designer:

    MIDI IN --> StreamByter --> MIDI Designer --> MIDI OUT

Incoming note messages are passed THRU StreamByter and MIDI Designer. StreamByter remaps (rechannelizes) the MIDI notes to three zones/streams:

    Channel 1: UPPER1 
Channel 2: UPPER2
Channel 4: LOWER

UPPER1 and UPPER2 form a two-voice layer above the split point. LOWER is a solo left-hand voice below the split point. I borrowed this simple zone structure from the Casio CT-S1000V. It’s intuitive and is quite powerful even in its simplicity.

StreamByter maps and mangles MIDI data according to user-defined rules. The rules are rather cryptic, so I refer you to the StreamByter documentation. Currently, I am using the following rules to split/layer:

    NX 00-3A = X3 
NX 3A-7F = X0
NX 3A-7F = X1 +C

Yes, the UPPER and LOWER zones have a one note overlap. I’m still experimenting and may make the overlap larger, if a bigger overlap is useful. I don’t like abrupt breaks between upper and lower zones.

Well, the rest of the work is done by MIDI Designer and my YAMMEX control template. The V3 Sound templates struck me as too complicated — the main reason why I went with “the Casio voice structure” and my own template. Here is the first prototype, work-in-progress template:

MIDI Designer template for YAMMEX (work in progress)

There are eight radio buttons to select the UPPER1, UPPER2, and LOWER voices. [Well, I need to add three more voices to LOWER, as you can see.] These are my favorite YAMMEX voices and they will let me build my most frequently used combinations. Knobs set the voice and reverb level for each zone.

The MFX controls do not function correctly at this time. I seem to be missing some magic; YAMMEX is not responding to the MIDI messages sent by the template even though the V3 Sound “factory” template sends the same darned messages! At this point, I need to ask V3 Sound for advice.

All in all, things are coming along — many successes, a few failures. That’s to be expected at this stage!

Copyright © 2022 Paul J. Drongowski


In the house: V3 Sound YAMMEX XXL

Thought I would post a quick note about the new unit under test — the V3 Sound YAMMEX XXL tone module. The YAMMEX is a member of the V3 Sound XXL family of tone modules. They all share the same triangular shape and are light as a feather:

V3 Sound YAMMEX XXL expansion tone module

The lump-in-the-middle power supply is roughly the same weight!

You might have seen and heard Piano Man Chuck demonstrate the V3 Sound Grand Piano XXL module. [Piano Man Chuck is a V3 Sound dealer, BTW.] Well, the YAMMEX has the same sound set as the Grand Piano XXL. The main differences are:

  • The MIDI bank and program change layouts are different: Grand Piano XXL for general use as an expander, YAMMEX XXL as a Genos/PSR expander.
  • Grand Piano XXL is supported by the V3 Sound Control app; the YAMMEX XXL is not.
  • Grand Piano XXL is supported by two different MIDI Designer templates; the YAMMEX is not.
  • YAMMEX XXL voices are selected using custom Genos/PSR user voices.

YAMMEX XXL arrives from the factory with a USB flash drive containing the custom user voices (VCE files) needed to select voices through Genos/PSR. It’s all described in the YAMMEX XXL manual. [Henceforth, “Yammex” means “YAMMEX XXL”.]

I found a Yammex on ebay at a price that was impossible to refuse. It would be a shame to confine Yammex to Genos duty alone, so I studied the heck out of its MIDI implementation. I also examined the VCE files available from the V3 Sound Web site. Hmmm, looks like it’s a simple matter of uttering the appropriate Bank Select MSB, Bank Select LSB and Program Change messages. We can do that!

An inquiry to V3 Sound about compatibility was answered quickly, but implied that Yammex was only for Genos/MIDI. If you know MIDI and your controller’s capabilities, and if you don’t mind a little work, Yammex definitely can do more than Genos/PSR.

I was sorely tempted by the V3 Sound XXL series because it is based on the Dream S.A.S. SAM5716B synthesis chip. After hearing the SAM2635 and its GM/GS sound set, I wanted to hear what a high-end Dream chip could do with 3GBytes of professionally produced instrument samples. Cut to the chase, V3 Sound do not disappoint especially at the price I paid.

Jeff’s Music Gear is Sweetwater!

The box arrives. I open the shipping carton and what the? The Yammex box is in fine shape, but is covered in round “Demo” labels. I instantly smell “Sweetwater”. And there’s candy, and a Sweetwater “Thank You” card. The ebay seller is Jeff’s Music Gear. After a Google, I discover that Jeff’s Music Gear is Sweetwater’s ebay consignment shop! Nice to know that I was in good hands all along.

OK, then, plug everything up using Yamaha MODX as a controller. (See my article about Yamaha MODX Zone Master.) Ooops, no flashing MIDI light and no sound. I’m already composing a message to Jeff’s when I remember this note in the Yammex manual:

No sound? The YAMMEX XXL sound expander only creates a tone when you call up a sound from the V3 folder in your keyboard’s display. Just connecting it to your keyboard is not enough.

They aren’t kidding! I select a voice through the MODX Zone Master screen and suddenly the MIDI light starts flashing and Yammex starts talking. Delete the message to Jeff’s.

One other note from the manual is helpful during bring up:

Testing MIDI connections and settings. After connecting your MIDI cable and making sure your MIDI settings are correct, select a V3 User Voice. The MIDI LED on the YAMMEX XXL should now blink with every keystroke.

I find this behavior to be a dubious design decision. The purpose of a MIDI light is to indicate MIDI reception under any condition. While troubleshooting, I connected the Yammex THRU port to MIDI-OX on a PC and verified MIDI operation. Most of V3 customers will not be that savvy…

I’ve just begun auditioning sounds and already I’m pleased. I like and prefer the Bösendorfer Imperial 290 (Vienna) over the Steinway Model D (Hamburg). I fell in love with Bösendorfer when I first touched one in 1980. The electric pianos are good although too clean and polite. The organ samples are damned good. There are two flavors: No Leslie and Leslie sampled in. Sans-Leslie voices are meant to be dirtied up by an external pedal. I’ll try the Electro-Harmonix Lester K for spin and throw some overdrive on the EPs, too.

I like the Oberheim pads — another love. The classical strings are solid. That’s as far as I’ve gotten into the sound set. I’m looking forward to hearing the rest.

As to the supplied USB flash drive, the previous customer zorched the factory VCE files. I found an X6A file instead which I recognize as a Yamaha MOXF dump file. I guess the previous customer tried Yammex with MOXF and was disappointed. Fortunately, V3 Sound provide the Genos/PSR VCE files on their Web site. The supplied drive is only 64MB. [Not really a complaint.]

Experiments to come? Once I get my faves down to 8, 16 voices or so, I’ll configure the Arturia Keylab Essential. The extra knobs and sliders will come in handy. Also, I will whip up a simplified MIDI Designer template for the Yammex. The existing templates are comprehensive — yet overwhelming. I’m thinking about a UI similar to Korg Module. Those Korg folks are definitely on to something. Simplicity is king. MIDI Designer (with StreamByter) on iPad should give me splits and layers — maybe even a wireless Bluetooth interface to Yammex? Finally, Dream multi-FX.

Copyright © 2022 Paul J. Drongowski

“P” is for “piano”: Yamaha P-S500 digital piano

While we’re distracted with “CK”, “AN”, and whatnot, Yamaha sneaks out a new P-series digital piano in Europe: the Yamaha P-S500.

Natch, you can read all about the P-S500 at Yamaha’s European web site. Physically, it’s a minimalist slab that’s designed primarily for the home or small studio market segments. Cost is about 2,100 Euro and I would expect it to retail for about $2000 USD in the States.

Yamaha P-S500 digital piano

Basic features [courtesy of Yamaha] are:

  • Compatible with Smart Pianist app installed to a smart device
  • Stream Lights feature helps you perform even if you can’t read music notation
  • Enjoy playing along with the 403 preset Songs, covering a wide range of genres from pop music to classical music
  • Audio To Score function converts your favorite audio songs into piano accompaniment scores
  • Authentic Yamaha CFX & Bösendorfer Imperial concert grand piano Voices
  • Virtual Resonance Modeling (VRM)
  • 88-note weighted GHS keyboard
  • Huge variety of 660 high-quality instrument Voices, including Super Articulation Voices
  • Built-in Auto Accompaniment features with 370 Styles
  • Microphone input and automatic Vocal Harmony

Auto-accompaniment, styles, Super Articulation voices? We’ve seen these features in the DGX series, notably, the most recent DGX-670 model. The table below compares the P-S500 against the DGX-670. The DGX-670, by the way, goes for considerably less dough: $850 USD.

                DGX-670           P-S500 
----------------- ---------------------------------
Main piano: Yamaha CFX CFX, Bösendorfer Imperial
VRM: Yes Yes
Key-off sound: Yes Yes
Action: GHS GHS
Piano Room: Yes Yes
PB wheel: Yes No
Dual/layer: Yes Yes
Split: Yes Yes
USB audio: Play/record Play/record
Bluetooth: Yes Not built-in (optional)
Amplification: 2 x 6W 2 x (20W + 6W)
Speakers: 2 x (12cm + 5cm) 2 x (12cm x 6cm oval+2.5cm dome)
Display: 480x272 color 80x16 mono LCD
Weight 47.2 pounds 48.1 pounds

Here’s the decoder ring for Yamaha acronyms: Virtual Resonance Modeling (VRM), Graded Hammer Standard (GHS), Super Articulation (SA), Cool (velocity switched), Live (stereo), Organ Flute (drawbar organ).

The P-S500 looks to be the upscale, uptown sibling of the DGX-670. At 48 pounds, I don’t think you’ll want to schlep the P-S500 out of the house very often. In terms of styles and voices, the P-S500 is superior:

                          DGX-670  P-S500 
------- ------
Total voices 601 660
VRM voices 9 13
SA voices 49 111
Natural voices 11 25
Sweet voices 26 27
Cool voices 53 47
Live voices 68 58
Organ Flute voices 0 29
Total styles 263 370
Pro styles 215 328
Session styles 19 25
Free Play styles 0 3
Pianist styles 29 13
Drum Kits 29 29

The P-S500 factory voice set includes many of my favorites. If you’re looking for a more than decent, mid-level keyboard with auto-accompaniment and a graded hammer keyboard, the P-S500 is worth a look. Versus a mid-level arranger keyboard, you’re still giving up a pitch bend wheel, multi-pads, style control buttons, MIDI record/edit, etc. If you just want to play and have a good piano experience, I’d go with the P-S500 in a heartbeat. (The DGX-670 is no slouch, either.)

There are many other differences that I’ve glossed over. So, if you’re trying to decide between DGX-670, an arranger or the P-S500, be sure to dig into the manuals and data list files. Yamaha doesn’t always make it easy to compare, especially as to your specific musical goals and use cases.

One enormous difference needs to be emphasized, however. The P-S500 front panel is utterly minimalist. If you want to exploit the P-S500 to its fullest, you must use the P-S500 with the Yamaha Smart Pianist app on a tablet (Apple or Android). In this respect, the P-S500 is more like the CSP series of digital pianos for the home. It’s like a CSP without the furniture. The CSP models have enhanced GH3X or NWX keybeds which improve the piano playing experience. Given that the Smart Pianist is almost a necessity, it’s kind of weird (cheap) to omit built-in Bluetooth.

Yamaha are certainly giving us choices!

A final, electronics nerd comment. While studying the internal design of current arranger, synth and digital piano products, the designs often seem like a deconstructed tablet connected to a keybed, tone generator and MIDI/USB interface. The digital electronics are remarkably similar. With the P-S500 and the CSP series, it’s like Yamaha said “Aw, the heck with it” and moved functionality out of the piano (arranger, synth) chassis into a stock, commercial tablet like iPad or Google Pixel tablet. I don’t think we have seen the end of this approach to instrument design…

Other reviews and comments about digital pianos:

Copyright © 2022 Paul J. Drongowski

Out Of The Shadows

I’ve been working on backing and lead instruments for the classic Del Shannon song “Keep Searchin'”.

Yamaha Genos™ is made for this tune. First off, its “ShadowedPop” style is the perfect fit for that old 1950s rock’n’roll vibe. It has just the right amount of swing and attitude.

Next, Genos has very good electric guitars for lead. Want clean Tele or Strat? Genos has them. Genos also has a suite of effects to obtain a complete, authentic guitar tone.

Yamaha arranger styles have “One Touch Settings” which are mini-registrations. Hit an OTS button and Genos will both change song section and bring up an appropriate voice. The Genos “ShadowedPop” style has two OTS mini-registrations that are worth deconstructing to see how the Yamaha sound designers got their Shadows guitar tone: “60sShadowLead” and “ShadowedGuitar”.

Of course, the “shadow” in all of these voice and style names refer to Hank Marvin and The Shadows — one of, or perhaps, THE iconic 1950’s guitar band and sound. The Shadows’ treatment felt absolutely right for the Del Shannon cover. Hank Marvin was perhaps the first English artist to pick up a Fender Strat, usually putting it through a Vox amp.

The PSR “ShadowedGuitar” voice goes back four or five years and is a standard factory preset. If your Yamaha arranger does not have “ShadowedGuitar”, choose a clean, 1960’s vintage guitar preset voice. Change the insert effect to Tempo Echo and set the insert effect send level to 30. Change the effect parameters to:

 Param#  Parameter name       Value 
------ ------------------- ------
1 Delay Time 8th
2 Feedback Level +28
3 Feedback High Damp 1.0
4 L/R Diffusion +14ms
5 Lag 0ms
10 Dry/Wet D34>W
13 EQ Low Frequency 500Hz
14 EQ Low Gain 0dB
15 EQ High Frequency 4.0kHz
16 EQ High Gain 0dB

Reverb is a big part of the 50’s vibe and you’ll need gobs of it on the guitar. Select a hall reverb and set the reverb send level to at least 50. If your arranger has it, I recommend the “Real Medium Hall+” preset. It’s one of Yamaha’s best reverbs, in my opinion.

Only Genos has the “60sShadowLead” voice voice. Fortunately, it’s easy to add a close sound-alike to your instrument. Start with “ShadowedGuitar” or a clean, 1960’s vintage guitar preset. Get into the mixer (or DSP effect page) and change the insert effect to Multi FX Vintage Echo and set the insert effect send level to 127 (if necessary). Then change the effect parameters to:

 Param#  Parameter name       Value 
------ ------------------- ------
1 Comp Sustain 2.9
2 Wah Switch Off
3 Wah Pedal 0
4 Dist Switch Clean
5 Dist Drive 5.0
6 Dist EQ Mid Boost
7 Dist Tone 3.5
8 Dist Presence 4.3
9 Output 110
11 Speaker Type Twin
12 LFO Speed 2.103Hz
13 Phaser Switch Off
14 Delay Switch Delay St
15 Delay Control 60
16 Delay Time 33

We met the Multi FX algorithm once before. This algorithm is like a virtual guitar pedal board:

Compressor -->  Wah --> Distortion --> Phaser --> Delay --> Spkr Sim 

The above parameter values dial in The Shadows’ guitar tone.

You’ll need gobs of reverb, again, to complete the scene. Choose the “Real Medium Hall+” preset and set the reverb send to at least 40.

The “60sShadowLead” OTS also configures the chorus system effect. Having listened to the overall tone with and without chorus, this step is optional. (Possibly some other style part may be affected by this change or a change to any other system-level effect including reverb.) Change the chorus type to “Celeste 1” and set the chorus send level to 12. 12 is not especially high, so you can see why this last step is optional; it’s just a little sweetener.

You might consider changing the chorus effect to tremolo (e.g., “E-Piano Tremolo”). Guitarists in the 50s and 60s didn’t have guitar pedals. (Sorry, Edge.) So, folks relied on guitar amp spring reverb and tremolo (often mislabeled “vibrato”) to get space-y effects. I still have the sound of an Ampeg Gemini going through my head. 😎

Select the “E-Piano Tremolo” effect preset, increase the AM Depth to max, and set the chorus send level to 127:

 Param#  Parameter name       Value 
------ ------------------- ------
1 LFO Frequency 5.38Hz
2 AM Depth 127
3 PM Depth 0
6 EQ Low Frequency 500Hz
7 EQ Low Gain 0dB
8 EQ High Frequency 4.0kHz
9 EQ High Gain 0dB
11 EQ Mid Frequency 2.0kHz
12 EQ Mid Gain 0.0dB
13 EQ Mid Width 1.0
14 LFO Phase Difference +39deg
15 Input Mode Mono
Return Level 127

You’re looking for that deep, “Spaghetti Western”, Ennio Morricone effect. Play the lead line an octave down. Have fun!

The EQ parameters in the tremolo algorithm make this a good guitar tone mangler — swept mid EQ with Q (width)! Mid boost or cut is right at hand.

Here are short demos (MP3) on Genos with tremolo and without tremolo. Yamaha Montage and MODX have the same effect algorithms, so you should be able to apply the same techniques on those instruments, too.

Links to a few other posts about chasing tone on Yamaha gear:

Copyright © 2022 Paul J. Drongowski

STEP EDIT → Chord Looper

Yamaha Genos and PSR-SX900 arranger workstations have a feature called “Chord Looper”. Chord Looper records your left hand chords and saves them in a memory slot. (8 slots per Chord Looper bank.) Once recorded and saved, you can play back the chord progression and play over the changes. Neat.

Obviously, one way to enter a chord progression is to play it in. Let’s say, that the chord progression is long and has jazz chords like the Coltrane changes (AKA “Giant Steps”). These changes are notoriously difficult to solo over because the changes come fast, furious, and in three different scales! On top of musical difficulty, Chord Looper does not allow edits. Make a mistake and you need to record the entire sequence over again. So, folks are looking for ways to create and edit Chord Looper progressions.

Chord Looper CLD files

Fortunately, Chord Looper let’s you import and export individual chord progressions (i.e., a slot). Chord Looper exports a progression into a file with the CLD extension. Henceforth, I will call these files “CLD files”.

A CLD file is actually a Type 0 Standard MIDI File (SMF) in disguise. You can examine (or possibly edit/create) a CLD file by renaming the extension to “MID”. Once renamed, conventional software tools (Cubase, SONAR, etc.) will recognize the renamed CLD file as a Type 0 SMF and import it.

A CLD file recorded by Chord Looper is very simple inside. It contains a sequence of Yamaha XF chord events, one event for each chord change. Here are the metadata events for a simple progression (C-Am-F-G) played in by hand:

Chord Symbol   1.1.1.0     Metadata    Chord:  C/C 
Chord Symbol 1.4.4.112 Metadata Chord: Am/A
Chord Symbol 3.1.1.34 Metadata Chord: F/F
Chord Symbol 4.1.1.40 Metadata Chord: G/G

Each event specifies the chord root, chord type and alternate root bass. That’s it! A CLD file does not contain any other kind of event (notes, controller, time signature, tempo, etc.)

Each chord is a Yamaha XF Metadata chord event. The event time is the time of the chord event, i.e., when the player changed the chord and Genos recognized the chord. In the example above, the chord was changed at the beginning of each measure (sometimes a little early, sometimes a little late).

Chord STEP EDIT to CLD

Folks on the PSR Tutorial Forum have found a few ways of creating CLD files using existing software tools. Flip over to the forums and check out some of the Chord Looper threads.

Here’s a new method!

Yamaha arrangers have long supported a basic MIDI sequencer and editor. Like many software editors, the Yamaha sequencer supports step edit, letting you enter notes, control events, etc. with precise timing. One better, the Yamaha sequencer supports Chord STEP EDIT through which one can easily enter a chord sequence from a lead sheet into a separate chord track.

Thus, it’s possible to enter a chord progression easily using STEP EDIT and save the progression in a Type 0 Standard MIDI File. Initially, the progression is stored in a special part (Cds chunk) within the SMF. DAWs and so forth ignore the special proprietary data and typically delete it when writing the file back to MIDI. This kind of Chord STEP EDIT data does not contain the Yamaha XF chord events needed by Chord Looper. If you import one of these files into Chord Looper, Chord Looper comes up empty.

Once you EXPAND the step edit chord sequence, however, the expansion process creates Yamaha XF chord metadata events along with the notes and other MIDI events for the accompaniment parts. That’s the normal compositional process anyway — step edit the chord part, expand the chord part using the selected style, and save the expanded file as a Standard MIDI File.

One fly in the ointment. The Yamaha arranger software hides file extensions. This streamlines user workflow, but it inhibits interesting experiments! So, save the expanded MIDI file to a USB flash drive, take the flash drive to a personal computer, and rename the expanded SMF. Replace the “MID” extension with “CLD”. Copy the CLD file to the flash drive and reinsert the flash drive in the arranger workstation.

Import the newly renamed CLD file into Chord Looper. Voila! Chord Looper scans the file and produces a chord progression using the embedded Yamaha XF chord events. If you export the progression as a different CLD file, the exported data includes all of the other MIDI data, e.g., notes, etc. [I wouldn’t count on Chord Looper always doing this; software subject to change by Yamaha.)

Bottom line: If you pine to create and edit Chord Looper progressions with precision, use Chord STEP EDIT to create the progression, expand the backing, save as a Standard MIDI File, replace the file extension with CLD, and import into Chord Looper. Of course, you need to rename the MID file to a CLD file using a personal computer, but that’s a small hassle. Give it a try!

I tested this procedure on Genos with the Coltrane changes. Once the progression was captured in Chord Looper, I could try different tempos and different styles. Those changes do come fast and furious indeed!

Copyright © 2022 Paul J. Drongowski

Casio CT-S1000V: Master EQ

Beware, this post is going to bury you in numbers. 🙂

I’ve been investigating master equalization in the Casio CT-S1000V. The CT-S500 has the same master EQ, so everything discussed here applies to the CT-S500, too.

The CT-S1000V master EQ is a four band, semi-parameteric equalizer. The four bands are: LOW, MID1, MID2, and HIGH. It’s possible to create and store a USER setting. The edit page let’s you set the center frequency and gain for each of the four bands. You cannot set the band quality factor, Q, which determines the bandwidth spread.

The CT-S1000V provides ten master EQ presets with suggestive names. Casio, unfortunately, do not publish the center frequencies and gains for the presets. Listening to each preset, one thinks “Yeah, that’s bright,” or whatever. Details are missing in action, however.

One can assign LOW, MID1, MID2, and HIGH gain levels to a knob. Thanks to the knob edit function, it’s possible to suss out the gain level for each band within a preset. After much button pushing and knob twiddling, here are the gain levels (dB) for each preset:

                LOW  MID1  MID2  HIGH 
--- ---- ---- ----
Standard 0 0 0 0
Loudness +3 +6 +1 +7
Treble + 0 0 +4 +6
Bass + +3 +4 0 0
Mellow -3 0 0 -8
Bright -4 0 +6 +4
Rock +3 +2 -6 +6
Jazz +3 0 +6 0
Dance +3 +4 +2 +8
Classic -2 +6 +2 0

As to the band frequencies, we turn to the published table of master EQ frequencies:

    LOW frequency range      50Hz to 800Hz 
MID1 frequency range 100Hz to 8.0kHz
MID2 frequency range 100Hz to 8.0kHz
HIGH frequency range 2.0kHz to 16.0kHz

That’s enough to get into the right ballpark.

Yamaha XG Multi EQ

Never content, I worked out a table for Yamaha XG Multi EQ. Multi EQ is an optional master EQ in the Yamaha XG effects chain. Multi EQ is fully parameteric and has five bands: LOW, LOW-MID, MID, HIGH-MID, and HIGH. The LOW and HIGH bands support a peak mode, but are usually configured for shelving.

Multi EQ has five presets: Flat, Jazz, Pops, Rock and Concert (AKA “Classic”).

           Flat          Jazz            Pops          Rock          Concert 
------------- ------------- ------------- ------------- -------------
Freq Q dB Freq Q dB Freq Q dB Freq Q dB Freq Q dB
------------- ------------- ------------- ------------- -------------
Low 80Hz 0 50Hz -6 125Hz +4 125Hz +7 80Hz +3
L-mid 500Hz 0.7 0 125Hz 0.3 +2 315Hz 2.0 -4 200Hz 0.7 +4 315Hz 0.7 +4
Mid 1.0kHz 0.7 0 900Hz 0.3 +4 1.0kHz 0.7 +3 1.2kHz 0.5 -4 1.0kHz 0.5 0
H-mid 4.0kHz 0.7 0 3.2kHz 0.5 -4 2.0kHz 2.0 -4 2.2kHz 1.0 +4 6.3kHz 0.7 +2
High 8.0kHz 0 6.3kHz -6 5.0kHz +6 6.3kHz +2 8.0kHz -3

None of the Q’s are high, so the peaks/curves are rather gentle. [I wish there was an easy way to plot the curves for each preset.]

Of course, you can plug these settings into the CT-S1000V and merrily tweak away.

Yamaha Genos Master EQ

The Yamaha Genos™ Master EQ is an eight band, parametric equalizer. The Low and High bands are shelving.

Yamaha Genos provides five presets: Flat, Mellow, Bright, Loudness and Powerful:

           Flat          Mellow         Bright        Loudness       Powerful 
------------- ------------- ------------- ------------- -------------
Freq Q dB Freq Q dB Freq Q dB Freq Q dB Freq Q dB
------------- ------------- ------------- ------------- -------------
Low 80Hz 0 80Hz 0 100Hz 0 100Hz +1 140Hz +3
1 250Hz 0.7 0 250Hz 0.7 0 250Hz 0.7 -1 250Hz 1.2 +1 315Hz 0.5 +2
2 500Hz 0.7 0 500Hz 0.7 0 500Hz 0.7 -1 450Hz 1.0 -2 560Hz 1.5 +2
3 630Hz 0.7 0 800Hz 1.0 +1 800Hz 0.7 -2 630Hz 0.5 -1 800Hz 0.5 +2
4 800Hz 0.7 0 1.8kHz 0.5 -1 1.0kHz 0.7 0 1.0kHz 1.3 0 1.6kHz 1.2 +1
5 1.0kHz 0.7 0 3.6kHz 1.0 -2 1.6kHz 1.7 +2 3.6kHz 1.0 +1 3.6kHz 1.6 +1
6 4.0kHz 0.7 0 6.3kHz 1.3 -2 4.0kHz 0.7 +1 6.3kHz 0.8 +1 5.6kHz 1.4 +2
High 8.0kHz 0 9.0kHz -1 7.0kHz +3 8.0kHz +2 10.0kHz +2

The settings match the names. Mellow knocks down the highs. Bright cuts the lows and boosts the highs. Loudness is a bathtub boosting both lows and highs. Powerful kicks all bands up a notch.

If I find a way to discover the CT-S1000V band frequencies, I will update its table. In the meantime, have fun!

Copyright © 2022 Paul J. Drongowski

Ye olde Yamaha Dance Kit

Ya learn somethin’ every day. Thanks for to Mark — my neighborhood to the north in Vancouver — who looped me in.

As one might expect, Yamaha have updated their drum kit samples over the years. Who knew — the DanceKit circa 2000 is more heavy, punchy and analog than present-day DanceKit. According to Mark (and Musicnik), the Standard Kit had more punch back in the day.

The table below summaries the instruments in the Yamaha Standard Kit and Dance Kit:

                    Standard Kit      Dance Kit 
Keyboard MIDI 127/000/001 127/000/28
-------- -------- ---------------- ---------------
40 E 1 28 E 0 Brush Tap Swirl Reverse Cymbal *
41 F 1 29 F 0 Snare Roll Snare Roll
42 F# 1 30 F# 0 Castanet Hi Q 2 *
43 G 1 31 G 0 Snare Soft Snare Techno *
44 G# 1 32 G# 0 Sticks Sticks
45 A 1 33 A 0 Bass Drum Soft Kick Techno Q *
46 A# 1 34 A# 0 Open Rim Shot Rim Gate *
47 B 1 35 B 0 Bass Drum Hard Kick Techno L *
48 C 2 36 C 1 Bass Drum Kick Techno 2 *
49 C# 2 37 C# 1 Side Stick Side Stick Analog *
50 D 2 38 D 1 Snare Snare Clap *
51 D# 2 39 D# 1 Hand Clap Hand Clap
52 E 2 40 E 1 Snare Tight Snare Dry *
53 F 2 41 F 1 Floor Tom L Tom Analog 1 *
54 F# 2 42 F# 1 Hi-Hat Closed Hi-Hat Close Analog 1 *
55 G 2 43 G 1 Floor Tom H Tom Analog 2 *
56 G# 2 44 G# 1 Hi-Hat Pedal Hi-Hat Close Analog 2 *
57 A 2 45 A 1 Low Tom Tom Analog 3 *
58 A# 2 46 A# 1 Hi-Hat Open Hi-Hat Open Analog *
59 B 2 47 B 1 Mid Tom L Tom Analog 4 *
60 C 3 48 C 2 Mid Tom H Tom Analog 5 *
61 C# 3 49 C# 2 Crash Cymbal 1 Cymbal Analog *
62 D 3 50 D 2 High Tom Tom Analog 6 *
63 D# 3 51 D# 2 Ride Cymbal 1 Ride Cymbal 1
64 E 3 52 E 2 Chinese Cymbal Chinese Cymbal
65 F 3 53 F 2 Ride Cymbal Cup Ride Cymbal Cup
66 F# 3 54 F# 2 Tambourine Tambourine
67 G 3 55 G 2 Splash Cymbal Splash Cymbal
68 G# 3 56 G# 2 Cowbell Cowbell Analog *
69 A 3 57 A 2 Crash Cymbal 2 Crash Cymbal 2
70 A# 3 58 A# 2 Vibraslap Vibraslap
71 B 3 59 B 2 Ride Cymbal 2 Ride Cymbal 2
72 C 4 60 C 3 Bongo H Bongo H
73 C# 4 61 C# 3 Bongo L Bongo L
74 D 4 62 D 3 Conga H Mute Conga Analog H *
75 D# 4 63 D# 3 Conga H Open Conga Analog M *
76 E 4 64 E 3 Conga L Conga Analog L *
77 F 4 65 F 3 Timbale H Timbale H 7
8 F# 4 66 F# 3 Timbale L Timbale L
79 G 4 67 G 3 Agogo H Agogo H
80 G# 4 68 G# 3 Agogo L Agogo L
81 A 4 69 A 3 Cabasa Cabasa
82 A# 4 70 A# 3 Maracas Maracas 2 *
83 B 4 71 B 3 Samba Whistle H Samba Whistle H
84 C 5 72 C 4 Samba Whistle L Samba Whistle L
85 C# 5 73 C# 4 Guiro Short Guiro Short
86 D 5 74 D 4 Guiro Long Guiro Long
87 D# 5 75 D# 4 Claves Claves 2 *
88 E 5 76 E 4 Wood Block H Wood Block H
89 F 5 77 F 4 Wood Block L Wood Block L
90 F# 5 78 F# 4 Cuica Mute Scratch H *
91 G 5 79 G 4 Cuica Open Scratch L *

The starred (“*”) entries denote analog drum machine samples.

I decided to do a side-by-side comparison. I first recorded the DanceKit samples as dry as possible on the Yamaha PSS-A50 and the Yamaha QY-70 (circa 1997). Then I matched everything up, ignoring the toms and a few extraneous instruments.

You’ll hear all the PSS-A50 examples first followed by all of the QY70 examples. I’ll let you decide as to your personal preference. Although I tried to get the A50 dry, there seems to be a hint of reverb remaining.

Without further ado, here is a ZIP file containing the WAV for all of the Yamaha QY-70 Dance Kit instruments starting from the bottom of the keyboard to the top. Have fun! Slice and dice everything into audio mirepois.

If a drum machine plays in the forest and no one is around, does it still make a sound? 🙂

Copyright © 2022 Paul J. Drongowski

Yamaha PSR-E473 and PSR-EW425

The PSR-E473 and PSR-EW425 continue the evolution of the Yamaha E-series arranger keyboards.

Yamaha PSR-E473 and PSR-EW425 arranger keyboards

Main features are:

  • PSR-E473: 61 keys, PSR-EW425: 76 keys
  • Super Articulation Lite voices and articulation button
  • 820 voices (including 43 Super Articulation Lite)
  • Category access buttons to select voices
  • 290 auto-accompaniment styles
  • Two DSP effect channels (DSP1 and DSP2)
    • DSP1: 41 types of DSP insertion effects
    • DSP2: 12 effect types
  • New quick sampling user interface (44.1kHz, 16-bit, stereo, 9.6 sec)
  • Motion effects (57 types) and motion effect button
  • Mega Boost (adds +6dB to the apparent volume)
  • Two live control knobs
  • 1/4″ main audio out (R, L/L+R)

Pricing has not been announced as of this writing.

The PSR-EW425 has an exclusive organ sound from the YC stage keyboards. Although the E473 and EW425 share ten new drawbar organ voices, the EW425 has some extra tricks. Quoting Yamaha’s documentation, “On the PSR-EW425, a percussive click sound at key-on/key-off and a leakage sound are added, providing more realistic vintage organ sounds.”

DSP1 is automatically assigned to the main voice. DSP2 can be assigned to any part. DSP2 is assigned to all parts (including the keyboard and backing) by default. There is a dedicated DSP2 button on the front panel which provides direct access to DSP2 and turns it ON and OFF. You can choose the effect type for each DSP unit. Effect parameter editing is limited to that available through the Live Control knobs.

PSR-E473 and PSR-EW425 effect routing [Yamaha]

With reverb, chorus and two DSP effect units, effect routing (above) is more sophisticated than earlier E-series models. The routing adheres to the XG architecture. The MIDI implementation does not provide SysEx for effect selection and routing. (Well, at least it’s not documented…)

Motion effects are implemented via MIDI pitch bend and continuous control messages. (The approach is similar to the Yamaha PSS-A50.) Message-heavy effects will cut into song size when recording into MIDI.

The PSR-EW425 has two 12cm speakers and its amplifiers produce 12W per channel. The PSR-EW425 requires six D size batteries, which will affect final weight. The PSR-EW425 weighs 8.3kg (18 pounds, 5 ounces) without batteries.

The PSR-E473 requires six AA size batteries. The PSR-E473 weighs 7.0kg (15 pounds, 7 ounces) without batteries.

Live control knobs can be assigned to:

  • Keyboard:
    • Filter cutoff and resonance
    • Reverb and chorus level
    • DSP1 parameters A and B
  • Backing:
    • Filter cutoff and resonance
    • Reverb and chorus level
    • Volume balance and retrigger rate
  • System:
    • DSP2 parameter A and B

Check out my pre-announcement post. See how well I did. 🙂

Copyright © 2022 Paul J. Drongowski

ChordPro auto-accompaniment: Uses

The ChordPro to Yamaha auto-accompaniment program, cp2mid, translates an extended ChordPro song file to a MIDI file containing Yamaha-compatible auto-accompaniment messages. The MIDI file is compatible with recent mid- and high-end Yamaha arranger workstations like Yamaha Genos™. Once you transfer the MIDI file to the arranger, it plays like any other Standard MIDI File (SMF). Instead of directly playing notes, however, it tells the arranger’s auto-accompaniment engine what to play: the style, the tempo, the chords and the section (intro, main, fill in, or ending). The arranger displays chords and lyrics in sync with play-back.

What can you do with ChordPro auto-accompaniment? Here’s a few ideas.

Play along with a song from the Web

ChordPro is one of the most widely used song formats on the Web. Pros and punters alike use ChordPro as shorthand lead sheets. You’ve probably seen formatted ChordPro songs like:

 G      G7          C         G 
Amazing Grace! (how sweet the sound)
D
That saved a wretch like me!
G G7 C G
I once was lost, but now am found,
Em D G
Was blind, but now I see.

Presumably, a musician is already familiar with the song’s tempo and melody, needing only to follow and change chords in time.

In extended ChordPro, the chords are embedded within the lyric text:

[G]Amazing [G7] Grace! (how [C] sweet the [G] sound) 
That [G] saved a [G]wretch like [D] me! [D]
I [G] once was [G7] lost, but [C] now am [G] found,
Was [Em] blind, but [D] now I [G] see. [G]

Chords are surrounded by square brackets. Here, we assume each chord is held for a single measure. Songs on the Web are very loose (flexible!) about time. Auto-accompaniment, however, is precise. You will probably need to tighten up timing when using a song file from the Web.

You’ll also see ChordPro directives in song files:

{title: Amazing Grace }   
{key: D}
{artist: Munsoncovers}

Directives express song meta-data and control formatting. Extended ChordPro adds a few new directives for auto-accompaniment:

{title: Amazing Grace }   
{key: D}
{artist: Munsoncovers}
{time: 3/4}
{comment: SouthernGospel is stylecode 7812 3/4}
{stylecode: 7812}
{tempo: 90}
{start_accomp}

You’ll want to add the time signature, tempo, stylecode, and start_accomp directives to the song. The stylecode directive selects one of the hundreds of built-in arranger styles. (A convenient list of codes is included in the distribution.)

You can always leave out the stylecode and select the accompaniment style on the arranger keyboard itself. You can choose one of the preset styles or user styles. Thus, you can try out different arrangements or use a style of your own design.

Finally, extended ChordPro allows annotations which select an accompaniment section like an intro, main, fill-in or ending. Here is “Amazing Grace” ready to go:

{title: Amazing Grace }  
{key: D}
{artist: Munsoncovers}
{time: 3/4}
{comment: SouthernGospel is stylecode 7812 3/4}
{stylecode: 7812}
{tempo: 90}
{start_accomp}

# Introduction
[G][*IA]

# Verse
[G][*MA] Amazing [G7] Grace! (how [C] sweet the [G] sound)
That [G] saved a [G]wretch like [D] me! [D][*FA]
I [G][*MA] once was [G7] lost, but [C] now am [G] found,
Was [Em] blind, but [D] now I [G] see. [G][*FA]

# Ending
[G][*EA]

Don’t forget to turn on the Lyric or Score display. Song chords and lyrics are displayed during play-back.

Jam

Auto-accompaniment is a tireless band! Plug in some chords and play along.

Here is a fast blues shuffle. Copy and paste the 12-bar sections as many times as you like. Change the accompaniment sections to build up energy as the tune progresses.

{title: Shuffle Blues}   
{key: C}
{time: 4/4}
# Style: BluesShuffle (3685)
{stylecode: 3685}
{tempo: 120}

{start_accomp}
[C][*IA]

{start_of_instrumental}
[C][*MA] [C] [C] [C7][*FA]
[F][*MA] [F7] [C] [C7][*FA]
[G7][*MA] [F] [C] [G7][*FC]
{end_of_instrumental}

{start_of_instrumental}
[C][*MB] [C] [C] [C7][*FB]
[F][*MB] [F7] [C] [C7][*FB]
[G7][*MB] [F] [C] [G7][*FC]
{end_of_instrumental}

[C7][*EA]

Experiment with different intros: [*IA], [*IB] or [*IC]. Try different endings: [*EA], [*EB] or [*EC]. An intro or ending will follow the preceding chord as if you played it on the keyboard itself. Generally, the A variations are one measure long. Length of the B and C variations depend on the chosen style. You will need to specify the root chord for each measure in order to keep play-back in sync.

Write a song of your own

Why not write a song of your own? Yamaha’s built-in Chord Step Edit is too detailed and clunky for songwriting. Use cp2mid instead.

{title: Minor Blues}   
{key: Cm}
{time: 4/4}
# Style: SlowBlues (7810)
{stylecode: 7810}
{tempo: 90}

{start_accomp}
[Cm7][*IA]

[Cm7][*MA] My baby left me. [Cm7] [Cm7] Now I'm all alone. [Cm7][*FA]
[Fm7][*MA] My baby left me. [Fm7] [Cm7] And I'm all alone. [Cm7][*FA]
[Ab7][*MA] I still love her, [G7] [Cm7] Won't answer the phone. [Cm7][*FC]

[Cm7][*MB] It's about money, [Cm7] [Cm7] I know it's true. [Cm7][*FB]
[Fm7][*MB] It's about money, [Fm7] [Cm7] I know it's true. [Cm7][*FB]
[Ab7b5][*MB] Can't keep a job, [G7] [Cm7] I am so blue. [Cm7][*FC]

[Cm7][*EA]

It’s easy to change the chord progressions and song structure. Plus, the lyrics are all in front of you. Once the song is loaded, you have the freedom to change the tempo and style on the keyboard. Unlike Chord Step Edit, you can manually choose a user style; you aren’t limited to the preset styles.

Turn on Lyric or Score display. You’ll be able to sing and play along with your new song!

Copyright © 2022 Paul J. Drongowski