I agree with previous posts -- this is something that software can help
with but probably not do all by itself. Roll coding is fundamentally
a process of throwing away information because it's not possible to
have individual expression for every note. The secret is to keep the
correct parts! An experienced editor needs to be in control to make
this happen.
I imagine that with a really good expression simulator and the original
MIDI, scaled so they match, it might be possible to get a fair amount
of the way in software by iterative coding and comparison of actual and
simulated MIDI, with some form of error-minimisation logic to guide the
coding towards the original MIDI.
That's easy to write, but there are some rather meaty problems hidden
in the words! A "good expression simulator" requires a lot of work to
get right, "scaled so they match" means that the characteristics of the
MIDI recording piano need to be known and the simulator's range set
accordingly.
What kind of "error minimisation" would be needed is hard to say.
It could be a conventional numerical technique such as least-squares
minimisation, or it could be a sequence of rules that have been shown
to work (a heuristic approach). Then there the need for artistic
decisions such as flattening chords to a single playing level or
separating out a prominent note because it's part of the theme, but
even then, what to do if the theme line is elsewhere and requires
different coding?
For practical purposes, new rolls probably should also try to maintain
the basic style of original roll editors, so that the general playing
characteristics of old and new rolls are similar. Even ill-adjusted
instruments will then play the new rolls the way their owners expect,
albeit wrongly. Although there are cases where old rolls appear to be
somewhat under-coded, and the instruments capable of achieving more
nuance than is on the roll, care would be needed in adopting new editing
styles. A degree of allowance for less-nimble aging instruments seems
sensible. I'm sure original rolls made such allowances!
There's also no point in coding rolls to sound good on a poorly
adjusted instrument, because the compensation in the coding needed to
overcome errors in the test system will make the roll sound dreadful on
good instruments. Given the lack of factory-standard instruments these
days, new rolls need to be tested on a number of different instruments.
Rather too many of the modern rolls that I've heard seem to have fallen
into some trap along the way. Very few achieve the subtlety of older
rolls. There seems to be a tendency to have lots of very quiet or very
loud with nothing in the middle. It could simply be a lack of musical
judgement on the editor's part, of course.
So, just like in reproducing rolls of old, it's not hard to make
expression coding, but it's hard to do it well. It's certainly worth
trying, as it would be nice to see the repertoire expanding. I'm
working away at my roll editor to see what I can achieve with it, along
the lines mentioned above. Rather a long way to go yet, I fear.
Julian Dyer
|