2017 was our 20th year online!

Welcome to the Piano World Piano Forums
Over 3 million posts about pianos, digital pianos, and all types of keyboard instruments.
Over 100,000 members from around the world.
Join the World's Largest Community of Piano Lovers (it's free)
It's Fun to Play the Piano ... Please Pass It On!

Shop our online store for music lovers
SEARCH
Piano Forums & Piano World
(ad)
Best of Piano Buyer
 Best of Piano Buyer
(ad)
Faust Harrison Pianos
Faust Harrison 100+ Steinway pianos
(ad)
Wessell Nickel & Gross
PianoForAll
Who's Online Now
58 members (Chris Pringle, brdwyguy, CraiginNZ, 36251, anotherscott, CharlesXX, Carey, 13 invisible), 1,360 guests, and 404 robots.
Key: Admin, Global Mod, Mod
(ad)
Estonia Pianos
Estonia Pianos
Previous Thread
Next Thread
Print Thread
Hop To
Joined: Nov 2019
Posts: 67
P
Full Member
OP Offline
Full Member
P
Joined: Nov 2019
Posts: 67
This post is motivated by another thread from user magicpiano, and his attempts to customize the sound of his Kawai CN37 beyond the normal range of options.

Speculation about how pianist mode works

About 2 years ago I read about a technical limitation of the pianist mode in the NV10, which appears to have a polyphony of only 64 (vs 256 in sound mode). Maybe I'm mistaken, but I mentally archived this as a hint of how pianist mode is implemented, and as a pathway to potentially achieve a similar effect on older models that do not offer pianist mode.

My perception was that pianist mode either requires more CPU/DSP power than soundmode (and cannot process more than 64 channels). Or, and this is more interesting, it employs 4 independent audio streams per note played. I'm refering to 4 of 256 hardware DMA channels that fetch sample data from memory and make it available to the mixer algorithm.

In the following I'm speculating only about the latter possibility, because the former one is a dead end for doing DIY enhancements.

Why would pianist mode use 4 channels at once? This only makes sense if the 4 streams are chosen, or modulated, dynamically at runtime. Otherwise the mixing could be done at the factory and be stored as 1 audio stream.

What type of dynamic behavior could useful? It must be something that uses only little CPU and off-loads the main work to the 3 extra hardware channels. I see two possibilities.

  1. One stream is the main note and the other 3 streams are exaggerated resonance that is associated with the note. The algorithm could dynamically insert more resonance when an isolated melody is played, and less of it when a lot of notes are active anyway (avoiding muddiness).
  2. This is a more refined version of the above: Complement the main note with 3 additional samples, choosing both pitch and volume dynamically based on all currently active notes. I imagine a mathematical model that calculates the interaction of them and how this energy can excite other strings (maybe even damped ones to some degree). The algorithm would sort the results by magnitude and play the top 3 on the extra channels.


What sample material would be played on the extra channels? Certainly not just another piano voice. The hardware is capable of fetching multiple piano voices at once (e.g. with the layering feature in sound mode). Therefore it is feasable to store and reproduce specially crafted complementary samples along with the main voice, samples that do not resemble a stand-alone piano voice on their own. Maybe it's a faint sound without attack, something like when you do a silent key press on an acoustic and then shake the body of the piano. Or maybe the output of a digital filter, the delta between a richer main note and a less rich main note, something that sounds unnatural when played alone.

Either way, it must be something that *sums* to the already existing state. Something that can be added over and over (using different dynamic parameters) with each additional attack. Because, if it was just one single aspect per each of the 88 string(-triples), then the huge reduction in polyphony didn't make sense. A reduction to 256-88 = 168 would suffice.

Suggestion for a DIY pianist mode on CN37

Based on this wild speculation, here's my suggestion for a DIY cheap-skate pianist mode:

  • Connect the CN37 to a computer over MIDI and disable local-control.
  • Receive the MIDI events in software and loop them back into the CN37 to get sound.
  • Rather than faithfully forwarding note by note, insert additional (soft) notes to complement the ones that are played by the pianist.
  • Make sure that all simultanous MIDI events encode into a single USB datagram to avoid timing issues introduced by USB congestion.


At the very least, this can achieve different sounding timbres (as user magicpiano seeks in his thread). But if one comes up with an algorithm that choses the extra notes based on dynamic interaction of the already active notes, then the result could even be somewhat similar to pianist mode.

The main limitations are that the extra notes come from the same piano voice and that they contain an attack phase.

