More fun with large scale integration (LSI).
I went mad with desire when I heard about the Switch Science eVocaloid eVY1 shield for Arduino. The bad news is Switch Science is out of stock and is not making the board any longer.
I started to deep dive the Yamaha NSX-1 eVocaloid IC at the heart of the eVY1 shield and eventually found some specs. The NSX-1 responds to sixteen MIDI channels. Channel 1 is dedicated to eVocaloid — a monophonic singing voice. Channels 2 through 16 are assigned to the polyphonic, multi-timbral MIDI synthesizer. The MIDI synthesizer conforms to the XG voice and effects architecture. Unfortunately, the wave memory is about 2MBytes, putting it at the same level as an old school QY-70. (Got one of those already.)
I uploaded Yamaha’s NSX-1 brochure. Take a peek. Please note the waveform diagram on page 2 (i.e., head, body, joint, tail) eVocaloid and Articulated Element Modeling (AEM) are definitely siblings. “Conventional” Vocaloid uses computational heavy mathematics to blend phonemes. eVocaloid and conventional Vocaloid are more like cousins.
Assessing the MIDI implementation, software needs to pump abbreviations for eVY1 phonemes into the NSX-1 to make it sing. A string of abbreviated phonemes is sent via SysEx message. Looks like the developers got burned by the long SysEx message problem in Windows XP as they recommend using Windows Vista or later.
The vocal database (consisting of samples and more) is stored in a surface mount IC beneath the board. It isn’t possible to replace the vocal database with instrument samples in order to take advantage of the NSX-1’s Real Acoustic Sound (RAS) synthesis. eVocaloid mode and RAS mode are exclusive and cannot be used at the same time. Doesn’t look like we can get Super Articulation 2 voices on the cheap. (Bummer.)
Meanwhile, my quest for a light-weight, self-contained, battery-powered rehearsal keyboard goes on. Recently, while I waited for the GC associate to process my returned Roland GO:KEYS, I plinked away on a Yamaha NP-12. The NP-12 is certainly cheap enough ($170 USD) and light enough (just shy of 10 pounds). Although it has only ten voices, I could MIDI the NP-12 to the MidiPlus miniEngine USB sound module for non-piano voices. A quick experiment with the miniEngine and the PSR-S950 proved feasibility.
I became curious about the level of tech inside the Yamaha Piaggero products and scrounged the Web for service manuals. I couldn’t find anything on the NP-12, but did find service manuals for the NP-30 (32 voice polyphony, 2007) and the current NP-32 (64 voice polyphony, 2016).
As I suspected, the upgrade in polyphony signaled an upgrade in the internal processor. The NP-30 is based on the SWL01T (YMW767-VTZ) workhorse that is part of many entry-level, battery-powered Yamaha products. The NP-32 is based on the SWX03. I haven’t seen the SWX03 before and I believe the SWX03 is a new version of the SWX02 (which appears in the PSR-650 and MOX, for example). The SWL01T fetches sample data from the CPU’s system memory while the SWX02 and SWX03 fetch samples through a dedicated memory channel. Thus, the SWX processors have higher memory bandwidth and can support higher polyphony.
Physical wave memory is 8MBytes (64Mbits): 4M x 16-bit words. Uncompressed sample size is approximately 16MBytes. It is a testament to Yamaha’s sound design prowess that they can synthsize a decent sounding acoustic piano with such little memory. Sure, the NP-12 is the absolute bottom of the line, but it does sound decent given its modest street price.