Speech Recognition

Speech recognition is the conversion of an audio input to a textual output (transcript). Spectrogram features of the audio are used as the input.

One way to perform speech recognition is to use an attention model.

Speech recognition can also be performed using the CTC (Connectionist Temporal Classification) Cost. In this method, a unidirectional RNN is used. The output will contain sets of repeating characters separated by blanks. This is because, in speech recognition, the input is always significantly longer than the output.

Say the input speech was "the quick brown fox".

The output would be:

ttt_hh_ee<space>qq_uu_...t\,t\,t \_ h\,h \_ e\,e <space> q\,q \_ u\,u \_ ...

This is an acceptable output as long as we can obtain the input sentence by collapsing repeated characters that are not separated by blanks.

Although speech recognition requires a large amount of training data, trigger word detection can be performed with smaller amounts of data.

Trigger Word Detection

Trigger words are words that are used to wake up smart devices, such as "Ok Google", "Alexa" etc.

While creating a training set, we must set the labels for a few timestamps to 1 when the trigger word is heard in the audio, and the labels for the remaining timestamps must be set to 0. Then, an RNN can be trained to detect trigger words.

Last updated