To attenuate the attack phase, I can think of a few tricks:

  • Use only low velocities, considerably lower than the "main" note that is attacking at the same time. That will hide the attack psycho-acoustically.
  • Study the brightness and velocity layers of the piano voice and establish an upper limit (per pitch).
  • Study the MIDI behavior. Maybe the attack phase is attenuated (or skipped?) if one sends a (medium fast) note-on, immediately followed by a (slow) note-off. Notes that the pianist is already holding down need to be excluded, of course. This method probably cannot be applied when the pedal is down (except possibly encoding as pedal-up + note-on + note-off + pedal-down).
  • Play all/some extra notes as silent notes (velocity 0 or 1), triggering the sympathetic resonance feature rather than a note with attack. The magnitude and duration can be controlled by following up with a note-off shortly after.


I suppose you can see the potential. If you choose to explore this rabbit hole, please share your results on github.

Marc

Joined: Jun 2019
Posts: 1,736
1000 Post Club Member
Offline
1000 Post Club Member
Joined: Jun 2019
Posts: 1,736
I think that the SK-EX Rendering Engine uses various mic perspectives of the same piano, then it fuses them to make a richer sound. This is a trick many big piano VSTs allow to use to get a "fuller" sound experience. Of course, if for each note you mix 4 perspectives, you'll have to read from 4 streams at the same time for each note, and this would reduce the polyphony (if the hardware remains the same).
So, IMHO the experiment you propose would not generate the same sound of the CA78/79/98/99 series, because the CN37 rom includes only a single perspective of the SK-EX samples.

And anyway what you say would be too much complicated to do and would require tons of experiments. And you should always have a computer connected to the DP. One of the things I like of my cabinet-style DP is that it looks as an acoustic upright piano, and it's far from my computer. I don't want to see computers when I'm playing... It's like they break the magic, the inspiration... So, I'm more interested in using just the internal features of the DP to improve the sound or get new variations, without having to connect it to another device. And, if I have to connect the DP to an external device, then I would get a much better result by using a good piano VST...

But thanks for your suggestions. Imagination is the spice of life! smile

Joined: Nov 2019
Posts: 67
P
Full Member
OP Offline
Full Member
P
Joined: Nov 2019
Posts: 67
1. You don't need to use a computer to implement what I suggest. A computer is the most accessible development platform, but the final result can be as tiny and portable as a USB stick. The Raspberry Pi is a good platform for projects like this. It's cheap and small and can be tucked away behind the piano. It can be forgotten about, except while developing the software, which can be done through WIFI without needing to reach behind the piano. All major programming languages are supported on the Raspberry and it's easy to share the resulting software with other people.

2. If you only mix 4 microphone "perspectives" to get a richer sound, you can do it offline and store+play the result as 1 audio stream. I've mentioned already that something else must be going on. Something that takes advantage of dynamic parameters.

There are more hints are available if the goal was to dissect pianist mode. A poster once said that looping MIDI back into the NV10 in pianist mode is possible, but sounds different (less resonant). This opens the door to analyze the differences between unprocessed (raw sample stream) and processed result, by recording the same input with and without resonances on top.

A similar effect happens when the piano is being switched on, or when you switch between sound mode and pianist mode. There's a short time window where the piano already responds to keyboard input, but the generated sound is flatter than usual. It seems as if some component in the piano is still busy and cannot respond to the input. Conincidentially, the LCD unit is busy at that time.

Joined: Aug 2016
Posts: 5,694
G
5000 Post Club Member
Offline
5000 Post Club Member
G
Joined: Aug 2016
Posts: 5,694
Originally Posted by pppianomarc
2. If you only mix 4 microphone "perspectives" to get a richer sound, you can do it offline and store+play the result as 1 audio stream. I've mentioned already that something else must be going on. Something that takes advantage of dynamic parameters.


