Potential Yamaha P-525 gotcha!

A few recent posts on the Piano World Forum brought a potential Yamaha P-525 issue to my attention. I like the upper-end P-series models, notably the now discontinued P-515 and the P-525. Both models embody good value and sound.

The P-525 improves on the P-515 by adding Grand Expression Modeling (GME). The GME piano engine responds to nuanced playing gestures. That’s a win, in my opinion.

Folks using the P-525 as a piano-action controller have noted two new MIDI continuous controller messages:

    CC#19  Key Acceleration
    CC#88  Expand Velocity

These messages are produced by the Grand Expression Modeling engine. Poly Aftertouch, key acceleration and expand velocity — whatever that is — are sent with every note ON.

That behavior may seems like a desirable feature until you try to drive a piano software instrument like Arturia Piano V (as cited in a Piano World Forum post). These continuous controller messages would also get in the way when using the P-525 as a “bottom” keyboard driving a synth as one might do in a pop/rock gig situation. The latter use-case is what the P-series is for, after all.

Harrumph! As far as I know, there isn’t a way to turn off these messages, sending only MIDI Note ON and Note OFF. Yamaha need to fix this. Until they do, I must issue a strong caution about using the Yamaha P-525 as a piano-action controller.

The P-525 Piano Room implements a Grand Expression parameter. In addition to the Dynamic and Static settings, maybe implement OFF?

Buyer beware! I dare say, this may be an issue for anyone purchasing a Grand Expression model with the intention of driving a piano software instrument (VST). Look before you leap — you may need to filter or remap these extra messages yourself!

Copyright © 2024 Paul J. Drongowski

Chord progressions for Yamaha Chord Looper

Hey, hey, more free content for Yamaha arranger keyboards!

The Yamaha Genos and PSR-SX900 keyboards feature Chord Looper — a chord sequencer that cycles through a user-defined chord progression. Yamaha provides a few example Chord Looper Banks, but folks always wish for more.

So, I collected chord progressions from various public sources and created Chord Looper Banks (and Chord Looper Data files). My Chord Looper Banks have the most common chord progressions and some not-so-common progressions. All are in relatively easy keys and await your creativity.

As an added bonus, I included Java source code for the program that translates Extended ChordPro (CHO text files) to Chord Looper Data (CLD) files. If you don’t care about nerdy stuff and just want to play, then stick with the Chord Looper Banks (CLB) and Chord Looper Data files. 🙂 You don’t need to know anything about Java to use the CLBs and CLDs.

Download the Chord Loops (v1) ZIP file

Check out the README.TXT (in the ZIP file) for more information.

Copyright © 2024 Paul J. Drongowski

Yamaha Montage M internals: First look

Thanks to Dmitry Ko on the Keyboard Corner forum, we have the first solid information about Montage M7 internals! Congratulations, Dmitry!

We owe Dmitry a round of applause and gratitude for providing the first — and extensive — information about Montage M internals. He had to take extra steps to find and identify some components (more than I would have been willing to do with a brand new board, that’s for sure).

Dmitry was kind enough to give me a preview and his analysis is spot on.

Here are my own notes:

IC601 SWP70 #1 (Upper left DM PCB)     YMW832-C    FM-X?

  IC602 Winbond W9812G6KH-5  SDRAM 128 Mbit Parallel 200MHz (8M x 16)

IC401 SWP70 #2 (Middle)                YMW832-C

  IC501 Winbond W9812G6KH-5 SDRAM 128 Mbit Parallel 200MHz (8M x 16)
  IC402 Winbond W9825G6KH-6 SDRAM 256 Mbit Parallel 166MHz (16M x 16)
  IC403 Winbond W29N08GVSIAA NAND flash 8 Gbit (1G x 8)
  IC404 Winbond W29N08GVSIAA NAND flash 8 Gbit (1G x 8)
  IC405 Winbond W29N08GVSIAA NAND flash 8 Gbit (1G x 8)  DM PCB rear
  IC406 Winbond W29N08GVSIAA NAND flash 8 Gbit (1G x 8)  DM PCB rear

IC201 SWP70 #3 (Right)                 YMW832-C

  IC301 Winbond W9812G6KH-5 SDRAM 128 Mbit Parallel 200MHz (8M x 16)
  IC202 Winbond W9825G6KH-6 SDRAM 256 Mbit Parallel 166MHz (16M x 16)
 *IC205 Winbond W29N08GVSIAA NAND flash 8 Gbit (1G x 8)
 *IC206 Winbond W29N08GVSIAA NAND flash 8 Gbit (1G x 8)
 *IC207 Winbond W29N08GVSIAA NAND flash 8 Gbit (1G x 8)  DM PCB rear
 *IC208 Winbond W29N08GVSIAA NAND flash 8 Gbit (1G x 8)  DM PCB rear
  XL201 02238 SWP70 clock

