From owner-freebsd-multimedia Wed Jun 11 03:41:30 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.5/8.8.5) id DAA15520 for multimedia-outgoing; Wed, 11 Jun 1997 03:41:30 -0700 (PDT) Received: from bmccane.uit.net (bmccane.uit.net [208.129.189.48]) by hub.freebsd.org (8.8.5/8.8.5) with ESMTP id DAA15512 for ; Wed, 11 Jun 1997 03:41:26 -0700 (PDT) Received: from bmccane.uit.net (localhost.mccane.com [127.0.0.1]) by bmccane.uit.net (8.8.5/8.8.5) with ESMTP id FAA10011; Wed, 11 Jun 1997 05:41:18 -0500 (CDT) Message-Id: <199706111041.FAA10011@bmccane.uit.net> X-Mailer: exmh version 2.0gamma 1/27/96 To: Chuck Robey cc: multimedia@FreeBSD.ORG Subject: Re: Old standards In-reply-to: Your message of "Tue, 10 Jun 1997 22:54:30 EDT." Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Wed, 11 Jun 1997 05:41:17 -0500 From: Wm Brian McCane Sender: owner-multimedia@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk > On Tue, 10 Jun 1997, Wm Brian McCane wrote: > > > > On Mon, 9 Jun 1997, Wm Brian McCane wrote: > > > > > The algorithm used by this chip was a lossy algorithm. It had a single bit of > > data per sample. The sample would start at say 127, then each 0 bit decreases > > the value by 1, and each 1 bit increased it by 1. If there are 3 bits in a > > row which are identical, the algorithm uses a catchup value from that point > > on, say a value of 3, until the current value crosses over the actual target > > value. This procedure continues for the entire play back, and `approximates' > > the input data. There are two problems with this algorithm, one is that it is > > lossy, however at 32K/second the target value doesn't tend to change more than > > a couple of bits either way. The second problem is a `hiss' equal to 1/2 the > > sample rate because it is NOT possible to play silence. Instead it plays back > > 127,128,127,128,127,128,127,128,127,128,127,128. Actually, now that I think > > about it, there was a 3rd possible problem. When approximating you could > > overshoot the size of a byte, and get a POP when the value went from 0 to 255 > > quickly. > > This sounds like adaptive delta mod, which is not limited to an 8 bit > range. At 32K, it would sounds pretty good, I'd think. I believe that it was called Adaptive Delta Pulse Code Modulation (ADPCM). I have the datasheets here for the chip, but I cannot find them. They gave a really nice quality playback at 32K/sec. One trick, that we used was a 16KHz filter on the microphone connection. This completely eliminated the hiss and made it sound nearly CD quality actually. Our HBD was and as far as I know still is the envy of the industry because we had such good speech, and it was easily changable. Customer would order `Think Safety' EPROM, and drop it in for their slogan. Other companies used various things including tape, and none sounded as good or were nearly as reliable. brian