Speak (Unix)

Last updated

speak
Original author(s) Douglas McIlroy
Developer(s) AT&T Bell Laboratories
Initial releaseFebruary 1973;50 years ago (1973-02)
Operating system Unix and Unix-like
Type Command

speak was a Unix utility that used a predefined set of rules to turn a file of English text into phoneme data compatible with a Federal Screw Works (later Votrax) model VS4 "Votrax" Speech Synthesizer. [1] [2] It was first included in Unix v3 [3] and possibly later ones, with the OS-end support files and help files persisting until v6. As of late 2011, the original source code [4] [5] for speak, and portions of speak.m (which is generated from speak.v) [6] were discovered. At least three [7] [8] [9] versions of the man page are known to still exist.

Contents

The main program (speak) was around 4500 bytes, [1] the rule tables (/etc/speak.m) were around 11,000 bytes, [1] and the table viewer (speakm) [10] was around 1900 bytes. [1]

History

The speak utility was developed by Douglas McIlroy in the early 1970s at AT&T Bell Labs in Murray Hill, New Jersey. It was included with the 1st Edition of Unix in 1973. In 1974, McIlroy published a paper describing the workings of this algorithm. [1]

According to the McIlroy paper, [1] "K. Thompson and D. M. Ritchie integrated the device smoothly into the operating system", which is evident from /usr/sys/dev/vs.c "Screw Works Interface via DC-11".

McIlroy Algorithm

The McIlroy Algorithm is a large set of rules, sub-rules, and sub-sub-rules, applied to a word to isolate long vowels, silent 'e's, and slowly convert each letter into its "Screw Works" equivalent phoneme code. [11] The intention of the algorithm is to convert any English text into Votrax Phoneme codes, which could be played back/recited by a Federal Screw Works "Votrax" speech synthesizer.

A later (1976), simpler text-to-speech algorithm developed jointly by Votrax and the U.S. Naval Research Laboratory, known as the "NRL Algorithm", serves a similar purpose.[ citation needed ]

Related Research Articles

<span class="mw-page-title-main">GIF</span> Bitmap image file format family

The Graphics Interchange Format is a bitmap image format that was developed by a team at the online services provider CompuServe led by American computer scientist Steve Wilhite and released on June 15, 1987.

UTF-8 is a variable-length character encoding standard used for electronic communication. Defined by the Unicode Standard, the name is derived from Unicode Transformation Format – 8-bit.

Speech synthesis is the artificial production of human speech. A computer system used for this purpose is called a speech synthesizer, and can be implemented in software or hardware products. A text-to-speech (TTS) system converts normal language text into speech; other systems render symbolic linguistic representations like phonetic transcriptions into speech. The reverse process is speech recognition.

grep is a command-line utility for searching plain-text data sets for lines that match a regular expression. Its name comes from the ed command g/re/p, which has the same effect. grep was originally developed for the Unix operating system, but later available for all Unix-like systems and some others such as OS-9.

Lempel–Ziv–Welch (LZW) is a universal lossless data compression algorithm created by Abraham Lempel, Jacob Ziv, and Terry Welch. It was published by Welch in 1984 as an improved implementation of the LZ78 algorithm published by Lempel and Ziv in 1978. The algorithm is simple to implement and has the potential for very high throughput in hardware implementations. It is the algorithm of the Unix file compression utility compress and is used in the GIF image format.

<span class="mw-page-title-main">Douglas McIlroy</span> American mathematician and computer scientist

Malcolm Douglas McIlroy is a mathematician, engineer, and programmer. As of 2019 he is an Adjunct Professor of Computer Science at Dartmouth College. McIlroy is best known for having originally proposed Unix pipelines and developed several Unix tools, such as spell, diff, sort, join, graph, speak, and tr. He was also one of the pioneering researchers of macro processors and programming language extensibility. He participated in the design of multiple influential programming languages, particularly PL/I, SNOBOL, ALTRAN, TMG and C++.

compress is a Unix shell compression program based on the LZW compression algorithm. Compared to gzip's fastest setting, compress is slightly slower at compression, slightly faster at decompression, and has a significantly lower compression ratio. 1.8 MiB of memory is used to compress the Hutter Prize data, slightly more than gzip's slowest setting.

In computer programming, a magic number is any of the following:

uuencoding is a form of binary-to-text encoding that originated in the Unix programs uuencode and uudecode written by Mary Ann Horton at the University of California, Berkeley in 1980, for encoding binary data for transmission in email systems.

The Lempel–Ziv–Markov chain algorithm (LZMA) is an algorithm used to perform lossless data compression. It has been under development since either 1996 or 1998 by Igor Pavlov and was first used in the 7z format of the 7-Zip archiver. This algorithm uses a dictionary compression scheme somewhat similar to the LZ77 algorithm published by Abraham Lempel and Jacob Ziv in 1977 and features a high compression ratio and a variable compression-dictionary size, while still maintaining decompression speed similar to other commonly used compression algorithms.

