Topic: Feature request -- Statistical velocity curve view

Everyone knows how critical it is to get the velocity curve correct and how difficult it can sometime be to do this. I propose adding a selectable view using the velocity curve graph that shows statistically what velocities are supplied and/or provided by Pianoteq. This will clearly show the true range of one's piano so that a more accurate curve can be set and what Pianoteq's velocity curve does to it.

Re: Feature request -- Statistical velocity curve view

Right, that and some machine learning!

Pianoteq 8 Studio Bundle, Pearl malletSTATION EM1, Roland (DRUM SOUND MODULE TD-30, HandSonic 10, AX-1), Akai EWI USB, Yamaha DIGITAL PIANO P-95, M-Audio STUDIOPHILE BX5, Focusrite Saffire PRO 24 DSP.

Re: Feature request -- Statistical velocity curve view

levinite wrote:

... I propose adding a selectable view using the velocity curve graph that shows statistically what velocities are supplied and/or provided by Pianoteq. This will clearly show the true range of one's piano so that a more accurate curve can be set and what Pianoteq's velocity curve does to it.

That idea is interesting but the description not very clear. Would you mind elaborating with a little more detail and precision, with a "for example," perhaps?

Last edited by Stephen_Doonan (03-02-2021 17:08)
--
Linux, Pianoteq Pro, Organteq

Re: Feature request -- Statistical velocity curve view

I too think this would be very helpful. Maybe have the incoming velocity in black as is, and the out going velocity in a different colour (red?). That way you could view them simultaneously.

However, this can also be done by having the original midi from your keyboard piped into Pianoteq in addition to a filtered midi input to Pianoteq. Hope you understand.

Warmest regards,

Chris

Last edited by sigasa (05-02-2021 18:25)

Re: Feature request -- Statistical velocity curve view

Yes, and a greater ability to randomize incoming MIDI data would be welcome.  Some sliders in Pro have a "humanize" option, and I would love to see that applied much more broadly in the system, especially where note velocities are concerned as the only way to alter input is via DAW filter, which isn't always convenient.

Spotify: https://open.spotify.com/artist/2xHiPcCsm29R12HX4eXd4J
Pianoteq Studio & Organteq
Casio GP300 & Custom organ console

Re: Feature request -- Statistical velocity curve view

i too don't understand what's being asked for.  if you want to compile statistics on the velocities in your own playing, that could be done by mining the midi archive.  you could use something like midicsv

https://www.fourmilab.ch/webtools/midicsv/

to make it easier to pull out the events.  but this sounds like an unusual thing to want to do, so i must be misunderstanding ...

Re: Feature request -- Statistical velocity curve view

Interesting discussion. If the goal is to use statistics to improve the velocity curve of your keyboard, I think the calibration assistant does that pretty well since it moves the mean around when trying to hit one of the 5 values asked for (silence, p, mp, f and fff). It is now easier with the global velocity curve to superpose the linear curve to the one you are constructing so you see where you diverge. It also shows how hard it is (for me at least) to be consistent...I agree there could be more sample positions for better pianists.

Also, since keyboards age and not all notes are used with the same frequency so some region may get more "soft" let's say, the calibration lets you move around to get a mean value for the entire range.

Since Julien mentioned in a previous post that only the raw notes from the keyboard are MIDI recorded, it is important to remember that the modified curve has to be used to get back a correct performance so it's dangerous to play around too much with it and forget which curve was used for which piece. The global curve now attached to each preset can alleviate this danger.

Regarding randomization of keyboard values, this is something where, unless you are a virtuoso, there is quite enough randomization happening...Very hard to hit exactly at one of the 127 values consistently...

In fact, maybe the contrary might be needed sometimes when you play something that has little dynamics and you would rather consecutive notes be very even. This may be anathema, but a staircase velocity curve like this one could do the trick.

Velocity = [0, 10, 10, 26, 26, 42, 42, 58, 58, 74, 74, 90, 90, 106, 106, 127; 0, 0, 14, 14, 33, 33, 55, 55, 79, 79, 101, 101, 118, 118, 127, 127]

Last edited by Gilles (05-02-2021 20:37)

Re: Feature request -- Statistical velocity curve view

Oh wow, great example and ideas Gilles.

Gilles wrote:

In fact, maybe the contrary might be needed sometimes when you play something that has little dynamics and you would rather consecutive notes be very even. This may be anathema, but a staircase velocity curve like this one could do the trick.

That staircase velocity curve takes me back to the 90s dpianos! (persevered with 7 steps in some of those). I think a lot of people in my range of experience in the 90s thought we played OK because of those infallible dynamic 'rails' on old dpianos to stick to.. it is exponentially more intricate on real pianos, to reliably drag out all the same sonic personality desired for each repeat performance (even for simple pop/experimental stuff I used those old keyboards for).

Pianoteq's default flat velocity curve seems to work better and better over the years it has to be said.

For my uses though, any velocity curve (not just a Pianoteq thing) is never about just 1 'exactly correct' curve which is supposed to fit the dpiano like a glove with, fully work for all pianos/presets with my board.

I understand the desire to get 1 curve, done. But I think it's missing many sonic opportunities, to believe it possible - and it's possible to enjoy when it's brighter, darker, etc.. for individual pieces/piano/preset combos.

I tried for myself over years to crack it beyond any sense of right/wrong/good/bad/placebo etc. Every time I think "This is it" - I find later "No, this is it!" - and with small differences, each 'nearly perfect' curve just elicits something I like at the time (or for a piece) about the engine's response to it. So, to me finally I'm definitively of the opinion that, at least I'm OK with there not being a single perfect curve for me - with any VST it's the same. (Recently big weather variations hit - and wow everything about the audio in my space was vastly different thanks to the weeks long ramping up and down of severely strong changes in temps/humidity/rain/drying etc. - the room changed key, and piano went all kinds of ways with velocity - about 2 months to stabilize - no curve would make that better).


