Jump to content

speak (Unix)

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Lord Nightmare (talk | contribs) at 20:50, 14 June 2009 (better links for the 3 known manpages). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.


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] It was first included in Unix v3[2] and possibly later ones, with the OS-end support files and help files persisting until v6 and some but not all[3] versions of 7. Neither the original binaries nor the source code for speak have been found yet, though at least three[4][5][6] 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 11000 bytes[1], and the table viewer (speakm)[7] 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 was included with the 1st Edition of Unix in 1973. In 1974, Douglas McIlroy published a paper describing the workings of this algorithm.[8] It is quite likely that this algorithm, later referred to as the "Mcilroy Algorithm", provided the inspiration for a later (1976), simpler text-to-speech algorithm developed jointly by Votrax and the U.S. Naval Research Laboratory, known as the "NRL Algorithm".

According to the McIlroy paper[8], "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.[9]


  1. ^ a b c d M. Douglas McIlroy (1974). "Synthetic English speech by rule". Computing Science Technical Report, Bell Laboratories. 14. {{cite journal}}: External link in |title= (help); Unknown parameter |month= ignored (help)
  2. ^ http://www.kernelthread.com/publications/gbaunix/
  3. ^ http://plan9.bell-labs.com/7thEdMan/index.html
  4. ^ http://minnie.tuhs.org/UnixTree/V3/usr/man/man1/speak.1
  5. ^ http://minnie.tuhs.org/UnixTree/V4/usr/man/man1/speak.1
  6. ^ http://minnie.tuhs.org/UnixTree/V6/usr/man/man6/speak.6
  7. ^ http://minnie.tuhs.org/UnixTree/V3/usr/man/manx/speakm.5.html
  8. ^ a b Cite error: The named reference mcilroy paper was invoked but never defined (see the help page).
  9. ^ http://minnie.tuhs.org/UnixTree/V3/usr/man/man7/vsp.7.html