Summary

  • RFC 978 proposed an 18-byte header for moving speech files among different ARPA-Internet systems, including the encoding method, approximate recording rate, duration and a 16-bit touch-tone mask.
  • In that mask, 1 guaranteed that a particular DTMF tone was absent; 0 left its presence unknown. The distinction made negative evidence portable alongside the recording.

A recording leaves one computer and reaches another. The receiving machine has the bytes. What is it supposed to play? In February 1986, J.K. Reynolds and four coauthors answered with the Voice File Interchange Protocol, a small passport for speech files in a world of incompatible voice hardware. The passport was only 18 bytes long. Its strangest stamp did not describe a sound. It certified that a particular sound was missing.

The need came from variety. Different systems recorded speech in different ways, and interest in multimedia mail was growing. A pile of bits could travel perfectly while remaining opaque to the next machine. VFIP therefore described the recording rather than pretending that a single recording method had won. Its header carried a one-byte version number and a one-byte header length, both set for the first version; a 32-bit approximate rate in bits per second; a 32-bit duration in tenths of a second; and a six-byte ASCII method name. Short method names were padded with spaces and compared without regard to case.

The paper named equipment and network voice methods as examples. A converter could at least learn what sort of cargo had arrived.

In the middle sat a two-byte DTMF mask, covering the sixteen telephone touch tones: digits zero through nine, star, hash and A through D. This is where the intuitive reading fails. A 1 means the corresponding tone is guaranteed not to occur in the speech file. A 0 means the tone may or may not be there. Sixteen zeros say nothing is known. Sixteen ones say none of those tones occurs. A careless reader could reverse the claim and treat an assurance of absence as a warning of presence. The bit carries an assertion, not a sound sample.

The RFC supplied a worked example with useful teeth. A one-minute, 2,400-bit-per-second NVP-2 recording has a mask of zero: the header rules out no tones. A second example is ten seconds of 1,200-bit-per-second TI speech with mask 1,023. Its low ten bits are set, so tones zero through nine are guaranteed absent; the remaining six tones are unknown. The number 1,023 looks like a triumphant count until the rule is read. It is a list of ten things the recording cannot contain.

Even the passport did not have to be glued to the luggage. The authors allowed the header to be a separate associated file when that was more convenient. That flexibility put another small task on the receiving system: keep the metadata paired with the right speech bytes. The RFC Editor record dates the proposal to February 1986. The memo describes a format and hopes to facilitate automatic conversion; it offers no census of machines that used it and no universal conversion machine hiding in the header.

What makes these 18 bytes memorable is their refusal to collapse ignorance into an answer. The method field says how the voice was recorded. Rate and time give the receiver scale. The DTMF mask permits a stronger, narrower sentence: “This tone is absent.” When the file says nothing, the receiving program must keep that uncertainty. The voice may be the headline attraction, but the tiny passport knew when to keep its mouth shut.