1. A method for recognizing an environmental sound at a client device, the method comprising: accessing a client database including a plurality of sound models representing environmental sounds and a plurality of labels, wherein each of the plurality of labels identifies at least one of the plurality of sound models; receiving an input environmental sound and generating an input sound model based on the input environmental sound; determining similarity values between the input sound model and the plurality of sound models to identify one or more sound models of the plurality of sound models that are similar to the input sound model; selecting a first label from one or more labels, of the plurality of labels, associated with the one or more sound models; associating the first label with the input environmental sound based on a confidence level of the first label; and if the confidence level is less than a confidence threshold: transmitting the input sound model to a server; and receiving a second label identifying the input environmental sound from the server.
9. The method of claim 1 , further comprising: receiving, from the server, one or more server sound models similar to the input sound model; and updating the client database based on the second label and the one or more server sound models.