Generalized harmonicity indicator
AssigneeThe United States of America as represented by the Secretary of the Air Force
InventorsDarren Haddad, Andrew J. Noga
Life of this patent
Estimating the term…
Abstract
The invention disclosed herein provides a method and apparatus for analyzing periodic signals so as to determine the degree of harmonicity in real time. Harmonicity estimates are generated for each segment of a signal without the need to process subsequent segments. Harmonicity estimates can be generated in the absence of a fundamental frequency component. The invention has utility in the audio/speech domain for automated speaker identification.
Claims16
An apparatus for analyzing the harmonicity of periodic signals, comprising:
- a means for dividing said signal into consecutive segments;
- a means for calculating a super-resolution decomposition of said segments into frequency values, frequency decay rates, and initial amplitudes;
- a means for pruning said list of frequencies so as to produce a list vector of frequency values {right arrow over (L)} having n elements;
- a frequency sorter for ordering the elements of said list vector {right arrow over (L)} so as to produce an ordered frequency list vector {right arrow over (F)};
- a column duplicator for forming a matrix F, having as each column said frequency list vector {right arrow over (F)};
- a candidate generator for forming a matrix of candidate fundamentals D from said matrix F and said frequency list vector {right arrow over (F)} according to D={right arrow over (F)}−FT;
- a pre-validator for forming a candidate fundamental list vector {right arrow over (D)} whose m elements are chosen from the positive elements of D that are greater than a minimum value;
- a group averager for producing both a vector of averaged groupings of fundamentals, {right arrow over (G)}, and an associated count vector, {right arrow over (C)}, from said fundamental list vector {right arrow over (D)};
- an average fundamental selector for processing said vector of averaged groupings of fundamentals, {right arrow over (G)}, and said associated count vector, {right arrow over (C)} so as to produce a count threshold c and an initial fundamental estimate α0;
- a sub-harmonic searcher for producing a pre-refined fundamental estimate, φ0, by computing a sub-harmonic candidate vector {right arrow over (S)} from said initial fundamental estimate α0 and said frequency list vector {right arrow over (F)} according to {right arrow over (S)}={right arrow over (F)}−0.5α0{right arrow over (1)};
- a fundamental refiner for producing a refined fundamental estimate, ƒ0, by computing a first error vector {right arrow over (E)}−1, according to {right arrow over (E)}−1={right arrow over (F)}−ƒ0 (−1)·{right arrow over (1)} and by computing a second error vector {right arrow over (E)} according to {right arrow over (E)}={right arrow over (F)}−φk1;
- and
- a harmonic refiner for producing a refined harmonic estimate, hk, by recomputing said first error vector {right arrow over (E)}−1 according to {right arrow over (E)}−1={right arrow over (F)}−hk(−1)·{right arrow over (1)} and by recomputing said second error vector {right arrow over (E)} according to {right arrow over (E)}={right arrow over (F)}−φk{right arrow over (1)},
- where k=kƒ0, and where the integer k is greater than 1;
- and
- where hk(−1) is the refined harmonic estimate from the previous signal segment.
A computer implementable method for analyzing the harmonicity of periodic signals, said method comprises a software program having a plurality of computer executable instructions which, when executed, causes a computer to perform the steps comprising:
- dividing said signal into consecutive segments;
- calculating a super-resolution decomposition of said segments into frequency values, frequency decay rates, and initial amplitudes;
- pruning said list of frequencies so as to produce a list vector of frequency values {right arrow over (L)} having n elements;
- ordering the elements of said list vector L so as to produce an ordered frequency list vector {right arrow over (F)};
- forming a matrix {right arrow over (F)}, having as each column said frequency list vector {right arrow over (F)};
- forming a matrix of candidate fundamentals D from said matrix F and said frequency list vector {right arrow over (F)} according to D={right arrow over (F)}−FT;
- forming a candidate fundamental list vector {right arrow over (D)} whose m elements are chosen from the positive elements of D that are greater than a minimum value;
- producing both a vector of averaged groupings of fundamentals, {right arrow over (G)}, and an associated count vector, {right arrow over (C)}, from said fundamental list vector {right arrow over (D)};
- processing said vector of averaged groupings of fundamentals, {right arrow over (G)}, and said associated count vector, {right arrow over (C)} so as to produce a count threshold c and an initial fundamental estimate α0;
- producing a pre-refined fundamental estimate, φ0, by computing a sub-harmonic candidate vector {right arrow over (S)} from said initial fundamental estimate α0 and said frequency list vector {right arrow over (F)} according to {right arrow over (S)}={right arrow over (F)}−0.5α01;
- producing a refined fundamental estimate, ƒ0, by computing a first error vector {right arrow over (E)}−1, according to {right arrow over (E)}−1={right arrow over (F)}−ƒ0(−1)·{right arrow over (1)} and by computing a second error vector {right arrow over (E)} according to {right arrow over (E)}={right arrow over (F)}−φk{right arrow over (1)};
- and
- producing a refined harmonic estimate, hk, by recomputing said first error vector {right arrow over (E)}, according to {right arrow over (E)}−1={right arrow over (F)}−hk(−1)·{right arrow over (1)} and by recomputing said second error vector {right arrow over (E)} according to φk={right arrow over (F)}−φk{right arrow over (1)},
- where φk=kƒ0, and where the integer k is greater than 1;
- and
- where hk(−1) is the refined harmonic estimate from the previous signal segment.
Dependencies are inferred from the claim text.