Pitch -detekteringsalgoritme - Pitch detection algorithm

En tonehøjdedetektering algoritme ( PDA ) er en algoritme designet til at estimere banen eller grundfrekvensen af et quasiperiodic eller oscillerende signal, sædvanligvis en digital optagelse af tale eller en node eller tone. Dette kan gøres i tidsdomænet , frekvensdomænet eller begge dele.

PDA'er bruges i forskellige sammenhænge (f.eks. Fonetik , hentning af musikinformation , talekodning , musikalske performance -systemer ), og der kan derfor være forskellige krav til algoritmen. Der er endnu ikke en enkelt ideel PDA, så der findes en række algoritmer, hvor de fleste falder bredt ind i de klasser, der er angivet nedenfor.

En PDA estimerer typisk perioden for et quasiperiodisk signal og inverterer derefter denne værdi for at give frekvensen.

Generelle tilgange

En enkel tilgang ville være at måle afstanden mellem signalets nulpunkts krydsningspunkter (dvs. nulovergangshastigheden ). Dette fungerer dog ikke godt med komplicerede bølgeformer, der er sammensat af flere sinusbølger med forskellige perioder eller støjende data. Ikke desto mindre er der tilfælde, hvor nulkrydsning kan være et nyttigt mål, f.eks. I nogle taleapplikationer, hvor der antages en enkelt kilde. Algoritmens enkelhed gør det "billigt" at implementere.

Mere sofistikerede tilgange sammenligner segmenter af signalet med andre segmenter opvejet af en prøveperiode for at finde et match. AMDF ( gennemsnitsstørrelsesdifferensfunktion ), ASMDF (gennemsnitlig kvadrat middelværdi -differensfunktion) og andre lignende autokorrelationsalgoritmer fungerer på denne måde. Disse algoritmer kan give ganske præcise resultater for stærkt periodiske signaler. De har imidlertid falske detekteringsproblemer (ofte " oktavfejl "), kan undertiden klare dårligt støjende signaler (afhængigt af implementeringen) og - i deres grundlæggende implementeringer - håndterer de ikke godt med polyfoniske lyde (som involverer flere musiknoter af forskellige pladser).

Nuværende tidsdomæne pitch detektor algoritmer har en tendens til at bygge på de grundlæggende metoder, der er nævnt ovenfor, med yderligere forbedringer for at bringe ydelsen mere i overensstemmelse med en menneskelig vurdering af pitch. For eksempel er YIN -algoritmen og MPM -algoritmen begge baseret på autokorrelation .

Frekvensdomænetilgange

Frekvensdomæne, polyfonisk detektion er mulig, normalt ved hjælp af periodogrammet til at konvertere signalet til et estimat af frekvensspektret . Dette kræver mere processorkraft, når den ønskede nøjagtighed stiger, selvom den velkendte effektivitet af FFT , en vigtig del af periodogramalgoritmen , gør den passende effektiv til mange formål.

Populære frekvensdomæne algoritmer omfatter: det harmoniske produktspektrum ; cepstral analyse og maksimal sandsynlighed, som forsøger at matche frekvensdomæneegenskaberne med foruddefinerede frekvenskort (nyttigt til at detektere tonehøjde for faste tuninginstrumenter); og påvisning af toppe på grund af harmoniske serier.

For at forbedre pitchestimatet, der stammer fra det diskrete Fourier -spektrum, kan teknikker såsom spektral omfordeling (fasebaseret) eller Grandke -interpolation (baseret på størrelse) bruges til at gå ud over den præcision, som FFT -bakkerne giver. En anden fase-baseret tilgang tilbydes af Brown og Puckette

Spektrale/tidsmæssige tilgange

Spektrale/tidsmæssige pitchdetekteringsalgoritmer, f.eks. YAAPT pitch tracking, er baseret på en kombination af tidsdomæne behandling ved hjælp af en autokorrelationsfunktion såsom normaliseret krydskorrelation og frekvensdomæne behandling ved hjælp af spektral information til at identificere tonehøjden. Blandt kandidaterne anslået ud fra de to domæner kan der derefter beregnes et sidste pitch -spor ved hjælp af dynamisk programmering . Fordelen ved disse fremgangsmåder er, at sporingsfejlen i det ene domæne kan reduceres ved processen i det andet domæne.

Talehøjde detektering

Den grundlæggende frekvens for tale kan variere fra 40 Hz for lavhøjttalede stemmer til 600 Hz for høje toner.

Autokorrelationsmetoder har brug for mindst to pitchperioder for at detektere pitch. Dette betyder, at mindst 50 millisekunder (ms) af talesignalet skal analyseres for at detektere en grundfrekvens på 40 Hz. I løbet af 50 ms har tale med højere grundfrekvenser imidlertid ikke nødvendigvis den samme grundfrekvens i hele vinduet.

Se også

Referencer

eksterne links