I may be misremembering, but I think Kawai James has stated in a thread about Pianist mode polyphony that the SK-EX rendering engine does real-time mixing of the multichannel sampling. That MAY mean multi-mic mixing is done real-time (perhaps they don't store it as static samples because each of the various rendering characters uses different mic levels/settings). Or he may just be talking more generically about basic mixing/signal processing rather than specific multichannel support.


Yamaha P-85, P-105, CP50, Kawai MP11 || Kawai NV-10
Joined: Jun 2019
Posts: 1,736
1000 Post Club Member
Offline
1000 Post Club Member
Joined: Jun 2019
Posts: 1,736
Originally Posted by pppianomarc
1. You don't need to use a computer to implement what I suggest. A computer is the most accessible development platform, but the final result can be as tiny and portable as a USB stick. The Raspberry Pi is a good platform for projects like this. It's cheap and small and can be tucked away behind the piano. It can be forgotten about, except while developing the software, which can be done through WIFI without needing to reach behind the piano. All major programming languages are supported on the Raspberry and it's easy to share the resulting software with other people.
Well, the Raspberry Pi also is a computer. It's just smaller, cheaper and not as powerful as a typical PC. It's true that if you manage to make all work on a Raspberry Pi, then you could easily hide the device behind the piano, but anyway the experiments you propose would require a great amount of work... So, if you have the time, the skills, and the desire to do it, why don't you give it a try yourself? smile
Quote
2. If you only mix 4 microphone "perspectives" to get a richer sound, you can do it offline and store+play the result as 1 audio stream.
But that would require much more storage memory to store all the combinations of mixed perspectives. 4 perspectives means 16 combinations. Having to store 4 set of samples is much cheaper than 16. wink
Quote
I've mentioned already that something else must be going on. Something that takes advantage of dynamic parameters.
Of course there are effects added on top: cabinet resonance, string resonance, undamped string resonance, damper resonance, etc... Some of these effects are a little more "refined" in the SK-EX Rendering Engine. For example, I think the "undamped string resonance" effect got a nice boost in realism compared to the HI-XL version.
Quote
There are more hints are available if the goal was to dissect pianist mode. A poster once said that looping MIDI back into the NV10 in pianist mode is possible, but sounds different (less resonant). This opens the door to analyze the differences between unprocessed (raw sample stream) and processed result, by recording the same input with and without resonances on top.

A similar effect happens when the piano is being switched on, or when you switch between sound mode and pianist mode. There's a short time window where the piano already responds to keyboard input, but the generated sound is flatter than usual. It seems as if some component in the piano is still busy and cannot respond to the input. Conincidentially, the LCD unit is busy at that time.
I think what happens when you turn-on the instrument is that the piano engine starts in 3 seconds with the default settings (so you can almost immediately play with a default piano sound) but the touch-panel UI starts much later, and only after the loading is completed, the UI selects (eventually) a different startup-sound.


Moderated by  Piano World 

Link Copied to Clipboard
(ad)
Pianoteq
Steinway Spiro Layering
(ad)
PianoDisc

PianoDisc
(ad)
Piano Life Saver - Dampp Chaser
Dampp Chaser Piano Life Saver
(ad)
Mason & Hamlin Pianos
New Topics - Multiple Forums
Cannon in D Question
by KimbraLaLa - 09/26/21 07:55 PM
Kawai PN100 Digital Piano
by ZDAVE - 09/26/21 05:44 PM
Question about technique
by ItoM_ - 09/26/21 03:37 PM
Mushy Bass Notes - Problem or too much Pedal
by brdwyguy - 09/26/21 02:10 PM
Recording a DP for lessons
by AndyOnThePiano - 09/26/21 12:05 PM
Download Sheet Music
Virtual Sheet Music - Classical Sheet Music Downloads
What's Hot!!
My first professionally recorded piece
---------------------
Our Free Newsletter for Piano Lovers!
The summer edition of our free newsletter
---------------------
Visit Maine, Meet Mr. Piano World
---------------------
Posting Pictures on the Forums
-------------------
Forums RULES & HELP
-------------------
ADVERTISE on Piano World
Forum Statistics
Forums42
Topics209,303
Posts3,135,374
Members102,827
Most Online15,252
Mar 21st, 2010
Please Support Our Advertisers

Faust Harrison 100+ Steinways

Dampp Chaser Piano Life Saver

 Best of Piano Buyer

PianoTeq Bechstein
Visit our online store for gifts for music lovers

Virtual Sheet Music - Classical Sheet Music Downloads



 
Help keep the forums up and running with a donation, any amount is appreciated!
Or by becoming a Subscribing member! Thank-you.
Donate   Subscribe
 
Our Piano Related Classified Ads
| Dealers | Tuners | Lessons | Movers | Restorations | Pianos For Sale | Sell Your Piano |

Advertise on Piano World
| Subscribe | Piano World | PianoSupplies.com | Advertise on Piano World |
| |Contact | Privacy | Legal | About Us | Site Map | Free Newsletter | MapleStreetMusicShop.com - Our store in Cornish Maine


© copyright 1997 - 2021 Piano World ® all rights reserved
No part of this site may be reproduced without prior written permission
Powered by UBB.threads™ PHP Forum Software 7.7.5