1. A method for processing speech audio in a network connected client device configured to communicate with at least one speech server, the method comprising: using the network connected client device to perform: establishing a communications session with the at least one speech server; querying the at least one speech server for a speech grammar over the established communications session, or selecting a speech grammar stored in the network connected client device and uploading the selected speech grammar to the at least one speech server over the established communications session; analyzing the speech grammar to determine a complexity of the speech grammar; and determining whether to process the speech locally in the network connected client device, or remotely in the at least one speech server in the network based on the complexity of the speech grammar.