To explain my experience a little more - a curve can really enter into any project of making personal presets, going hand in hand with decisions about hammer hardness in those 3 ranges and many other tangential controls.

Sometimes I just want an already enjoyable preset to play a little darker in low velocities, and moving the velocity curve (even tiny amounts) allows instantly less treble/high-overtonal development for that example.. it may be a better quick solution to re-balancing hammers/direct sound duration/impedance etc. I often make things for others with pushed/pronounced aspects for them to taper down to their own tastes - and sometimes I provide a curve but will often expressly say "you'll need to tame it for your keyboard - or begin with default curve instead - but take note of the way it alters the timbre" etc.

Should go without saying, that velo curve alteration will always only work exactly as intended for our own keys (even same make/models will differ from manufacture, temps, humidity etc.) and a custom velocity curve, although it could turn out kind of instructive to other users maybe, it would still require for them to tweak to 'get it' the way I might have intended.. so not something to share in FXPs if that's not obv.)

Mostly I finish with a custom preset when I've recorded the piece I tailored it for.. so not a thing which gets bothersome for me - as I do tend to keep moving on to yet another preset config thereafter - racking up many presets with single use cases, which I rarely revisit except for ideas about how I might proceed with a new edit.

Not sure I'd want to have anyone but skilled pianists' curve data to make any machine learning from - that age old prob there of 'garbage in = garbage out'. Just because many users choose default, or very radically different custom curves, in this case doesn't give me confidence that any good input can be derived, unless limited to Phil Best and other Pianoteq users who might be skilled beyond a certain level, enough to give super useful alterations.. and even then, the pool could be so small, there's no good aggregate, so might as well poll these talented folks individually - but I'd suspect, there's no single useful curve for all.

We all like to hear different aspects of the piano, and different curves allow that in concert with all the other controls - I think it's default is good enough for new pianists to get a hold of, small changes like the ones in the curve page provided by other users, trial/error etc.. then one day, like myself, a personal view of how the curve helps/harms what we're trying to tweak for - and hopefully with time and skills developing, anyone working on it can find a handful of good curves to express any tweaking desire they may have.

Interesting idea @levinite! Thanks for the thoughts of others - all inspiring to me.

Pianoteq Studio Bundle (Pro plus all instruments)  - Kawai MP11 digital piano - Yamaha HS8 monitors

Re: Feature request -- Statistical velocity curve view

Qexl wrote:

That staircase velocity curve takes me back to the 90s dpianos! (persevered with 7 steps in some of those). I think a lot of people in my range of experience in the 90s thought we played OK because of those infallible dynamic 'rails' on old dpianos to stick to.. it is exponentially more intricate on real pianos, to reliably drag out all the same sonic personality desired for each repeat performance (even for simple pop/experimental stuff I used those old keyboards for).

Pianoteq's default flat velocity curve seems to work better and better over the years it has to be said.

Yes that was a crazy idea in fact...better use a linear curve with a flatter slope for that purpose...

Re: Feature request -- Statistical velocity curve view

Oh yeah, that took me back in an unexpectedly good way (an old Ensonique sprung to mind - kind of primitive by today's actions - but I loved that thing) - and I might get some good uses from that step curve! Thanks Gilles

Pianoteq Studio Bundle (Pro plus all instruments)  - Kawai MP11 digital piano - Yamaha HS8 monitors

Re: Feature request -- Statistical velocity curve view

The randomization on velocity helps with playback of piano rolls or other sources where MIDI velocity data has been otherwise corrupted, removed or lost.  When I work with any large archives of piano rolls, it's nice to be able to open them directly instead of importing them into a DAW as it's a huge time saver.

As to other randomization, I like the idea of having more flexibility to add randomness to parameters that don't usually have it in real-life pianos, as it opens up a lot of interesting creative options.  Being that the "humanization" tool is already in the code, I would guess that applying its object parameters to any settings slider would be relatively easy both from both a programming and UI standpoint, while probably not degrading CPU performance that much.  (Though that's purely theoretical until the idea is tested in a release...)

Spotify: https://open.spotify.com/artist/2xHiPcCsm29R12HX4eXd4J
Pianoteq Studio & Organteq
Casio GP300 & Custom organ console

Re: Feature request -- Statistical velocity curve view

I do like the idea of adding randomized velocity - like you show tm, it's not necessarily to be seen in the context of enhancing (or ruining) our own playing - but definitely can see a great benefit of that to your workflow - I would see that as one more thing we don't need a DAW for

Can't remember for sure - might have been an early Atari DAW which had "Humanize" (or when Cubase or Cakewalk.. or something like those came out). At that time it felt new to me - but maybe similar tools had been around even longer than I know. Upshot was (is today too of course in most DAWS now) we would choose how deep we wanted it to randomize both velocity and timing (later came things like 'groove' going beyond just applying some swing). We could play any kind of very rough passages or song, even just mumbo jumbo of notes and chords, apply a scale to tame any obviously bad notes, then 'quantize' to then rail-road all notes into the bars/beats and iirc it also removed junk/overlapping notes, then hit 'humanize' to breath a bit of humanity back in.. wasn't great - but was suited to purpose - like with those piano rolls I suspect. Really quick work of making sloppy playing neater but not machine perfect, or making machine dry soulless MIDI with repetitive velocities seem more organic.

Pianoteq Studio Bundle (Pro plus all instruments)  - Kawai MP11 digital piano - Yamaha HS8 monitors