Piano sounds & sound-engine

Forum for SonicCell
avogra
Posts: 49
Joined: 19:46, 19 November 2008
Location: Landshut, Germany

Piano sounds & sound-engine

Post by avogra »

Hi everyone,

here comes a bit lenghty report of some experiments to improve the playability of the piano-sounds. maybe someone becomes curious about experimenting themselves or can give me some input :)

as i have some spare time recently, i started digging into the depths of the SC sound-engine and found some interesting stuff (at least new to me :) ). My trigger was, that i wasnt pleased about the piano sounds like many others. But my concern is less the quality but the playability with a hammer-action keyboard (in my case: Yamaha P80). Most piano-sounds are hard to control somehow, giving wrong acoustic response to what my fingers do. The build-in sounds of the P80 are very good there. ok, obvious, that keybed and sounds are matched in the P80 :).

After getting the odd velocity under control, that the P80 sends via midi, i discovered another reason: many of the SC pianos use 4 velocity layers (tones). at ~vel. 90 theres a switching between tone 2 and 3. that switching usually is a hard jump in the sound, like tone 3 has a far more metallic nature. so when playing at a level near vel. 90, some of my keystrikes are a bit below or a bit above 90. so with lightly different force, i produce a very different sound. that explains my felt loss of control! Good example is Patch A001-Grand Piano.

So what to do? i was puzzled anyway, why the different tones arent blended. so i tried fading transitions between them. the result was really ugly, as the unsynced waveforms do nasty cancelation and amplification when overlayed. ok, thats why :) so what to do next? i tried applying a low pass filter, that dampens the high, metallic parts of tone 3 and opens up with increasing velocity. this made playing a bit more comfortable but its hard to get nice results by pure trial and error for cutoff, velocity-curve and vel-sensitivity. also the sound became a bit dull. later on i discovered, that this is exactly what Patch A016-Dark Grand does, which has very nice transients :)
at this point, i also discovered, that those piano-patches not at all use 4 velocity layers. tone1 and tone2 always use the same waveform, sometimes with slight differences in filter settings. what a hoax! (although noone assured 4 vel-layers :-P ).

What i can imagine next, is splitting the tones into high metallic and low part, using a highpass- and lowpass-filter respectively. then i can blend in the high part with rising velocity. therefore i need more than 4 tones, but why not use 2patches? lets see...

Do you have any suggestions, where else i could muddle on? i really have fun, getting into this stuff :) yes, i know, ought to get the fantom tweakbook. im just still suffering from buying the SC, need to finish university and get a job asap :)

So long,

Alex


btw., i was surprised, that the Patch GM037-Organ1 uses a waveform that isnt used in any of the other organs. its not that impressing but different to the rest. just discovered it today :)
javaj_
Posts: 881
Joined: 20:49, 7 January 2008
Location: Calgary, AB, Canada
Contact:

Re: Piano sounds & sound-engine

Post by javaj_ »

wow- you do have time on your hands.
avogra
Posts: 49
Joined: 19:46, 19 November 2008
Location: Landshut, Germany

Re: Piano sounds & sound-engine

Post by avogra »

im doing an internship right now where i leave at latest 4pm :-P as all the people i know here, are learning for their exams, im quite on my own most of the remaining day. and as a engineer-to-be im somehow obliged to be curious about technical contexts, just hadnt the time up to now :)
karlosserio
Posts: 149
Joined: 04:22, 14 March 2007

Re: Piano sounds & sound-engine

Post by karlosserio »

If you want smoother transitions you have to study your stage piano velocities. Luckily i own both a Yamaha P90 and a CP33, so i've already been in that situation. For me (because this is a tricky subject) the velocity works best if i put pp at more-or-less 0-56; mf 57-79; f 80-95; ff 96-127. Why? Because the switch to f is around 76, 79 (below gets abrupt; over the mf gets jumpy), i just work around this value. I already know too that Yamaha's stage pianos won't transmit over 96 if not with a HAMMER!, even in soft touch... don't get me wrong, they transmit but check out the messages in a midi program and you'll see that above 96 it's really irregular.
This said you just have to determine your soft transiton between pp and mf.
karlosserio
Posts: 149
Joined: 04:22, 14 March 2007

