Covox Speech Thing

The Covox Speech Thing is an external digital-to-analog converter (DAC) that plugs into the parallel printer port of a PC. It converts 8-bit digital sound using a simple R-2R resistor ladder into an analog signal output.

The Speech Thing was introduced on December 18, 1987 by Covox, Inc. of Eugene, Oregon, for about US$70 and priced US$79.95 as of 1989. People soon started to build their own (DIY) variants, since its communication protocol and DAC is simple and only requires soldering a few cheap parts. The novelty of its patent "Parallel port pass-through digital to analog converter" (filed in 1987, granted in 1989) wasn't specifically the use of a resistor ladder as a DAC, but rather the patent's discussion is around its ease of plugging into the parallel port and how its resistor ladder design didn't block other devices from using the parallel port. , as sound cards were still very expensive at that time. The plug was also quite popular in the demoscene.

An inherent problem of the design is that its quality relies on how precisely matched the resistors are (see ). If unmatched resistors are used, the resulting voltage levels get shuffled, especially for quiet sounds, resulting in distortion. Nevertheless, the sound quality of the Covox plug is far superior compared to the PC speaker; for some time, a self-built variant was an inexpensive way to give old computers sound capabilities.

Features


The Covox plug received an 8-bit digital byte for each digital audio sample from the parallel port and produced a high impedance mono analog output voltage signal though a mini phone connector. That signal could then be amplified and played back on loudspeakers.

The resistances of the R-2R ladder (100 kΩ and 200 kΩ according to the patent) are deliberately high-enough to prevent excessive loading of the signals, so a printer attached to the output connector will operate normally.

The original Covox plug itself doesn't use sequential logic or a clock signal, so theoretically it can operate with any sampling rate. In practice, however, parallel port speed limits make it rather hard to achieve even standard 44100 Hz (the average 1980s 80286 system could handle sampling rates of 12 kHz, while later the faster 33 MHz 486SX introduced in 1991 could handle 44 kHz).

Its 15 kΩ load resistor in parallel with a 5 nF capacitor after the R2R resistor ladder results in a passive RC low-pass filter starting around 3 kHz, thus limiting the analog bandwidth. Many DIY variants do not use the same ladder topology and component values, resulting in different timbre.

Another limiting factor was that the CPU had to be interrupted at the sampling rate to play background audio (thus incurring the cost of a context switch for every sample, many thousands of times a second), since there was no data buffering or direct memory access available.

The sound quality can be increased by software through dithering, which reduces perceptible aliasing noise and increases dynamic range (used in Inertia Player and FastTracker 2 as an interpolating option).

Commercial products

 * Covox Speech Thing – a R-2R resistor DAC with parallel port pass through, bundled with speech synthesis software, marketed originally as part of voice synthesis and recognition system.


 * Disney Sound Source – a different design to the Covox Speech Thing, though in a superficially similar case also with parallel pass through, marketed by Disney Software in early 1990s.
 * Consists of a FIFO buffer with a DAC on the board that plugs into the parallel printer port, which transmits analog audio over a registered jack to a separate amplifier / speaker box. Its price was set to only $14 and it was supported by many games (see below). It used external power (9 volt battery) and could be turned on/off by software. Contrary to the Covox Speech Thing which had no FIFO buffer, the Disney Sound Source features a 16-byte FIFO allowing for autodetection and flow control, which clocks digital output to the resistive DAC at a fixed sample rate of 7 kHz ±5%.
 * The printed circuit board DSS007C shows "Ⓟ (1983) U.S. 4,384,170 and others" which is an earlier patent by Forrest S. Mozer. The board a has one integrated circuit only (labeled "ICS1453") and the schematic shows 8 lines from the parallel port going into one chip with input pins D0-D8 that also has a "DAC output" pin going to an output "sound". So it can be inferred that that single chip implements both the FIFO and DAC internally, which differs dramatically from the passive R-2R design of the original Covox.
 * In 2015 the hardware was reverse engineered so compatible circuits can be built from easily available off the shelf components. It is also emulated by the popular DOSBox emulator.

