1. A method for performing speech recognition, comprising: acquiring a plurality of audio signals from a plurality of microphones, each of the plurality of audio signals is associated with a different microphone of the plurality of microphones, the plurality of audio signals is associated with a first environment; determining one or more directions within the first environment, the first environment includes one or more persons, each of the one or more directions is associated with a different person of the one or more persons; generating one or more audio recordings based on the plurality of audio signals, a first audio recording of the one or more audio recordings is generated by applying audio signal processing techniques to the plurality of audio signals such that sounds originating from a first direction of the one or more directions are amplified while other sounds originating from one or more other directions are attenuated; performing local speech recognition on each of the one or more audio recordings, the performing local speech recognition includes detecting a first utterance and detecting one or more keywords within the first utterance, the first utterance is detected by applying one or more speech detection techniques to a first audio recording of the one or more audio recordings; transmitting the first utterance and the one or more keywords to a second computing device, the second computing device performs a speech recognition technique on the first utterance, the speech recognition technique detects one or more words within the first utterance; and receiving a first response from the second computing device based on the first utterance.