Re: Piano sounds & sound-engine

Post by karlosserio »

And try to work your layers individually since a lot of times the same patch has totally diferent character from one velocity layer to the other.
avogra
Posts: 49
Joined: 19:46, 19 November 2008
Location: Landshut, Germany

Re: Piano sounds & sound-engine

Post by avogra »

hey karlosserio,
thank you for that input!
so i understand you right: when shifting down the transition value between two layers, this metallic character of the f and ff layers becomes less obvious at the switching point? thats my main concern at the moment. or is it to adapt the SC to the yamaha midi response?

because i have chosen a different approach for fixing those odd velocities, yamaha stagepianos do send. at the moment im routing all midi data over my pc, where i use the freeware "velocitycurvechanger" to adjust the velocity to some reasonable values. this will be replaced by a self-programmed hardware-unit as soon as the parts arrive.

i will look into your suggestion today,
see you :)
Alex
karlosserio
Posts: 149
Joined: 04:22, 14 March 2007

Re: Piano sounds & sound-engine

Post by karlosserio »

In the case i was explaining those velocities values were relating to the Yamaha's stage pianos as controllers; if yoy're gonna use a different controller you should adapt the velocity values to that instrument.
In the case of the abrupt transitions for my understanding this as a lot to do with not enough layers=not enough memory to load larger multisampled layers. If you play some software piano libraries you'll see that in recent years the number of velocity layers (from pp to ff) have increased in number; this has to do with a smoother transition that is really hard to do with 3 or 4 layers. My solution (bad one :) !) has been altering the volume of the samples/multisamples so the Db difference isn't so wide between layers. The resul is that the piano lacks a big dynamic curve but the sound is more stable and less jumpy.
In terms of midi values: rise the pp unifying with mf; set a low interval from mf to f (so you get that bite without big diference of volume); choose the FF to really stand out in a high midi value, so when you're really hammering you get that fortissimo effect.
karlosserio
Posts: 149
Joined: 04:22, 14 March 2007

Re: Piano sounds & sound-engine

Post by karlosserio »

Reading your post, i got interested: a self programmed midi unit? Can you fill me in,I think i'm interested in one of those.
avogra
Posts: 49
Joined: 19:46, 19 November 2008
Location: Landshut, Germany

Re: Piano sounds & sound-engine

Post by avogra »

hey,
i have been at my parents this weekend and by chance, the parts arrived on friday, so i had happy soldering this weekend. everything else has to stand back for the moment :)
about this unit: i discovered this amazing project about half a year ago: www.ucapps.de . Thorsten Klose and the community there developed a hardware platform and an operating system for midi-controllers based on a microcontroller. So what they do are mainly midi-controllers for software, but there are even complete diy-synths and sequencers. as you can write your own applications in C, i will leave out all the controller stuff (at first :) and do a little app, that translates velocities (~20 lines of code). although they have nice step-by-step tutorials, the learning curve is still quite steap. but see yourself :)

about those piano-layers: now i got your point :) maybe you even dont have to sacrifice dynamics. it should be possible to adapt the velocity response of the layers with vel-sens, vel-curve and level so that transitions match better and yet at higher velocity the layer reaches its previous level.
im just puzzled, how my old P80 has such a rich dynamic range and at the same time almost no audible transitions between the layers. and its like 10 years old whereas the SC is (almost) state-of-the-art. i dont get rid of the feeling, that the SC could do much better. some of the pianos actually have nice transitions, like A012-Studio Grand. Seems to me like some samples were chosen a bit unluckily or could have been programmed differently.
i havent tried SRX-11 yet, i suppose they get it done with 4 layers. if i just had the money....
but anyhow, prior target is my velocity-translator now :)

bye,
Alex
karlosserio
Posts: 149
Joined: 04:22, 14 March 2007

Re: Piano sounds & sound-engine

Post by karlosserio »

