The Long History of Computer Voices
In 1986, a Macintosh could have a moose on its screen. He talked aloud and told jokes, with his mouth moving along with the words.
Canadian physician and programmer Steven B. Halls created the Talking Moose, back when a recognizable face had to be assembled from black-and-white pixels. Few pixels were enough to give this character a personality.
Questions about artificial intelligence tend to follow today's talking computers. The Moose's beginnings tell a different kind of story, that of one programmer working out how to make a computer-generated voice seem to issue from a character.
Why a moose, though?
The antlers helped.
Images of the original Talking Moose show a two-dimensional Macintosh character. With so little room for detail, its outline had to carry most of the work. As Halls recalls, antlers were easy to recognize at a small size. Liking moose himself settled the matter.
The first version was written by Halls in assembly language. Making the lips follow the speech took real ingenuity. As Halls recalls, the program located Macintalk, the Macintosh speech engine, in memory. Watching data about the sound being played, it then adjusted the Moose's mouth shape to match.
This left the speech engine's memory untouched. It was the Moose that did the watching. Accessing memory across applications was possible in early Macintosh software, though modern operating systems generally restrict it.
That same access let the character remark on window and document names in familiar applications. A Moose that appeared to know something about your work was reacting to information on your own computer. No language model stood behind the face; its behavior was programmed.
The Years in Color
The Moose had taken on color by about 1989. A picture of that version, printed with an early Macintosh color printer, hung on Halls's wall. His color Moose account includes scans with the printing dots still visible.
You can inspect this small piece of computing history, the character as it looked then, preserved in software and on paper.
Early users provided another kind of record. In a letter published in 2016, Mike Ellis remembered seeing the Moose at a Boston Mac Developers Group conference in the late 1980s:
"He was widely admired by some of the cleverest developers I've ever known, and he became my constant companion on my Mac Plus."
That letter sits among other recollections sent to Halls. Decades after using the software, people still remembered the character well enough to write to its maker.
Giving a 3D Head Life
The later Windows Moose had a three-dimensional head. Its ears moved; its eyes looked around. More expression came from its eyebrows and mouth than the original pixels could manage.
Repeating the same animation clips would have made those movements predictable. Algorithms generating its motions gave the Windows character procedural animation instead.
Halls's account of the animation describes controlled randomness. Rather than ending at exactly the same spot, a movement could finish near a target. Its speed varied as well, and so did the pause before the next movement. Smooth acceleration and deceleration kept the result from looking mechanical.
The lip-sync mechanism changed with the platform. On Windows, timing information from Microsoft's Speech API told the character which mouth shapes to use. The old Macintalk memory-observation technique did not need to be recreated.
Something Worth Saying
The Moose kept its jokes, but plugins added other things for it to talk about. News and weather came alongside reminders and notifications.
A June 2016 update described a working Pushover connection, with IFTTT supplying events for the Moose to announce. In one example, the Moose warned of approaching rain. In another, a phone entering a home geofence triggered a spoken "Welcome home" on the user's PC.
There was no need to keep checking a screen for those messages. They could be heard.
A Voice That Had a Face
The original Moose appeared in 1986, some forty years before the current enthusiasm for AI assistants. To call it an early version of today's conversational AI would miss what Halls actually built. Speech synthesis and carefully written animation code were enough to make a joke appear to come from an antlered companion.
That companion, for Mike Ellis, belonged on his Mac Plus. For the later Windows project, it could be the voice announcing rain or greeting someone arriving home.
The early screenshots still repay a look. It's plainly a face made of pixels, yet a former user remembered a companion. That is quite a result for a joke-telling moose.
