1. A method comprising: providing a computing device having a housing and an array of microphones comprising two or more microphones, wherein at least one of the microphones is mounted inside the housing and at least one of the microphones is mounted outside the housing; and using the microphone array, training the device to recognize noise from known locations by equipping the device with a filter system that can filter noise from the known locations, wherein said training is accomplished using multiple training phases that are initiated by a user, including a speech-capturing phase in which the user speaks from one or more of the known locations and in which said speech is captured by said two or more microphones, and a noise-capturing phase in which the user produces button clicking noise by physically manipulating one or more buttons on the computing device and said noise is captured by said two or more microphones, wherein the training enables the filter system to create a desired speech profile and a desired noise profile.