IP Library Granted Patent US 7,957,967
Granted Patent B2
US 7,957,967 · App. 11/540,153 · Granted Jun 7, 2011

Acoustic signal classification system

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,957,967
App. No.
11/540,153
Granted
Jun 7, 2011
Kind
B2
Abstract

A system classifies the source of an input signal. The system determines whether a sound source belongs to classes that may include human speech, musical instruments, machine noise, or other classes of sound sources. The system is robust, performing classification despite variation in sound level and noise masking. Additionally, the system consumes relatively few computational resources and adapts over time to provide consistently accurate classification.

Claims (104)

1. A method for classifying an input signal, comprising:

establishing a first signal model;

obtaining an input signal;

determining a time-frequency representation of the input signal;

determining, by a processor, whether a harmonic is present in the time-frequency representation;

initiating spectrogram template matching, using the first signal model, in response to determining that the harmonic is present; and

forgoing spectrogram template matching when the harmonic is not present;

where determining whether the harmonic is present comprises:

determining a frequency range to scan;

scanning the time-frequency representation over the frequency range;

identifying local peaks in the frequency range that exceed neighboring spectrum values by more than a peak threshold;

counting votes for the local peaks;

determining a normalized vote ratio using an expected number of harmonics in the frequency range; and

comparing the normalized vote ratio to a harmonic threshold.

2. The method of claim 1 , where spectrogram template matching comprises:

determining a matching spectrogram template in the first signal model for the time-frequency representation; and

assigning the input signal to the first signal model based on the matching spectrogram template.

3. The method of claim 2 , further comprising:

updating the first signal model by incorporating the time-frequency representation into the matching spectrogram template.

4. The method of claim 3 , where incorporating comprises:

applying a weight to the matching spectrogram template to obtain a weighted matching spectrogram template; and

averaging the weighted matching spectrogram template with the time-frequency representation.

5. The method of claim 4 , where the weight is proportional to a signal-to-noise ratio of the matching spectrogram template.

6. The method of claim 1 , further comprising:

updating the first signal model.

7. The method of claim 6 , where updating comprises creating a new spectrogram template in the first signal model based on the time-frequency representation.

8. The method of claim 1 , where spectrogram template matching comprises selecting a matching spectrogram template, by the processor, from a plurality of spectrogram templates based on an average Euclidean distance between the time-frequency representation and at least one of the plurality of spectrogram templates.

9. An acoustic signal classification system comprising:

a processor;

memory coupled to the processor, the memory comprising a first signal model and instructions operable to cause the processor to:

obtain an input signal;

determine a time-frequency representation of the input signal;

determine whether a harmonic is present in the time-frequency representation;

initiate spectrogram template matching, using the first signal model, in response to determining the harmonic is present; and

forgo spectrogram template matching when the harmonic is not present;

where the instructions that cause the processor to determine whether the harmonic is present are further operable to cause the processor to:

establish a frequency range to scan;

scan the time-frequency representation over the frequency range;

identify local peaks in the frequency range that exceed neighboring spectrum values by more than a peak threshold;

count votes for the local peaks;

determine a normalized vote ratio using an expected number of harmonics in the frequency range; and

compare the normalized vote ratio to a harmonic threshold.

10. The system according to claim 9 , where the instructions are further operable to cause the processor to:

determine a matching spectrogram template in the first signal model for the time-frequency representation; and

assign the acoustic input signal to the first signal model based on the matching spectrogram template.

11. The system according to claim 10 , where the instructions are further operable to cause the processor to update the first signal model by incorporating the time-frequency representation into the matching spectrogram template.

12. The system according to claim 11 , where the instructions are further operable to cause the processor to:

generate a weighted matching spectrogram template;

add the time-frequency representation to the weighted matching spectrogram template to obtain a sum; and

average the sum to obtain an adjusted template.

