ON-LINE KEYWORD SPOTTING SYSTEM WITH A MICROPHONE INPUT - DLL

Overview:

This keyword spotting system is based on Hidden Markov Models, words are  concatinated from phoneme or triphone models. This distribution contain czech models trained on a SpeechDat-E database.

Haw to import the dll to your project?

You must create a import library at first.

Visual C++:
      lib /DEF:skws_vcimp.def /MACHINE:i386 /OUT:skws.lib
CBuilder:
      implib skws.lib skws_bcbimp.def

Include the skws.h file to your projects. It conatain a pragma for linking the import library.

Functions:

void WINAPI skwsStart(SKWSCALLBACK func, LPARAM lParam) 
Starts recording and sets a callback function where recognized words are being sent.  The lParam is passed to the callback function as one of  arguments.

void WINAPI skwsStop()
Stops recognition.

void WINAPI skwsSetThreshold(float threshold, float delta)
Sets threshold for word acceptation / rejection. Delta parameter is not  implemented yet.

void WINAPI skwsSetDictionary(LPCSTR words)
Sets a dictionary. Words are on separated line. Each one word can alternatively contain a phonetic transciption in a czech Sampa alphabet. (see http://www.fee.vutbr.cz/SPEECHDAT-E )

dictionary syntax:
           word1 {transcription1}
word2 {transcription2}
....

Notes / What to do:

1) Recording must be stoped before library unloading, else it freeze

2) Delta parameter in a SetThreshold function is not implemented yet

3) Keyword verificator based on energy is not implemented yet. Some short  words can be subwords of some longer.

4) Some error events are not handled (missing file of models, unknown phoneme in the phonetic transcription)

Limitations/license:

This version is limited to maximal dictionary size of five words. The DLL can be used free without paying any costs and is distributed without any warranty. Please add some notes about as and pointer to our web to your program. For example: "This program uses speech recognition engine developed by Speech Processing Group at Faculty of Information Technology, BRNO University of Technology (http://www.fit.vutbr.cz/research/groups/speech/) ".

Example:

#include <stdio.h>
#include "skws.h"

void CALLBACK OnWord(const char *word, float score, LPARAM lParam)
{
    printf("%s\n", word);
}

int main()
{
    skwsSetDictionary("jedna\ndvě\ntři");
    skwsSetThreshold(3.0f, 0.0f);
    skwsStart(&OnWord, 0);
    getchar();
    skwsStop();
    return 0;
}


Download:

skws_dll.zip


Warning: this software is still under developnent and was tested on Windows 2000 and Windows XP only.
If you have some problems, question or notes, please write us: schwarzp@fit.vutbr.cz.