speak (Unix)
{{Short description|Unix utility}}
{{Use mdy dates|date=June 2022}}
{{lowercase title|title=speak}}
{{Infobox software
| name = speak
| logo =
| screenshot =
| screenshot size =
| caption =
| author = Douglas McIlroy
| developer = AT&T Bell Laboratories
| released = {{Start date and age|1973|2}}
| latest release version =
| latest release date =
| operating system = Unix and Unix-like
| genre = Command
| license =
| website =
}}
{{mono|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.{{cite journal|author=M. Douglas McIlroy|title=Synthetic English speech by rule|volume=14|journal=The Journal of the Acoustical Society of America|date=March 1974|issue=S1|pages=S55–S56|doi=10.1121/1.1919804|bibcode=1974ASAJ...55R..55M|doi-access=free}}{{cite report|url=http://www.cs.dartmouth.edu/~doug/pubs.html|first=M. D.|last=McIlroy|title=Synthetic speech by rule|publisher=Bell Telephone Laboratories technical report|year=1974}} It was first included in Unix v3{{cite web|url=http://www.kernelthread.com/publications/gbaunix/|title=UNIX® on the Game Boy Advance|website=www.kernelthread.com}} and possibly later ones, with the OS-end support files and help files persisting until v6. As of late 2011, the original source code{{cite web|url=http://minnie.tuhs.org/pipermail/tuhs/2011-December/002538.html |archive-url=https://web.archive.org/web/20140620170452/https://minnie.tuhs.org/pipermail/tuhs/2011-December/002538.html |archive-date=2014-06-20 |title=[TUHS] speak.c, or sometimes the bits are under your nose}}{{cite web |url=http://minnie.tuhs.org/pipermail/tuhs/2011-December/002550.html |title=[TUHS] speak.c, or sometimes the bits are under your nose |website=minnie.tuhs.org |url-status=dead |archive-url=https://web.archive.org/web/20140620170426/http://minnie.tuhs.org/pipermail/tuhs/2011-December/002550.html |archive-date=2014-06-20}} for {{mono|speak}}, and portions of speak.m (which is generated from speak.v){{cite web |url=http://minnie.tuhs.org/pipermail/tuhs/2011-December/002546.html |title=[TUHS] speak.c, or sometimes the bits are under your nose |website=minnie.tuhs.org |url-status=dead |archive-url=https://web.archive.org/web/20140620170429/http://minnie.tuhs.org/pipermail/tuhs/2011-December/002546.html |archive-date=2014-06-20}} were discovered. At least three{{cite web | title=The Unix Tree | website=minnie.tuhs.org | date=24 November 1981 | url=https://minnie.tuhs.org/cgi-bin/utree.pl | access-date=31 December 2023}}[http://minnie.tuhs.org/UnixTree/V4/usr/man/man1/speak.1 The Unix Tree] minnie.tuhs.org[http://minnie.tuhs.org/UnixTree/V6/usr/man/man6/speak.6 The Unix Tree] minnie.tuhs.org versions of the man page are known to still exist.
The main program (speak) was around 4500 bytes, the rule tables (/etc/speak.m) were around 11,000 bytes, and the table viewer (speakm)[http://minnie.tuhs.org/UnixTree/V3/usr/man/manx/speakm.5.html The Unix Tree] minnie.tuhs.org was around 1900 bytes.
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.
According to the McIlroy paper, "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.[http://minnie.tuhs.org/UnixTree/V3/usr/man/man7/vsp.7.html The Unix Tree] minnie.tuhs.org 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|date=December 2010}}
References
{{Reflist}}