Removing noise from audio
First Claim
1. A computer-implemented method for filtering noise from audio, the method comprising:
- receiving, by a computing system, a first signal that encodes first audio obtained by a microphone of a first computing device that is different than the computing system;
selecting, by the computing system, a first sound model that corresponds to a first input control of the first computing device, the first sound model selected from among multiple sound models that correspond to multiple respective input controls, wherein the selected first sound model was generated by aggregating multiple signals that encode audio that resulted from multiple different respective activations of the first input control;
applying, by the computing system, the selected first sound model to the first signal that encodes the first audio, in order to filter, from the first signal, audio of user activation with the first input control so as to generate a first filtered signal;
providing, by the computing system, the first filtered signal to the first computing device for output by a speaker of the first computing device;
receiving, by the computing system, a second signal that encodes second audio obtained by a microphone of a second computing device that is different than the computing system and the first computing device;
selecting, by the computing system, a second sound model that corresponds to a second input control of the second computing device, the second sound model selected from among the multiple sound models; and
applying, by the computing system, the selected second sound model to the second signal that encodes the second audio, in order to filter, from the second signal, audio of user activation with the second input control so as to generate a second filtered signal.
2 Assignments
0 Petitions
Accused Products
Abstract
The subject matter of this specification can be embodied in, among other things, a computer-implemented method for removing noise from audio that includes building a sound model that represents noises which result from activations of input controls of a computer device. The method further includes receiving an audio signal produced from a microphone substantially near the computer device. The method further includes identifying, without using the microphone, an activation of at least one input control from among the input controls. The method further includes associating a portion of the audio signal as corresponding to the identified activation. The method further includes applying, from the audio model, a representation of a noise for the identified activation to the associated portion of the audio signal so as to cancel at least part of the noise from the audio signal.
21 Citations
32 Claims
-
1. A computer-implemented method for filtering noise from audio, the method comprising:
-
receiving, by a computing system, a first signal that encodes first audio obtained by a microphone of a first computing device that is different than the computing system; selecting, by the computing system, a first sound model that corresponds to a first input control of the first computing device, the first sound model selected from among multiple sound models that correspond to multiple respective input controls, wherein the selected first sound model was generated by aggregating multiple signals that encode audio that resulted from multiple different respective activations of the first input control; applying, by the computing system, the selected first sound model to the first signal that encodes the first audio, in order to filter, from the first signal, audio of user activation with the first input control so as to generate a first filtered signal; providing, by the computing system, the first filtered signal to the first computing device for output by a speaker of the first computing device; receiving, by the computing system, a second signal that encodes second audio obtained by a microphone of a second computing device that is different than the computing system and the first computing device; selecting, by the computing system, a second sound model that corresponds to a second input control of the second computing device, the second sound model selected from among the multiple sound models; and applying, by the computing system, the selected second sound model to the second signal that encodes the second audio, in order to filter, from the second signal, audio of user activation with the second input control so as to generate a second filtered signal. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer-implemented method for filtering noise from audio, the method comprising:
-
receiving, by a computing system, a first signal that encodes first audio obtained by a microphone of a first computing device that is different than the computing system; receiving, by the computing system, an indication of a type of the first computing device; selecting, by the computing system, a first sound model that corresponds to a first input control of the first computing device, the first sound model selected from among multiple sound models that correspond to multiple respective input controls, wherein the selected first sound model is selected to be specific to the type of the first computing device, and at least a plurality of the multiple sound models are specific to multiple different respective types of computing devices that are different than the computing system; applying, by the computing system, the selected first sound model to the first signal that encodes the first audio, in order to filter, from the first signal, audio of user activation with the first input control so as to generate a first filtered signal; receiving, by the computing system, a second signal that encodes second audio obtained by a microphone of a second computing device that is different than the computing system and the first computing device; selecting, by the computing system, a second sound model that corresponds to a second input control of the second computing device, the second sound model selected from among the multiple sound models; and applying, by the computing system, the selected second sound model to the second signal that encodes the second audio, in order to filter, from the second signal, audio of user activation with the second input control so as to generate a second filtered signal.
-
-
9. A computer-implemented method for filtering noise from audio, the method comprising:
-
receiving, by a computing system, a first signal that encodes first audio obtained by a microphone of a first computing device that is different than the computing system; selecting, by the computing system, a first sound model that corresponds to a first input control of the first computing device, the first sound model selected from among multiple sound models that correspond to multiple respective input controls, wherein the selected first sound model was generated as a result of a training process in which a block of text was displayed on a screen and a user was prompted to type the block of text; applying, by the computing system, the selected first sound model to the first signal that encodes the first audio, in order to filter, from the first signal, audio of user activation with the first input control so as to generate a first filtered signal; receiving, by the computing system, a second signal that encodes second audio obtained by a microphone of a second computing device that is different than the computing system and the first computing device; selecting, by the computing system, a second sound model that corresponds to a second input control of the second computing device, the second sound model selected from among the multiple sound models; and applying, by the computing system, the selected second sound model to the second signal that encodes the second audio, in order to filter, from the second signal, audio of user activation with the second input control so as to generate a second filtered signal.
-
-
10. A computer-implemented method for filtering noise from audio, the method comprising:
-
receiving, by a computing system, a first signal that encodes first audio obtained by a microphone of a first computing device that is different than the computing system; receiving, by the computing system, a first indication of user activation with a first input control; receiving, by the computing system, a first indication of a time that the user activation with the first input control occurred relative to the first signal that encodes the first audio; selecting, by the computing system, a first sound model that corresponds to the first input control of the first computing device, the first sound model selected from among multiple sound models that correspond to multiple respective input controls; applying, by the computing system, the selected first sound model to the first signal that encodes the first audio, in order to filter, from the first signal, audio of user activation with the first input control so as to generate a first filtered signal; receiving, by the computing system, a second signal that encodes second audio obtained by a microphone of a second computing device that is different than the computing system and the first computing device; selecting, by the computing system, a second sound model that corresponds to a second input control of the second computing device, the second sound model selected from among the multiple sound models; and applying, by the computing system, the selected second sound model to the second signal that encodes the second audio, in order to filter, from the second signal, audio of user activation with the second input control so as to generate a second filtered signal. - View Dependent Claims (11)
-
-
12. A computer-implemented method, the method comprising:
-
receiving, by a computing system, multiple signals that encode audio obtained by microphones of multiple respective computing devices that are different than the computing system and that represent sounds generated by user activations of a type of input control at the multiple respective computing devices; generating, by the computing system, a sound model by combining the multiple signals that represent the sounds generated by the user activations of the type of input control at the multiple respective computing devices; and storing the sound model for application to a particular signal that encodes audio, in order to filter, from the particular signal, audio of a user activation of the type of input control. - View Dependent Claims (13, 14, 15)
-
-
16. A computer-implemented method for filtering noise from audio, the method comprising:
-
receiving, by a computing system, a first signal that encodes first audio obtained by a microphone of a first computing device that is different than the computing system; selecting, by the computing system, a first sound model that corresponds to a first input control of the first computing device, the first sound model selected from among multiple sound models that correspond to multiple respective input controls, wherein the selected first sound model was generated by aggregating multiple waveforms that correspond to activation of the first input control at multiple different respective computing devices that are different than the computing system; applying, by the computing system, the selected first sound model to the first signal that encodes the first audio, in order to filter, from the first signal, audio of user activation with the first input control so as to generate a first filtered signal; receiving, by the computing system, a second signal that encodes second audio obtained by a microphone of a second computing device that is different than the computing system and the first computing device; selecting, by the computing system, a second sound model that corresponds to a second input control of the second computing device, the second sound model selected from among the multiple sound models; and applying, by the computing system, the selected second sound model to the second signal that encodes the second audio, in order to filter, from the second signal, audio of user activation with the second input control so as to generate a second filtered signal.
-
-
17. A system, comprising:
-
a processor; and a computer-readable device including instructions that, when executed by the processor, cause performance of a method that comprises; receiving, by a computing system, a first signal that encodes first audio obtained by a microphone of a first computing device that is different than the computing system; selecting, by the computing system, a first sound model that corresponds to a first input control of the first computing device, the first sound model selected from among multiple sound models that correspond to multiple respective input controls, wherein the selected first sound model was generated by aggregating multiple signals that encode audio that resulted from multiple different respective activations of the first input control; applying, by the computing system, the selected first sound model to the first signal that encodes the first audio, in order to filter, from the first signal, audio of user activation with the first input control so as to generate a first filtered signal; providing, by the computing system, the first filtered signal to the first computing device for output by a speaker of the first computing device; receiving, by the computing system, a second signal that encodes second audio obtained by a microphone of a second computing device that is different than the computing system and the first computing device; selecting, by the computing system, a second sound model that corresponds to a second input control of the second computing device, the second sound model selected from among the multiple sound models; and applying, by the computing system, the selected second sound model to the second signal that encodes the second audio, in order to filter, from the second signal, audio of user activation with the second input control so as to generate a second filtered signal. - View Dependent Claims (18, 19, 20, 21, 22, 23)
-
-
24. A system, comprising:
-
a processor; and a computer-readable device including instructions that, when executed by the processor, cause performance of a method that comprises; receiving, by a computing system, a first signal that encodes first audio obtained by a microphone of a first computing device that is different than the computing system; receiving, by the computing system, an indication of a type of the first computing device; selecting, by the computing system, a first sound model that corresponds to a first input control of the first computing device, the first sound model selected from among multiple sound models that correspond to multiple respective input controls, wherein the selected first sound model is selected to be specific to the type of the first computing device, and at least a plurality of the multiple sound models are specific to multiple different respective types of computing devices that are different than the computing system; applying, by the computing system, the selected first sound model to the first signal that encodes the first audio, in order to filter, from the first signal, audio of user activation with the first input control so as to generate a first filtered signal; receiving, by the computing system, a second signal that encodes second audio obtained by a microphone of a second computing device that is different than the computing system and the first computing device; selecting, by the computing system, a second sound model that corresponds to a second input control of the second computing device, the second sound model selected from among the multiple sound models; and applying, by the computing system, the selected second sound model to the second signal that encodes the second audio, in order to filter, from the second signal, audio of user activation with the second input control so as to generate a second filtered signal.
-
-
25. A system, comprising:
-
a processor; and a computer-readable device including instructions that, when executed by the processor, cause performance of a method that comprises; receiving, by a computing system, a first signal that encodes first audio obtained by a microphone of a first computing device that is different than the computing system; selecting, by the computing system, a first sound model that corresponds to a first input control of the first computing device, the first sound model selected from among multiple sound models that correspond to multiple respective input controls, wherein the selected first sound model was generated as a result of a training process in which a block of text was displayed on a screen and a user was prompted to type the block of text; applying, by the computing system, the selected first sound model to the first signal that encodes the first audio, in order to filter, from the first signal, audio of user activation with the first input control so as to generate a first filtered signal; receiving, by the computing system, a second signal that encodes second audio obtained by a microphone of a second computing device that is different than the computing system and the first computing device; selecting, by the computing system, a second sound model that corresponds to a second input control of the second computing device, the second sound model selected from among the multiple sound models; and applying, by the computing system, the selected second sound model to the second signal that encodes the second audio, in order to filter, from the second signal, audio of user activation with the second input control so as to generate a second filtered signal.
-
-
26. A system, comprising:
-
a processor; and a computer-readable device including instructions that, when executed by the processor, cause performance of a method that comprises; receiving, by a computing system, a first signal that encodes first audio obtained by a microphone of a first computing device that is different than the computing system; receiving, by the computing system, a first indication of user activation with a first input control; receiving, by the computing system, a first indication of a time that the user activation with the first input control occurred relative to the first signal that encodes the first audio; selecting, by the computing system, a first sound model that corresponds to the first input control of the first computing device, the first sound model selected from among multiple sound models that correspond to multiple respective input controls; applying, by the computing system, the selected first sound model to the first signal that encodes the first audio, in order to filter, from the first signal, audio of user activation with the first input control so as to generate a first filtered signal; receiving, by the computing system, a second signal that encodes second audio obtained by a microphone of a second computing device that is different than the computing system and the first computing device; selecting, by the computing system, a second sound model that corresponds to a second input control of the second computing device, the second sound model selected from among the multiple sound models; and applying, by the computing system, the selected second sound model to the second signal that encodes the second audio, in order to filter, from the second signal, audio of user activation with the second input control so as to generate a second filtered signal. - View Dependent Claims (27)
-
-
28. A system, comprising:
-
a processor; and a computer-readable device including instructions that, when executed by the processor, cause performance of a method that comprises; receiving, by a computing system, multiple signals that encode audio obtained by microphones of multiple respective computing devices that are different than the computing system and that represent sounds generated by user activations of a type of input control at the multiple respective computing devices; generating, by the computing system, a sound model by combining the multiple signals that represent the sounds generated by the user activations of the type of input control at the multiple respective computing devices; and storing the sound model for application to a particular signal that encodes audio, in order to filter, from the particular signal, audio of a user activation of the type of input control. - View Dependent Claims (29, 30, 31)
-
-
32. A system, comprising:
-
a processor; and a computer-readable device including instructions that, when executed by the processor, cause performance of a method that comprises; receiving, by a computing system, a first signal that encodes first audio obtained by a microphone of a first computing device that is different than the computing system; selecting, by the computing system, a first sound model that corresponds to a first input control of the first computing device, the first sound model selected from among multiple sound models that correspond to multiple respective input controls, wherein the selected first sound model was generated by aggregating multiple waveforms that correspond to activation of the first input control at multiple different respective computing devices that are different than the computing system; applying, by the computing system, the selected first sound model to the first signal that encodes the first audio, in order to filter, from the first signal, audio of user activation with the first input control so as to generate a first filtered signal; receiving, by the computing system, a second signal that encodes second audio obtained by a microphone of a second computing device that is different than the computing system and the first computing device; selecting, by the computing system, a second sound model that corresponds to a second input control of the second computing device, the second sound model selected from among the multiple sound models; and applying, by the computing system, the selected second sound model to the second signal that encodes the second audio, in order to filter, from the second signal, audio of user activation with the second input control so as to generate a second filtered signal.
-
Specification