1. A method of performing speech recognition in a distributed system comprising an electronic device including an embedded speech recognizer and a network device including a remote speech recognizer remote from the electronic device, the method comprising: receiving, by the electronic device, input audio comprising speech; determining that at least a portion of the input audio matches a recognition grammar associated with the embedded speech recognizer; generating a search tree associated with the recognition grammar, wherein the search tree includes a plurality of nodes, wherein each of the nodes is associated with a type of item in the recognition grammar; determining whether the recognition grammar includes at least one generic speech nod, wherein determining whether the recognition grammar includes at least one generic speech node comprises determining whether the search tree includes only nodes associated with types of items that can be recognized by the embedded speech recognizer with an accuracy above a threshold; determining that recognition by the remote speech recognizer is desired in response to determining that the recognition grammar includes at least one generic speech node indicating that the speech in the input audio may include free-form dictation; and sending at least a portion of the input audio to the network device in response to determining that recognition by the remote speech recognizer is desired.