Microsoft Speech SDK で音声認識

VC++ 6.0で音声認識

最終更新: 2015-04-02 (木) 10:51:59 (1357d)

概要

Microsoft Speech SDK を使った音声認識プログラムを VC++ 6.0 で書いてみよう。

想定する開発環境

本ページが想定する環境(コンパイラ及びライブラリのバージョン)は以下の通りである。

  • Microsoft Visual C++ 6.0(SP5)
  • Microsoft Speech SDK 5.1( + 5.1 Language Pack)

Microsoft Speech SDK の基礎

MSSDK はとても便利なツールだが、MSSDK に付属のサンプルは結構難しい。 ここでは超簡単サンプルとして MSSDK を使ってプログラミングするための 最小サンプルを提供することを目標にしている。 ここで示すサンプルは音声認識を行うために関係のない記述を極力排除することを心掛けている。 ここで紹介するプログラムはコンソールプログラムである。

VC++ 6.0 で MSSDK を使った開発を行うための設定について、 またサンプルプログラムに共通の話題について説明する。

MSSDK による音声認識には、 あらかじめ用意された文法を用いて行う音声認識と独自に文法を指定して行う音声認識とがあるが、 ここではあらかじめ用意された文法を用いて音声認識を行うサンプルを示す。 この音声認識では、全ての発話を認識するが誤認識により変なテキストが返される場合が(よく)ある。

MSSDK による音声認識には、 あらかじめ用意された文法を用いて行う音声認識と独自に文法を指定して行う音声認識とがあるが、 ここでは自分で用意した文法に従って音声認識を行うサンプルを示す。 この音声認識では、指定した文法に範囲が完全に絞られてしまうが、 文法内であれば変なテキストが返されることが無く、かなりの認識率で動作する。

指定文法による音声認識では、 文法のどの部分によって音声が認識されたのかを識別するために プロパティという情報を使用する。 音声認識結果から、このプロパティ情報を取得する方法について説明する。

Microsoft Speech SDK の応用

基礎では、MSSDK でプログラミングを行うための基本的なことを説明するのが目的であった。 ここでは、実践への一歩を踏み出すための応用テクニックをいくつか紹介する。 ただし、コンソールプログラムとしてプログラムを作るという基本方針は変わらない。

実践に一歩近づいた応用サンプルコードをいくつか提供する。 応用サンプルコードは以下の内容を含んだものである。

  • 音声認識を利用して他のプログラム(例えばノートパッド)を起動する
  • 認識対象となった音声を録音する
  • 文法ファイルから読み込んだ文法を実行時に動的に変更する
  • 文法ファイルを一切使わず、実行時に文法を生成する

コメント

コメントはありません。 コメント/mssdk/vc6

お名前: