API、SAPI)は、Windowsアプリケーションで音声認識や音声合成を使うためにマイクロソフトが開発したAPI。自体の一部としてリリースされたものもある。一般にどのバージョンのAPIであっても、様々な言語で音声合成/認識機能を使ったアプリケーションを書くための標準インタフェースを提供している。サードパーティがSAPI対応の音声認識エンジンや音声合成エンジンを開発することも可能となっている。原則として、それらエンジンが定義されたインタフェースに準拠している限り、マイクロソフト提供のエンジンの代替として使うことが可能である。自由に再配布可能なコンポーネントであり、それを使っているアプリケーションと同梱させることが可能である。音声認識/合成エンジンの多くも自由に再配布可能である。2つのファミリがある。バージョン1から4までは互いによく似ていて、新しいバージョンほど新機能が追加されている。インタフェースは従来とは全く異なる。マイナーチェンジ版がいくつかリリースされている。外部リンク基本アーキテクチャ[編集]SAPIは言わば、アプリケーションと音声(合成/認識)エンジンの間のインタフェースあるいはミドルウェアである。SAPIバージョン1から4では、アプリケーションは直接エンジンとやり取りできる。APIには、アプリケーションとエンジンが準拠すべき抽象「インタフェース定義」も含まれる。アプリケーションはエンジンのメソッドを直接呼び出す代わりに、単純化された高レベルのオブジェクトを使うこともできる。アプリケーションとエンジンは直接やり取りできない。その代わり、両者が1つのランタイムコンポーネント(sapi.dll)とやり取りする。このコンポーネントにアプリケーション向けAPIとエンジン向けインタフェースが実装されている。アプリケーションは、認識文法のロード、認識開始、合成すべき文を提供するなどといった作業にこのAPIを使う。行われるが、文法データは実際に認識を行う認識エンジンに渡される)。処理中、認識エンジンや合成エンジンもイベントを生成することがある(例えば、発声を認識したことを示す場合や、合成音声内の単語境界を示す場合など)。経由してアプリケーションにイベントが通知される。一部としてリリースされている。以下のコンポーネントが含まれている。デフォルトの音声認識/音声合成エンジンを選択/設定するのに使う。