1. An automatic speech recognition system for recognizing a user voice command in a noisy environment, comprising: matching means for matching elements retrieved from speech units forming the command with templates stored in a template library; processing means for determining a sequence of templates that minimizes a distance between the elements and the templates, wherein the templates are posterior templates, the elements retrieved from the speech units are posterior vectors, and the posterior templates and the posterior vectors are generated with a MultiLayer Perceptron; calculating means for automatically selecting a subset of the posterior templates, the selection of the subset of the posterior templates including: (i) determining Gabriel or relative neighbors of the selected subset of the posterior templates by calculating a matrix of distances between all of the posterior templates, (ii) visiting each template of the subset of posterior templates, (iii) marking a template of the subset of the posterior templates if all of its neighbours are of a same phone class as the template; and (iv) deleting all marked posterior templates, wherein the remaining posterior templates constitute the selected subset of the posterior templates; and a dynamic time warping (DTW) decoder for matching the posterior vectors with the selected subset of posterior templates, wherein the DTW decoder receives input, the input comprising a sequence of posterior vectors to be recognized, a posterior template library, a dictionary and optionally a grammar, and the DTW decoder outputs one or more sequences of recognized words, time information and confidence measures.