A non-transitory computer-readable storage medium including instructions that, when executed by one or more processors, configure the one or more processors to perform speech recognition in a multi-device system by performing the steps of receiving a first audio signal that is generated by a first microphone in response to a verbal utterance , and a second audio signal that is generated by a second microphone in response to the verbal utterance ; dividing the first audio signal into a first sequence of temporal segments (301A-301N); dividing the second audio signal into a second sequence of temporal segments (301A-301N); comparing a sound energy level associated with a first temporal segment of the first sequence (301A-301N) to a sound energy level associated with a first temporal segment of the second sequence (301A-301N); based on the comparing, selecting, as a first temporal segment of a speech recognition audio signal, one of the first temporal segment of the first sequence (301A-301N) and the first temporal segment of the second sequence (301A-301N); based on comparing a sound energy level associated with a last temporal segment of the first sequence (301A-301N) to a sound energy level associated with a last temporal segment of the second sequence (301A-301N), determining whether the first microphone or the second microphone is a closest microphone to a user associated with the verbal utterance ; transmitting the speech recognition audio signal to a speech recognition application, or performing speech recognition on the speech recognition audio signal; receiving an audio signal from the speech recognition application or the speech recognition; and causing the audio signal to be played from a device collocated with the closest microphone . receiving a first audio signal that is generated by a first microphone in response to a verbal utterance , and a second audio signal that is generated by a second microphone in response to the verbal utterance ; dividing the first audio signal into a first sequence of temporal segments (301A-301N); dividing the second audio signal into a second sequence of temporal segments (301A-301N); comparing a sound energy level associated with a first temporal segment of the first sequence (301A-301N) to a sound energy level associated with a first temporal segment of the second sequence (301A-301N); based on the comparing, selecting, as a first temporal segment of a speech recognition audio signal, one of the first temporal segment of the first sequence (301A-301N) and the first temporal segment of the second sequence (301A-301N); based on comparing a sound energy level associated with a last temporal segment of the first sequence (301A-301N) to a sound energy level associated with a last temporal segment of the second sequence (301A-301N), determining whether the first microphone or the second microphone is a closest microphone to a user associated with the verbal utterance ; transmitting the speech recognition audio signal to a speech recognition application, or performing speech recognition on the speech recognition audio signal; receiving an audio signal from the speech recognition application or the speech recognition; and causing the audio signal to be played from a device collocated with the closest microphone . <EOS>