1. A method for voice recognition performed in a voice recognition block comprising a plurality of voice recognition stages, the method comprising: receiving a first plurality of voice inputs, corresponding to a first phrase, into a first voice recognition stage of the plurality of voice recognition stages, wherein multiple ones of the voice recognition stages comprise a plurality of voice recognition modules and multiples ones of the voice recognition stages perform a different type of voice recognition processing, wherein the first voice recognition stage processes the first plurality of voice inputs to generate a first plurality of outputs for receipt by a subsequent voice recognition stage of the plurality of voice recognition stages; receiving by each subsequent voice recognition stage a plurality of outputs from an immediately preceding voice recognition stage, wherein each subsequent voice recognition stage processes a plurality of outputs from the immediately preceding voice recognition stage to generate a plurality of corresponding subsequent outputs, wherein a plurality of final outputs each containing a corresponding phrase is generated by a final voice recognition stage from which to approximate the first phrase corresponding to the first plurality of voice inputs.