Kinect for Windows の音声ライブラリ

Kinect for Windows SDK の Downloads/Docs の右側には、次の音声ライブラリへのリンクがあります。

これらは、

%ProgramFiles%\Microsoft SDKs\Speech

にインストールされます。

しかし、音声ライブラリは .NET Framework にも System.Speech 名前空間として存在します。

System.Speech 名前空間と Speech Platform SDK (Microsoft.Speech 名前空間) を比較すると、
API にほとんど相違点はありません。
Speech Platform SDK のほうでは、音声認識の文法で利用する SrgsNameValueTag クラスが internal になっているなど、
やや使いづらい点がありますが、多言語化したい場合には有効でしょう。

 

■ Kinect のマイクからの入力を音声認識に利用する

.NET では、音声入力と音声認識の概念は完全に分離されています。
音声データを Stream として抽象化して受け渡すことにより、
任意の音声入力方式と任意の音声認識エンジンを組み合わせて利用することができます。

OS の既定の音声入力デバイスを利用するには
SpeechRecognitionEngine.SetInputToDefaultAudioDevice メソッドを呼び出せばよいですが、
音声入力を表す Stream を明示的に指定するには SpeechRecognitionEngine.SetInputToAudioStream メソッドを呼び出します。

次のようなコードで、Kinect のマイクからの入力を .NET Framework の音声認識ライブラリで利用できます。
Speech Platform SDK の場合もまったく同じコードです。


// sensor は Microsoft.Kinect.KinectSensor オブジェクト。
// recognizer は System.Speech.Recognition.SpeechRecognitionEngine オブジェクト
// または Microsoft.Speech.Recognition.SpeechRecognitionEngine オブジェクト。

var stream = sensor.AudioSource.Start();
recognizer.SetInputToAudioStream(stream,
    new SpeechAudioFormatInfo(16000, AudioBitsPerSample.Sixteen, AudioChannel.Mono));
recognizer.RecognizeAsync(RecognizeMode.Multiple);


 

■ Speech Platform SDK への参照

Speech Platform SDK の Microsoft.Speech.dll は GAC に入りますが、
ランタイム バージョンが 2.0.50727 のみであるため、Visual Studio の参照マネージャーに現れないことがあります。
したがって、通常は SDK 内の Microsoft.Speech.dll のパスを直接指定すると思いますが、
次のようにプロジェクト ファイル (.csproj) を直接編集する方法もあります。


  <ItemGroup>
    <Reference Include="Microsoft.Kinect, Version=1.7.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" />
    <Reference Include="Microsoft.Kinect.Toolkit, Version=1.7.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
      <HintPath>$(KINECT_TOOLKIT_DIR)Assemblies\Microsoft.Kinect.Toolkit.dll</HintPath>
    </Reference>
    <Reference Include="Microsoft.Speech, Version=11.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" />
    <Reference Include="PresentationCore" />
    <Reference Include="PresentationFramework" />


 

バージョン情報
.NET Framework 4.5

参照
System.Speech 名前空間
Speech (Kinect for Windows SDK)
Speech Technologies
Speech Application Programming Interface (Wikipedia)

Kinect for Windows SDK のセットアップ

コメント / トラックバック1件 to “Kinect for Windows の音声ライブラリ”

  1. Kinect for Windows SDK のセットアップ | Do Design Space Says:

    […] なお、音声ライブラリの利用については、Kinect for Windows の音声ライブラリに書きました。 […]


コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。