1. A method of speech recognition comprising: prompting a user to provide a first utterance comprising a phrase; recording the first user utterance; performing speech recognition on the first user utterance and generating a first recognition result using a speech recognition system, wherein the first recognition result comprises a first confidence value that represents an expected accuracy of the speech recognition on the first user utterance; in response to a determination that the first confidence value is less than a threshold value, re-prompting the user to provide a second utterance comprising the same phrase as the first utterance; recording the second user utterance; performing speech recognition on the second user utterance and generating a second recognition result using the speech recognition system, wherein the second recognition result comprises a second confidence value that represents an expected accuracy of the speech recognition on the second user utterance; in response to a determination that the second confidence value is less than a threshold value, detecting a plurality of acoustic differences between the first and second user utterances; compensating the speech recognition system by adjusting a plurality of adjustable parameters to compensate for the plurality of acoustic differences; and performing compensated speech recognition on the first and/or the second user utterances, wherein the performing compensated speech recognition comprises: performing speech recognition on a selected one of the first user utterance and the second user utterance and generating a compensated speech recognition result for the selected utterance using the compensated speech recognition system, wherein the first user utterance is selected when the first confidence value is higher than the second confidence value, and wherein the second user utterance is selected when the second confidence value is higher than the first confidence value; or performing speech recognition on the first user utterance to generate a first compensated result having a first compensated confidence value using the compensated speech recognition system, performing speech recognition on the second user utterance to generate a second compensated result having a second compensated confidence value using the compensated speech recognition system, selecting the first compensated result as the compensated speech recognition result when the first compensated confidence value is greater than the second compensated confidence value, and selecting the second compensated result as the compensated speech recognition result when the second compensated confidence value is greater than the first compensated confidence value.