Speech Application Programming Interface (SAPI) について
Speech API(SAPI)は、Microsoftが開発したWindowsアプリケーション向けの音声認識と
音声合成APIです。さまざまなバージョンが存在し、Speech SDKの一部として提供されたものや、Windows OS自体に組み込まれたものがあります。SAPIを利用したアプリケーションには、
Microsoft Office、Microsoft Agent、Microsoft Speech Serverなどがあります。
SAPIの概要
SAPIは、様々な言語に対応した
音声合成・認識機能を持つアプリケーションを開発するための標準インターフェースを提供します。サードパーティによるSAPI対応の音声認識・合成エンジンの開発も可能で、定義されたインターフェースに準拠していれば、Microsoft提供のエンジンを代替できます。SAPIは再配布可能なコンポーネントであり、アプリケーションと同梱できます。
SAPIには大きく分けて2つのファミリが存在します。バージョン1から4は、新機能が追加されつつも類似した構造を持っていましたが、
2000年にリリースされたSAPI 5では、インターフェースが大幅に変更されました。
基本アーキテクチャ
SAPIは、アプリケーションと音声エンジン(合成/認識)間のインターフェース、つまりミドルウェアとして機能します。SAPIバージョン1から4では、アプリケーションは直接エンジンとやり取りが可能でしたが、SAPI 5ではランタイムコンポーネント(sapi.dll)を介してやり取りを行うようになりました。
SAPI 5のアーキテクチャでは、アプリケーションはsapi.dllを通して、認識文法のロード、認識開始、合成するテキストの提供などの命令を行います。sapi.dllはこれらの命令を解釈し、必要に応じてエンジンインターフェースを通じてエンジンを呼び出します。処理中、認識エンジンや合成エンジンはイベントを生成し、そのイベントがdllを介してアプリケーションに通知されます。
Speech SDKの構成要素
SAPIは、実際のAPIとsapi.dllに加えて、Speech SDKの一部として以下のコンポーネントを提供しています。
API定義ファイル (MIDL、C/C++ヘッダファイル)
ランタイムコンポーネント (sapi.dll)
コントロールパネルアプレット (デフォルトの音声エンジン選択/設定用)
音声合成エンジン (各種言語対応)
音声認識エンジン (各種言語対応)
再配布可能コンポーネント (エンジンとランタイム)
サンプルコード (アプリケーションとエンジンのサンプル)
ドキュメント
バージョン詳細
SAPI 1-4 API ファミリ
SAPI 1: 1995年リリース。Windows 95とWindows NT 3.51をサポート。
SAPI 2: 1996年リリース。
SAPI 3: 1997年リリース。限定的な口述音声認識をサポート。
SAPI 4: 1998年リリース。COM API、
C++ラッパークラス、
ActiveXコントロールを搭載。SDKの一部として、認識/合成エンジンを含めて提供。Windows 2000にも合成エンジンが含まれていました。
SAPI 4 APIの主なコンポーネント:
Voice Command (音声認識制御用)
Voice Dictation (連続口述音声認識用)
Voice Talk (音声合成用)
Voice Telephony (電話音声アプリ用)
Direct Speech Recognition (認識エンジン直接制御用)
Direct Text To Speech (合成エンジン直接制御用)
Audio objects (音声デバイス/ファイル操作用)
SAPI 5 API ファミリ
SAPI 5.0:
2000年リリース。アーキテクチャを大幅に変更。ランタイムのsapi.dll経由でエンジンとやり取りすることで、エンジンとアプリケーションの厳密な分離を実現。COM APIとしてのみ提供され、C/
C++から利用可能。後にVBやスクリプト言語のサポートが追加。
主な機能:
独立プロセスとして動作する音声認識エンジン。
文法をXMLマークアップで定義可能。
音声合成の制御にマークアップ言語を使用。
マイク/ファイルからの音声入力、スピーカー/ファイルへの音声出力に対応。
ユーザー定義の単語/発音を登録可能。
SAPI 5.0:
2000年後半リリース。日本語と
簡体字中国語に対応。アメリカ英語では、子供向けと電話音声向けの音響モデルが利用可能。
SAPI 5.1: 2001年後半リリース。スクリプト言語やマネージコードからの利用をサポート。
SAPI 5.2: 2004年リリース。サーバ機能をサポートし、SRGSとSSMLをサポート。
SAPI 5.3: Windows Vistaに同梱。Windows Speech RecognitionがOSに統合され、APIはWindows SDKの一部となる。マネージコードSpeech API (SpeechFX) を提供。
Windows Vistaの音声機能
Windows Vistaには、以下の音声関連機能が導入されました。
Windows GUIとアプリケーションの音声制御
音声認識制御用のチュートリアル、ウィザード、UI
SAPI 5.3 ランタイム
新たな音声認識エンジン (バージョン8)
新たな
音声合成エンジンとMicrosoft Annaボイス
マネージコードSpeech API (SpeechFX)
互換性
SAPIは以下のオペレーティングシステムと互換性があります。
Microsoft Windows Vista
Microsoft Windows XP
Microsoft Windows 2000
Microsoft Windows Millennium Edition
Microsoft Windows 98
Microsoft Windows NT 4.0 (Service Pack 6a、英語、日本語、簡体字中国語)
SAPIを使用している主なアプリケーション
Microsoft Windows XP Tablet PC Edition
Windows Speech Recognition (Windows Vista)
Microsoft Narrator (Windows 2000以降)
Microsoft Office XP, Office 2003
Microsoft Agent
Microsoft Speech Server
Microsoft Voice Command
Adobe Acrobat
JAWS
関連事項
音声認識
音声合成
Windows Vista
スクリーンリーダー
この文書は、SAPIの歴史、構造、バージョン、そして互換性について深く掘り下げています。SAPIがWindowsアプリケーションにおける音声認識と
音声合成の基盤技術として、どのように進化してきたかを理解する上で役立つでしょう。