none
Windows Server 2008 R2 における Microsoft Speech API (SAPI) 5.3 の利用について RRS feed

  • 質問

  • お世話になります。

    このたび、 Microsoft Speech API (SAPI) 5.3. を使用した Windows7 及び Windows Server 2008 R2 のプラットフォームにて動作可能な音声認識プログラムを開発中です。

    問題となっているのはSAPIの初期化(認識コンテクストの取得)部分で、Windows7 では問題が起こらず、Windows Server 2008 R2 でのみエラーが発生します。

    エラーの内容を見る限りでは音声認識エンジンが見つからない、という内容だと思いますが、解決方法が分かりません。

    以下に初期化部分のコードを記載します。

    	/* 認識コンテキスト */
    	CComPtr<ISpRecoContext> m_pclsRecoContext = NULL;
    ・・・
    
    	// 認識エンジン オブジェクト
    	CComPtr<ISpRecognizer> clsRecognizer = NULL;
    ・・・
    
    	// COMを初期化する
    	lResult = ::CoInitialize(NULL);
    ・・・
    
    	// 認識エンジンオブジェクトを生成する
    	lResult = clsRecognizer.CoCreateInstance(CLSID_SpInprocRecognizer);
    ・・・
    
    	// 認識コンテクストオブジェクトを生成する
    	lResult = clsRecognizer->CreateRecoContext(&m_pclsRecoContext);	// ここでエラー発生(SPERR_RECOGNIZER_NOT_FOUND)
    ・・・


    For Windows and Windows Server 2008 (http://msdn.microsoft.com/en-us/library/office/hh323805(v=office.14).aspx)

    にあるように Windows Server 2008 では Microsoft Speech API (SAPI) 5.3. は対応している認識です。(Windows7 は 5.4. ですが、5.3. のI/Fで開発しています。)

    Microsoft Speech Platform Overview (Microsoft Speech Platform) (http://msdn.microsoft.com/en-us/library/jj127858.aspx)

    にもSAPIの記載がありますが、こちらではSAPI 5.4. となっており、混乱しています。

    1日調査しましたが糸口が掴めず、悩んでます。

    情報をいただきたく思います。


    • 編集済み M.Miyazaki 2014年9月24日 13:05 翻訳機能の文字列が入ってしまいました
    2014年9月24日 13:03

すべての返信

  • "Microsoft Speech Platform Overview" に "The Microsoft Speech Platform Runtime 11 and Microsoft Speech Platform SDK 11 do not include Runtime Languages for speech recognition or speech synthesis" と、"You must download a Runtime Language for each language in which you want to perform speech recognition or to generate synthesized speech" とありますが、Runtime Language はインストール済みでしょうか。

    近くの文面に "ship with Windows Vista or Windows 7" という文面もあることから、クライアント Windows ではセットで入るのかもしれません。
    Windows Server はクライアント OS ではありませんので、別途インストールが必要という可能性が濃厚かと考えています。

    // すでに試していたらすみません。

    2014年9月24日 14:48
    モデレータ
  • Azuleanさん

    情報ありがとうございます。

    ご提示いただいた Microsoft Speech Platform Runtime 11、Runtime Language についてはインストールして確認してみたのですが、

    どうやら Microsoft Speech Platform と Microsoft Speech API (SAPI) は別物のようで、互換性はないようでした。(インストールの前後で動作が変わることがありませんでした。)

    また、Microsoft Speech Platform SDK 11 のインストールですが、

    "Error writing to file: Microsoft.Speech.Tools.AppDev.Common.dll. Verify that you have access to that directory."

    のエラーが出てしまいインストールできておりません。(Windows Server上で開発するのではないため、SDKは不要の可能性はありますが・・・)

    ありがとうございました。

    2014年9月25日 9:02