Yahoo Groups archive

Disklavier

Index last updated: 2026-04-28 23:20 UTC

Message

Re: [disklavier] MIDI Interface limitations for Disklavier playback

2002-04-27 by Robert Welcyng

Mike, I do not have the definitive answer to your question, but I have 
some thoughts.

It's pretty difficult to make measurements that would answer your 
question.  Here's why:  Suppose you wrote MIDI files with two, three, . 
. . up to 16 simultaneous notes, put them on a diskette, and played 
them.  With a DAT recorder, you could audio-record the result and 
examine the resulting audio waveforms using software like Sound Forge or 
Cool Edit.  When you looked at the summed waveforms of all the notes, 
however, you would see a scramble of the initial transients of all the 
notes piled upon one other.  You would not be able to distinguish any 
particular note lagging another unless the timing error were really 
gross.  Playing through and recording just 15 files would not be 
sufficient.  You would also need to vary the velocities of the notes in 
the range of, say, 20 through 100, and, in addition, you should vary the 
Disklavier volume control setting in steps from, say, 0 to say -9.  All 
of this would be a lot of work and wouldn't yield the answer to your 
question.

The approach to take is not to try to determine how many milliseconds 
the timing errors are, but to listen for a problem (and no fair watching 
the keys).  Can you detect any timing differences aurally?  As you've 
indicated, you haven't discerned a problem.  I can't say that I have 
either, at least not with PianoSoft diskettes.

Here's what I have to offer:  One of the experiments that I have done 
with the Disklavier was to determine the timing accuracy of my Mark II 
from recording to diskette through reproduction.  I played a series of 
random legato notes about one second apart at various random velocities. 
  While playing those notes, I recorded, simultaneously,

1) E-SEQ to a Disklavier diskette

and

2) to a DAT with microphones connected.

Using Sound Forge, I determined to within a millisecond the time 
differences between the starts of the notes that I played.  (With the 
notes separated by about a second, it was easy to read the time where 
each started.)  I then played the Disklavier diskette (Volume = 0), 
recorded the audio again with the DAT, and compared the note initiation 
time differences as reproduced with that as originally played.  Here's 
what I found:

1) At note velocities between 80 and 100, 90% of the timing errors were 
within plus or minus 5 milliseconds.

2) At note velocities between 20 and 40, 90% of the timing errors were 
within plus or minus 15 milliseconds.

Those results don't apply directly to your question, but suppose the 
timing errors within a chord did run 5 to 15 milliseconds.  Would it be 
possible to hear unwanted arpeggiation?  Here's my opinion based on a 
short experiment using Sound Forge:  As one approaches 10 milliseconds 
time difference between two notes that are supposed to be played 
simultaneously, the playing does begin to sound a little sloppy. 
(Anyone is free to disagree with me.)

Based on the foregoing, I would expect that if you are experiencing 
arpeggiation of chords, you may be able to improve things by raising the 
velocity of the notes in the chord or by operating the Disklavier at a 
higher volume setting.

In summary, there are timing errors introduced by:

1) the pianist (as Mike pointed out)

2) the Disklavier recording process

3) the Disklavier reproduction process

In the design of the Disklavier, there are surely many engineering 
compromises.  For example, the keyboard and hammer motions are serially 
sampled; even at very high speed, timing errors, however small, must 
occur.  The important issue is: Overall, does the Disklavier, despite 
its engineering compromises, perform to your satisfaction?  Any 
detractor can rant about the engineering compromises inherent to the 
Disklavier and to the MIDI protocol, but do those compromises 
significantly--even noticeably--impair performance as you hear it?  And, 
could you afford a better alternative if there were one?

 >(and what
 > speed is the Disklavier's MIDI-in interface capable of?)

+++ All MIDI interfaces transmit and receive at 31,250 baud.  That's in 
the MIDI specification.

 > 3.  Does the Disklavier buffer the MIDI playback signal so that the
 > output to the solenoids is parallel when it needs to be?

+++ The Disklavier does buffer playback for about 0.5 seconds.  I don't 
know how closely in time two or more solenoids can be driven.  What does 
it matter to the listener if a timing error is present but is too small 
to be aurally detected?

 > 4.  Does conversion of MIDI files to ESEQ format eliminate the
 > problem?

+++ I've never been able to detect any difference in performance (as 
recorded on DAT and observed with Sound Forge) between a MIDI file and 
its corresponding E-SEQ file.

Be aware, however, that in playing the same E-SEQ file (or MIDI, for 
that matter) twice in a row (on my Mark II anyway), you will find 
differences in note timing betwen the two successive playings.  The 
errors are on the order of 5 milliseconds for note velocities of 40 to 
100, and up to 15 milliseconds at note velocities of about 20.  I can 
measure those errors using Sound Forge, but I could never hope to detect 
them by ear.

 > 5.  Relative to this problem, does it matter whether the MIDI output
 > is from an I/O device within the Disklavier control unit, vs. a
 > signal from an external PC?

+++ It depends.  An old PC I once had (running Windows 3.1) would 
lug-down, with Cakewalk used as a sequencer, if I started using Windows 
Explorer (or whatever it was then).  Now, with the commonly used 
machines and OS's, and with reasonable care, I wouldn't expect a problem.
-- 
Robert Welcyng
Anchorage, Alaska

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.