13. The system according to claim 12 , where the instructions that cause the processor to generate the weighted matching spectrogram template are further operable to cause the processor to apply a weight to the matching spectrogram template, the weight proportional to a signal-to-noise ratio of the matching spectrogram template.

14. The system according to claim 9 , where the instructions are further operable to cause the processor to update the first signal model.

15. The system according to claim 14 , where the instructions are further operable to cause the processor to update the first signal model by creating a new spectrogram template in the signal model based on the time-frequency representation.

16. A method for classifying an input signal, comprising:

establishing a first signal model;

obtaining an input signal;

determining a time-frequency representation of the input signal;

determining, by a processor, whether a harmonic is present in the time-frequency representation;

initiating spectrogram template matching, using the first signal model, in response to determining that the harmonic is present; and

forgoing spectrogram template matching when the harmonic is not present;

where spectrogram template matching comprises:

comparing the time-frequency representation with a plurality of time-frequency spectrogram templates;

calculating a first root mean square distance difference between the time-frequency representation and a first template of the plurality of time-frequency spectrogram templates;

calculating a second root mean square distance difference between the time-frequency representation and a second template of the plurality of time-frequency spectrogram templates;

identifying the first template as a matching spectrogram template in response to determining that the first root mean square distance difference is lower than the second root mean square distance difference; and

identifying the second template as the matching spectrogram template, by the processor, in response to a determination that the second root mean square distance difference is lower than the first root mean square distance difference.

17. A method for classifying an input signal, comprising:

obtaining an input signal;

determining a time-frequency representation of the input signal;

detecting a harmonic present in the time-frequency representation; and

initiating spectrogram template matching by a processor in response to detecting the harmonic;

where detecting the harmonic comprises:

determining a frequency range to scan;

scanning the time-frequency representation over the frequency range;

identifying local peaks in the frequency range that exceed neighboring spectrum values by more than a peak threshold;

counting votes for the local peaks;

determining a normalized vote ratio using an expected number of harmonics in the frequency range; and

comparing the normalized vote ratio to a harmonic threshold.

18. A product comprising:

a machine readable medium; and

instructions stored on the machine readable medium that cause a processor in a signal processing system to:

establish a first signal model;

obtain an input signal;

determine a time-frequency representation of the input signal;

determine whether a harmonic is present in the time-frequency representation;

initiate spectrogram template matching, using the first signal model, in response to determining that the harmonic is present; and

forgo spectrogram template matching when the harmonic is not present;

where the instructions that cause the system to determine whether the harmonic is present are further operable to cause the processor to:

establish a frequency range to scan;

scan the time-frequency representation over the frequency range;

identify local peaks in the frequency range that exceed neighboring spectrum values by more than a peak threshold;

count votes for the local peaks;

determine a normalized vote ratio using an expected number of harmonics in the frequency range; and

compare the normalized vote ratio to a harmonic threshold.

19. The product of claim 18 , where:

the spectrogram template matching searches the first signal model; and

the instructions are further operable to cause the system to update the first signal model by creating a new spectrogram template in the first signal model based on the time-frequency representation.

20. The product of claim 19 , where:

the spectrogram template matching results in a matching spectrogram template in the first signal model; and

where the instructions are further operable to cause the system to update the first signal model by incorporating the time-frequency representation into the matching spectrogram template.

21. The product of claim 18 , where the instructions are further operable to cause the processor to:

generate a weighted matching spectrogram template;

add the time-frequency representation to the weighted matching spectrogram template to obtain a sum; and

average the sum to obtain an adjusted template.

