MotorMouth For Future Artificial Humans

6 months ago

When our new computer overlord arrives it’ll likely give orders using an electromagnetic speaker (or more likely, by texting instead of talking). But for a merely artificial human being, shouldn’t we use an artificial mouth with vocal chords, nasal cavity, tongue, teeth and lips? Work on such a thing is scarce these days, but [Martin Riches] developed a delightful one called MotorMouth between 1996 and 1999.

It’s delightful for its use of a Z80 processor and assembly language, things many of us remember fondly, as well as its transparent side panel, allowing us to see the workings in action. As you’ll see and hear in the video below, it works quite well given the extreme difficulty of the task.

The lower section with electronics, motors and Bowden cables.

The various parts of the mouth are moved using eight stepper motors, seven of which are located below the mouth along with the electronics. They use Bowden cables to transfer the motor movements up to the mouth parts. One of those opens and closes a valve for letting some air flow through a nasal cavity located just above the mouth cavity. The eighth motor rotates the tongue from the back to the front of the mouth cavity and isn’t visible. A blower supplies the air. Unlike with us humans, there are two air paths from the blower. One passes through a reed for pitch control, and another path can be opened to allow more airflow, bypassing the reed. That increased airflow is needed for unvoiced sounds such as F, S and T. At the very front of the mouth are two block-like pieces that move up and down, one representing the lips, and behind it, one for the teeth.

[Martin’s] webpage includes early drawings as well as an explanation of how he represents the eight motors in the assembly code as eight bits. For each sound that can be made, the corresponding bits for the motors that need to be turned on are set, along with data for where each stepper motor should be turned to and how fast. He also includes a sample of the assembly code, though not all of it is there.