IC701 SSP3                       YJ496A0

  XL701  SSP3 clock
  IC706  TI LV08A 2BK ATPZ
  XL801  SSP3 clock

  XLB02 USB hub clock
  ICB04 GL852G  Genesys Logic 4-port hub USB 2.0 (SSP3 hub)
  Q1102 TPC812S ??? USB2_VBUS

  IC702 SDRAM    No mount?

ICA01 Texas Instruments Sitara AM5728BABCXA

  IC001 NANYA 2245 NT5CC128M16JR-EK DDR3 256MByte
  IC002 NANYA 2245 NT5CC128M16JR-EK DDR3 256MByte
  XLE01 CPU clock

ICB03 GL852G USB 2.0 hub controller (DM PCB rear, CPU hub)

  XLB01 USB hub clock

ICC02 eMMC (Yamaha YN240B0)

ICC01 Fast Ethernet PHY

ICA03 THine THC63LVD1O3D LCD controller (LVDS)

IC904 Texas Instruments TPS659037 Power controller

IC101 Texas Instruments PCM1795 32-bit stereo DAC   DM PCB rear
IC111 Texas Instruments PCM1795 32-bit stereo DAC   DM PCB rear

IC121 Texas Instruments PCM1804 24-bit stereo ADC   DM PCB rear

In a few cases (marked with “*”), copyright labels obscure the chip ID information on the IC package.

Here are a few additional observations.

Yamaha gave the Montage M a major league host CPU: Texas Instruments Sitara AM5728BABCXA. The Sitara is multi-core:

  • Dual-core ARM Cortex-A15 MPU (1.5 GHz)
  • Dual TMS320C66x floating-point VLIW DSP (750 MHz)
  • 2 x dual-core ARM Cortex-M4 co-processors (213 MHz)
  • Dual-core PowerVR SGX544 GPU (532 MHz)

This is a major step up from the single core 800MHz ARM in the original Montage. The Sitara is given twice as much primary memory than the original: 512MBytes of DDR3 RAM.

Thus, folks, you’re going to need a fan. Montage M’s digital logic board (DM) has a substantial metal cover, probably to control RFI. The Sitara has a vanilla heat sink. An opening in the metal cover lets heat escape from the heat sink. The fan draws air from beneath the metal cover/heat sink. This design is different than what I expected, i.e., a very small heat sink plus mini-fan cooler a la Raspberry Pi. This Sitara ain’t no RPi!

The two integrated TMS320C66X DSP cores likely synthesize AN-X. 16 voice AN-X polyphony feels just about right for two TMS320 cores. (Reface CS employs an SSP2 DSP and has 8 voice polyphony.) With compute-intensive AN-X going on, you’re gonna need a fan. I don’t buy the cooling pipe solutions proposed by some and it would be very difficult to position the Sitara in contact with the metal chassis. End of story.

The factory waveform NAND flash is Winbond W29N08GVSIAA. That is the highest capacity ONFI compatible NAND flash made by Winbond. The factory waveforms are compressed (10GB when converted to 16-bit linear format) and reside in 4GBytes of physical NAND flash. User waveforms are uncompressed (3.7GB available capacity) and reside in 4GBytes of (separate) physical NAND flash.

In the original Montage, factory and user waveforms are co-resident in 4GBytes of waveform NAND flash. Yamaha added a third SWP70 tone generator/effects IC and, as we know, dedicated one SWP70 to factory waveforms and another SWP70 to user waveforms. The third SWP70 doesn’t have waveform memory and synthesizes FM-X.

A label covers the top of the eMMC device which provides bulk storage (OS, software, presets, etc.) for the Montage M. The original Montage has a 4GByte eMMC device.

As expected, the SSP2 is out of production and is replaced by SSP3. The SSP3 inherits the digital audio routing and rate conversion chores performed by the original’s SSP2. The SSP3 has its own integrated USB interface and associated USB2.0 4-port hub. All are co-located with the external USB connector.

The THine LVDS handles LCD display duties. The Sitara has serious graphics chops with its dual PowerVR SGX544 GPUs. I haven’t worked out the interface to Montage M’s OLED subdisplay as yet. Genos1 communicates with its subdisplay via SPI.

Thanks, again, Dmitry! This more than enough for the next round of Internet speculations. 🙂

Copyright © 2024 Paul J. Drongowski