Assignments (12)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 4, 2014
From: 8758271 CANADA INC.
To: 2236008 ONTARIO INC.
Reel/Frame 032607/0674 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 4, 2014
From: QNX SOFTWARE SYSTEMS LIMITED
To: 8758271 CANADA INC.
Reel/Frame 032607/0943 →
CHANGE OF NAME Recorded Feb 27, 2012
From: QNX SOFTWARE SYSTEMS CO.
To: QNX SOFTWARE SYSTEMS LIMITED
Reel/Frame 027768/0863 →
CONFIRMATORY ASSIGNMENT Recorded Jul 9, 2010
From: QNX SOFTWARE SYSTEMS (WAVEMAKERS), INC.
To: QNX SOFTWARE SYSTEMS CO.
Reel/Frame 024659/0370 →
PARTIAL RELEASE OF SECURITY INTEREST Recorded Jun 3, 2010
From: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
To: HARMAN INTERNATIONAL INDUSTRIES, INCORPORATED; QNX SOFTWARE SYSTEMS (WAVEMAKERS), INC.; QNX SOFTWARE SYSTEMS GMBH & CO. KG
Reel/Frame 024483/0045 →
SECURITY AGREEMENT Recorded May 8, 2009
From: HARMAN INTERNATIONAL INDUSTRIES, INCORPORATED; BECKER SERVICE-UND VERWALTUNG GMBH; CROWN AUDIO, INC.; HARMAN BECKER AUTOMOTIVE SYSTEMS (MICHIGAN), INC.; HARMAN BECKER AUTOMOTIVE SYSTEMS HOLDING GMBH; HARMAN BECKER AUTOMOTIVE SYSTEMS, INC.; HARMAN CONSUMER GROUP, INC.; HARMAN DEUTSCHLAND GMBH; HARMAN FINANCIAL GROUP LLC; HARMAN HOLDING GMBH & CO. KG; HARMAN MUSIC GROUP, INCORPORATED; HARMAN SOFTWARE TECHNOLOGY INTERNATIONAL BETEILIGUNGS GMBH; HARMAN SOFTWARE TECHNOLOGY MANAGEMENT GMBH; HBAS INTERNATIONAL GMBH; HBAS MANUFACTURING, INC.; INNOVATIVE SYSTEMS GMBH NAVIGATION-MULTIMEDIA; JBL INCORPORATED; LEXICON, INCORPORATED; MARGI SYSTEMS, INC.; QNX SOFTWARE SYSTEMS (WAVEMAKERS), INC.; QNX SOFTWARE SYSTEMS CANADA CORPORATION; QNX SOFTWARE SYSTEMS CO.; QNX SOFTWARE SYSTEMS GMBH; QNX SOFTWARE SYSTEMS GMBH & CO. KG; QNX SOFTWARE SYSTEMS INTERNATIONAL CORPORATION; QNX SOFTWARE SYSTEMS, INC.; XS EMBEDDED GMBH (F/K/A HARMAN BECKER MEDIA DRIVE TECHNOLOGY GMBH)
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 022659/0743 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 7, 2007
From: ZAKARAUSKAS, PIERRE
To: QNX SOFTWARE SYSTEMS (WAVEMAKERS), INC.
Reel/Frame 018865/0651 →
CHANGE OF NAME Recorded Nov 14, 2006
From: HARMAN BECKER AUTOMOTIVE SYSTEMS - WAVEMAKERS, INC.
To: QNX SOFTWARE SYSTEMS (WAVEMAKERS), INC.
Reel/Frame 018515/0376 →
CHANGE OF NAME Recorded Nov 13, 2006
From: WAVEMAKERS RESEARCH INC.
To: WAVEMAKERS INC.
Reel/Frame 018512/0817 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 13, 2006
From: WAVEMAKERS INC.
To: 36459 YUKON INC.
Reel/Frame 018512/0840 →
CHANGE OF NAME Recorded Nov 13, 2006
From: 36459 YUKON INC.
To: HARMAN BECKER AUTOMOTIVE SYSTEMS - WAVEMAKERS, INC.
Reel/Frame 018512/0852 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 13, 2006
From: ZAKARAUSKAS, PIERRE
To: WAVEMAKERS RESEARCH INC.
Reel/Frame 018512/0796 →