Conversion Between Ampico and MIDI
By George Bogatko
Robbie Rhodes wrote:
>Once the music is in MIDI file format the expression coding channels may be >"interpreted" to yield MIDI velocities, which are appropriately applied to >each note event. I wrote an off-line program for this purpose, so that if I >change the expression coding (editing the Ampico crescendo, for example) I >can simply re-interpret the new coding and hear the result quickly.
Now that gets my juices going. If I create a pure original MIDI file with velocities, can that be accurately transferred to Ampico expression coding? How much post conversion fiddling is involved to get it right?
I'd find that real interesting because (to catch up those who don't know how it works) the whole Ampico expression system is kind of a 6-level intensity riding on a floating general level of loudness. If you are talking about cutting 'A' rolls it is worse because the two halves of the mechanism are on separate and duplicate gizmos. You can't just have an algorithm that says something like
if [ velocity > 10 && velocity < 20 ] trigger Ampico intensity 1 else if [ velocity > 20 && velocity < 30 ] trigger Ampico intensity 2
because "intensity N" is different depending on when you started the crescendo closing (and whether it was a slow crescendo or a fast crescendo). So that means a lot of look-ahead buffering so you can say:
if [ I now want velocity 90 (for the upper half) ] then 5 seconds ago, I should have started closing the slow crescendo.
But in the meantime, you have to keep the general level sounding the same, so that means backing off some of the accents while the crescendo's occurring. It's kind of a mess.
If you study the rolls carefully, from the very early twenties up to the end of the cycle when Frank Milne was cutting them, you see a wide variety of technique used in balancing the accent holes against the current crescendo level. Go under the piano, and watch the crescendo bellows -- they go up and down like a roller-coaster, but empirically the general level stays the same (unless there is a *real* crescendo in progress.) My guess is that there really wasn't a standard way to code the holes until much later. It was an art, passed on from guru to guru.
Watch a Fairchild roll (Rachmaninoff, Vincent Lopez, OPT), then watch a Milne roll. Note how Fairchild sets up for the accent, and how Milne does it. Entirely different. The rolls that Fairchild edited for Rachmaninoff have almost infinite shading. Milne's rolls were mainly popular, so he could afford to be less "granular". Milne's "American in Paris" roll for instance, is very much a "terraced dynamics" job, as opposed to Fairchild's "Liebesfreud" roll.
So, to wrap up, If a humble composer wants to compose an Ampico roll from scratch, how could it be done? (Incidentally, mine is a Knabe 'A' from 1924.)
*****************************************************************
Stephen Harris Writes:
>So... is it too Rube Goldbergian to suggest a device which >would clamp onto the tracker bar and which would have, for each >tracker bar opening, a small solenoid-controlled shutter or >mini-valve which would mimic roll perforations by allowing air >into the tracker bar in the same manner as perforations.
This would fit the bill very nicely. I could compose the roll directly on Cakewalk's "Piano Roll View", just like I did for the rolls that Bam-Bam (Bill Jelen's company) is releasing, and simply punch in the expression "holes" as just other dots and lines on the view, and test them out "real time." (But my wife would have a cow. Just imagine screeching at the kids to stay away from the CABLE!!!) The algorithm for correcting the onset of the "real" punched paper expression holes would be much simpler to program than one which tries to make educated guesses as to when to actually start the crescendo etc. In fact, one could really make artistic decisions based on the true characteristics of the mechanism instead of second or third hand (as in if you could only program MIDI velocities.)
Enough for now
GB
George Bogatko - gbogatko@intac.com
http://www.intac.com/~gbogatko |
(Message sent Wed 29 Nov 1995, 02:00:46 GMT, from time zone GMT-0500.) |
|
|