Speak (Unix) Explained

speak
Author:Douglas McIlroy
Developer:AT&T Bell Laboratories
Operating System:Unix and Unix-like
Genre:Command

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, 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.

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.

Notes and References

  1. M. Douglas McIlroy. Synthetic English speech by rule. 14. The Journal of the Acoustical Society of America. March 1974. S1. S55–S56. 10.1121/1.1919804. 1974ASAJ...55R..55M. free.
  2. Synthetic speech by rule. M. D.. McIlroy. Bell Telephone Laboratories technical report. 1974.
  3. Web site: UNIX® on the Game Boy Advance. www.kernelthread.com.
  4. Web site: [TUHS] speak.c, or sometimes the bits are under your nose]. https://web.archive.org/web/20140620170452/https://minnie.tuhs.org/pipermail/tuhs/2011-December/002538.html . 2014-06-20 .
  5. Web site: [TUHS] speak.c, or sometimes the bits are under your nose ]. minnie.tuhs.org . dead . https://web.archive.org/web/20140620170426/http://minnie.tuhs.org/pipermail/tuhs/2011-December/002550.html . 2014-06-20.
  6. Web site: [TUHS] speak.c, or sometimes the bits are under your nose ]. minnie.tuhs.org . dead . https://web.archive.org/web/20140620170429/http://minnie.tuhs.org/pipermail/tuhs/2011-December/002546.html . 2014-06-20.
  7. Web site: The Unix Tree . minnie.tuhs.org . 24 November 1981 . 31 December 2023.
  8. http://minnie.tuhs.org/UnixTree/V4/usr/man/man1/speak.1 The Unix Tree
  9. http://minnie.tuhs.org/UnixTree/V6/usr/man/man6/speak.6 The Unix Tree
  10. http://minnie.tuhs.org/UnixTree/V3/usr/man/manx/speakm.5.html The Unix Tree
  11. http://minnie.tuhs.org/UnixTree/V3/usr/man/man7/vsp.7.html The Unix Tree