Hi Bill,
Probably all of the physical instruments you've already interfaced to
the computer via MIDI have some latency (in the tens of milliseconds)
between when they receive a MIDI event and when they actually produce
sound. If the instruments respond to MIDI velocity as well, this delay
can vary. The Disklavier's 500 ms delay (longer than the time required
to strike even the quietest note) exists to ensure that notes requested
at various velocities strike at the same time. When playing the
Disklavier via MIDI from an external MIDI keyboard or organ console,
most people prefer to disable the 500 ms delay and live with the
Disklavier striking notes with varying latencies.
But since it sounds like you'll be playing prerecorded material, you
should leave the 500 ms delay enabled and instead adjust the timing of
MIDI events sent to each of your instruments to account for their
latencies relative to the Disklavier's fixed 500 ms latency. One
approach would be to leave the piano events in your MIDI sequences alone
and shift the timing of the other instruments later by somewhere in the
range of about 450-480 milliseconds (not exactly 500 ms since we need to
account for the latency in striking the drums, chimes, etc.)
To be really precise about it, you could use a different offset for each
instrument after having measured the latency of each. A quick way to
measure the latency is to connect both a MIDI synth and the physical
instrument to the same MIDI stream, send a couple of notes at typical
velocities while making a digital audio recording, then load the
recording into a sound editing package like Audacity and measure the
elapsed time between when the MIDI synth sounds and when the physical
instrument strikes. Average the values measured for several strikes and
subtract the result from 500 milliseconds when applying an offset in
your MIDI sequences.
Someone ought to make a little box to insert into a wireline MIDI chain
to delay each MIDI channel separately by a configurable amount (say, up
to 1000 milliseconds in 1 ms units). If you can find a product like
that, you could avoid having to manually adjust your sequences.
Mark Fontana
Show quoted textHide quoted text
On Wed, 2011-04-13 at 02:53 +0000, William wrote:
> I was ready to 'pull the trigger' on buying a used Disklavier and then
> I ran into some discussion about 500ms delays and timing issues. So
> here I am, hat in hand, looking for advice. My needs are for a piano
> to intergrate into a number of instruments that I have. I have a Wicks
> glockenspiel, a set of Degan chimes, drum section (cymbal, three
> drums, and tamborine) and organ pipes. All of these are MIDI
> controlled from my computer. I would really like to have a piano in
> this ensemble and I have been considering the purchase of a
> Disklavier. . . .
>
> There have been a few postings indicating that others have controlled
> their Disklavier with a keyboard. This says to me that a Disklavier
> would work in my application. But then there have been some postings
> that mention a 500ms delay between the receiving the MIDI signal and
> the activation of the driver solenoid. This would present timing
> issues for my application where a half second delay would likely be
> very noticable.