Share on Facebook Tweet on Twitter Share on LinkedIn Share by email
SAPI: Speech Application Programming Interface Development Toolkit

Can you imagine if every time you wrote a C program with a printf routine you'd have to modify your program to make it work on different printers? Believe or not, this is the way things worked in early stages of computing before printer drivers were invented. Every printer manufacturer has to write a piece of code, called printer driver, that implements a set of specified functions on their printer. Application developers use those set of specified functions to talk to a printer, so they do not care which printer model the user has. This simplifies application development and ensures applications will work with every printer, even those that do not exist yet.

So, what do printers have in common with speech technology? Many application developers have to write code just to support different speech recognizers. The speech research group identified this problem and worked to solve it shortly after being founded in 1993. In 1995 the group released SAPI1.0, the first version of the Speech Application Programming Interface under Windows. Since then the group has been releasing SAPI2, SAPI3 and finally SAPI4 in 1998. At that point, SAPI was transferred to the Speech Products Group group, which has since shipped SAPI5.0 and most recently SAPI5.1 in 2001. The goal of SAPI is to specify drivers, like the case of printers, which in this case are called speech engines.

A software development Kit (SDK) was also released that included example sample code. Building a program that understands your spoken commands and talks back to you is still not trivial but, using the SAPI SDK, developers can write such programs in a reasonable amount of time. Today SAPI is a de facto standard in Windows programs.