7z is a compressed archive file format that supports several different data compression, encryption and pre-processing algorithms. The 7z format initially appeared as implemented by the 7-Zip archiver. The 7-Zip program is publicly available under the terms of the GNU Lesser General Public License. The LZMA SDK 4.62 was placed in the public domain in December 2008. The latest stable version of 7-Zip and LZMA SDK is version 22.01.

dd is a command-line utility for Unix, Plan 9, Inferno, and Unix-like operating systems and beyond, the primary purpose of which is to convert and copy files. On Unix, device drivers for hardware and special device files appear in the file system just like normal files; dd can also read and/or write from/to these files, provided that function is implemented in their respective driver. As a result, dd can be used for tasks such as backing up the boot sector of a hard drive, and obtaining a fixed amount of random data. The dd program can also perform conversions on the data as it is copied, including byte order swapping and conversion to and from the ASCII and EBCDIC text encodings.

<span class="mw-page-title-main">Pipeline (Unix)</span> Mechanism for inter-process communication using message passing

In Unix-like computer operating systems, a pipeline is a mechanism for inter-process communication using message passing. A pipeline is a set of processes chained together by their standard streams, so that the output text of each process (stdout) is passed directly as input (stdin) to the next one. The second process is started as the first process is still executing, and they are executed concurrently. The concept of pipelines was championed by Douglas McIlroy at Unix's ancestral home of Bell Labs, during the development of Unix, shaping its toolbox philosophy. It is named by analogy to a physical pipeline. A key feature of these pipelines is their "hiding of internals". This in turn allows for more clarity and simplicity in the system.

The term "Research Unix" refers to early versions of the Unix operating system for DEC PDP-7, PDP-11, VAX and Interdata 7/32 and 8/32 computers, developed in the Bell Labs Computing Sciences Research Center (CSRC).

In Unix computing, crypt or enigma is a utility program used for encryption. Due to the ease of breaking it, it is considered to be obsolete.

<span class="mw-page-title-main">Votrax</span> Defunct speech synthesis company

Votrax International, Inc., or just Votrax, was a speech synthesis company located in the Detroit, Michigan area from 1971 to 1996. It began as a division of Federal Screw Works from 1971 to 1973. In 1974, it was given the Votrax name and moved to Troy, Michigan and, in 1980, split off of its parent company entirely and became Votrax International, Inc., which produced speech products up until 1984.

MBROLA is speech synthesis software as a worldwide collaborative project. The MBROLA project web page provides diphone databases for many spoken languages.

sum is a legacy utility available on some Unix and Unix-like operating systems. This utility outputs a 16-bit checksum of each argument file, as well as the number of blocks they take on disk. Two different checksum algorithms are in use. POSIX abandoned sum in favor of cksum.

<span class="mw-page-title-main">Lorinda Cherry</span> Computer scientist and original Unix team member (1944–2022)

Lorinda Cherry was an American computer scientist and programmer. Much of her career was spent at Bell Labs, where she was for many years a member of the original Unix Lab. Cherry developed several mathematical tools and utilities for text formatting and analysis, and influenced the creation of others.

crypt is a POSIX C library function. It is typically used to compute the hash of user account passwords. The function outputs a text string which also encodes the salt, and identifies the hash algorithm used. This output string forms a password record, which is usually stored in a text file.

References

  1. 1 2 3 4 5 6 M. Douglas McIlroy (March 1974). "Synthetic English speech by rule". The Journal of the Acoustical Society of America. 14 (S1): S55–S56. Bibcode:1974ASAJ...55R..55M. doi: 10.1121/1.1919804 .
  2. McIlroy, M. D. (1974). Synthetic speech by rule (Report). Bell Telephone Laboratories technical report.
  3. "UNIX® on the Game Boy Advance". www.kernelthread.com.
  4. "[TUHS] speak.c, or sometimes the bits are under your nose". Archived from the original on June 20, 2014.
  5. "[TUHS] speak.c, or sometimes the bits are under your nose". minnie.tuhs.org. Archived from the original on June 20, 2014.
  6. "[TUHS] speak.c, or sometimes the bits are under your nose". minnie.tuhs.org. Archived from the original on June 20, 2014.
  7. "The Unix Tree". minnie.tuhs.org. November 24, 1981. Retrieved December 31, 2023.
  8. The Unix Tree minnie.tuhs.org
  9. The Unix Tree minnie.tuhs.org
  10. The Unix Tree minnie.tuhs.org
  11. The Unix Tree minnie.tuhs.org