If you listen carefully to most stage pianos there's two layers that are more present, and a third one that is almost unusable. In the Yamaha's i hear one pp sample boosted up and a mf layer that his almost unusable because of the velocity switch. Even the other day, i listened to a friend of mine playing with my borrowed CP-33 and... everything sounds good in low dinamycs but when you hit the keys a little harder (feeling, expressivness,etc.) it getts harsh and unpleasant.
Thanks for the information about the midi hardware! Keep me posted about the velocity layering.
avogra
Posts: 49
Joined: 19:46, 19 November 2008
Location: Landshut, Germany

Re: Piano sounds & sound-engine

Post by avogra »

i have some news from my tiny midi-processor:
i have finished everything, i need up to now. it goes without saying, that it does more now, than adjusting the velocity curve :)
this one works fine. at the same time, the processor catches all the midi-messages, generated from pressing a button on my P80. i remap 10 of them to select performances. pressing one multiple times grants access to higher numbers, like pressing button5-> user perf. 5, pressing it once more -> user perf. 15 and so on.
2 buttons are used to switch midi-channels. all depressed keys (and damper) are remembered with their channel. So when i hold a chord (or use the damper) and switch to midi-ch 2, i can play the patch on ch.2 while the chord on ch.1 sustains until i release keys (or damper).
another button is used as panic-button, sending all-sounds-off on every ch.
the last button sends a sysex-msg to turn mfx3 on/off. im really astonished that you cant map an ordinary CC on the side of the SC, to bypass mfx! no more problem now :)

thats it up to now. assembly was a breeze in spite of little soldering experience. if you are a bit into C-programming and really know midi, coding is quite simple. it takes some time to understand, how the platform works. in my case, i had to fresh-up my C-skills, which at their best time, were far from solid :)
price tag for the components is around 40€ so far.

very cool everything :D

Cheers,
Alex
User avatar
dbijoux
Posts: 1700
Joined: 22:49, 26 April 2009

Re: Piano sounds & sound-engine

Post by dbijoux »

That sounds like a pretty mad little box. Cool that you pulled it off with little experience. Forgive my ignorance, but is it easy to reflash the IC or is it programmable through MIDI once it's all put together? The ucapps site is inspirational, but confusing.

+100 for DIY

In another thread, I was looking at what I think might be the commercial version of what you made. It's like $150 but has a software interface to program it like cheese. :\

http://www.midisolutions.com/prodepp.htm
avogra
Posts: 49
Joined: 19:46, 19 November 2008
Location: Landshut, Germany

Re: Piano sounds & sound-engine

Post by avogra »

the whole flash is parted into a bootloader, MIOS (operating system) and your application. as soon as you have the bootloader in the pic, everything else can be uploaded via midi. fortunately 2 of those guys sell pics (+boards n parts) with a pre-burned bootloader, so no flashing at all :)
i have seen the midisolutions thing too, but for me it wasnt flexible enough :P at the sime time, when the midi-processing becomes more complex, i think, having a programm in C is even easier to understand than their approach.
but it surely takes a long time to get a grasp of the whole platform. so not everyones case.
avogra
Posts: 49
Joined: 19:46, 19 November 2008
Location: Landshut, Germany

Re: Piano sounds & sound-engine

Post by avogra »

/edit: double-post -.-
Noteman
Posts: 88
Joined: 01:50, 31 December 2007

Re: Piano sounds & sound-engine

Post by Noteman »

Roland sonic cell is not really ideal for piano sounds.

Modern software packages has over 100 layers of sounds and a other set for damped and blahblahblah.

Also there is PM synthesis, which does the sound even better, cause it accounts the string resonate. This kind of synths also dont sound stepped at all. Roland V-piano is currently the worlds best (IMO). But you can download pianoteq trial for free, and see if you like that, it sounds MUCH better than sonic cell's piano, which is kind of like a toy, sadly really.

Kurzweil has the best sampeled 3 strike piano IMO, but the roland SRX-12 is very good too(some say the best workstation piano). So you could try the Piano SRX and see if you like that. If you are in EU buy the SRX's used from USA, rolands prices are incredibly overpriced for those in EU.
Post Reply