Games
The Covox plug couldn't directly substitute any of the popular cards of that age (AdLib, Sound Blaster, Gravis UltraSound, etc.), but several games / platforms supported it directly. It is also usually used in tandem with an AdLib sound card as said card officially was a music card and while it could be put into a mode to handle sampled audio, it could not play sampled audio and music at the same time. Notable entries include:
 * 688 Attack Sub – title music, sound effects
 * Zorro – sound samples
 * Battle Bugs – speech, requires expanded memory
 * Star Control II – sounds
 * Covox Lemmings – special promotional edition of Lemmings released with Covox sound cards including special levels (only works with Covox sound cards for ISA Bus)
 * Pinball Fantasies
 * most older Sierra Entertainment games, such as King's Quest and Space Quest series
 * Build Engine games including Duke Nukem 3D, Redneck Rampage and Shadow Warrior

Music trackers
Popular DOS-based trackers used in the demoscene included Covox support, for example:
 * Modplay (also ModEdit, DMP, VP and other Mod players from early 1990s) (Up to 4 channel COVOX output or custom assembler routine for user device)
 * Inertia Player (mono, stereo-on-1 covox, with dithering option).
 * Multiplayer by DGS Italian Software Company
 * Galaxy Music Player (can play MODs even on an Intel 8088)
 * Scream Tracker version 2.3 direct support. Version 3.21 through virtual-soundblaster driver.
 * FastTracker (mono, stereo, stereo-on-1 mode, with dithering).
 * Impulse Tracker

Emulating other soundcards
Emulators exist that allow a physical Covox to appear as if it is another soundcard:
 * Virtual SoundBlaster – can emulate Sound Blaster on Covox
 * Covoxer – can emulate Tandy 1000/2000 music synthesizer
 * TEMU – can emulate Tandy 1000/2000 music synthesizer and Disney Sound Source

Emulating Covox
The DOSBox and Fake86 emulators can emulate a virtual Covox (as Disney Sound Source) on machines without a physical Covox.

Operating systems
Several operating systems have an installable driver for Covox:
 * Windows 3.1x, Windows 95, Windows 98
 * Linux
 * "Alternate Sound Driver for Linux 2.x" (pcsndrv) – supports a "Mono DAC" using one lp-port (parallel printer port) and a "Stereo DAC" using two lp-ports.
 * covox-music-player – not a kernel driver, but rather a userspace program that outputs sound on modern Linux distros to the Covox via port-mapped I/O with the outb (output byte) instruction wrapper function (which can be called from user space).
 * MenuetOS
 * CSI-DOS

Later variants

 * André LaMothe's 1995 book "Black Art of 3D Game Programming" section "Building Your Own Digital Sound Device-DIGIBLASTER" – while not saying the word "Covox", it does describe how to build a resistor ladder hardware device with a schematic that is essentially a clone of a Covox in stereo that plugs into two parallel printer ports, and describes DOS C code for driving it.
 * Simple LPTsnd – also compatible with SoundJR and FTL sound adapters in addition to Covox Speech Thing, allowing more games to be played.
 * CVX-4 – features DIP switches to select capacitor for the low-pass filter, to provide extra attenuation, and to bypass coupling capacitor.
 * Disney Soundsource 2015 Remake – reverse-engineered from an original adapter.
 * Allows software requiring the original Disney hardware to work without the need of any additional software emulators.
 * Benedikt's remakes:
 * Generic 8 bit audio DAC – includes parallel-port pass-through for printer, with intention of being more similar to original Covox.
 * Parallel Port Headphone DAC – replica of 1990s SiliconSoft SoundJr device that can drive headphones with power from the parallel port.
 * Parallel port audio and joystick adapter – compatible with FTL Sound Adapter.
 * ISA LPT DAC r0 – Dual-channel board that plugs into the ISA bus.
 * Each channel uses an Analog Devices AD7524 8-bit latched DAC CMOS chip containing a precise integrated thin-film resistor network.

Other Covox products

 * Covox Voice Master – Earlier 1984 speech-synthesis board for the Commodore 64 which could playback 64 words stored in memory with BASIC instructions. Word capacity could be extended with disk or tape.
 * Covox Voice Master Junior – Later cheaper ($39.95) variant that plugs into Atari joystick port and contains an electret microphone for recording sounds for playback or recognition and a speaker.

Also as described in a 1991 COVOX Company Profile:


 * Covox Sound Master – 1984 for Apple II, 1989 for MS-DOS PCs.
 * Covox Voice Master System II – 1990
 * Covox MIDI Maestro – 1990
 * Covox Sound Master II – 1990