Pitch -tunnistusalgoritmi - Pitch detection algorithm
Kentällä algoritmin ( PDA ) on algoritmi , joiden tarkoituksena on arvioida kentälle tai perustaajuus on quasiperiodic tai värähtelevän signaalin, yleensä digitaalinen tallennus on puheen tai nuotin tai äänen. Tämä voidaan tehdä aika -alueella , taajuusalueella tai molemmissa.
PDA -laitteita käytetään eri yhteyksissä (esim. Fonetiikka , musiikin tiedonhaku , puhekoodaus , musiikkiesitysjärjestelmät ), joten algoritmille voidaan asettaa erilaisia vaatimuksia. Vielä ei ole yhtä ainoaa ihanteellista PDA: ta, joten on olemassa erilaisia algoritmeja, joista suurin osa kuuluu laajasti alla annettuihin luokkiin.
PDA tyypillisesti arvioi kvasiperiodisen signaalin jakson ja kääntää tämän arvon taajuuden saamiseksi.
Yleiset lähestymistavat
Yksi yksinkertainen lähestymistapa olisi mitata signaalin nollapisteiden välinen etäisyys (eli nollapiste ). Tämä ei kuitenkaan toimi hyvin monimutkaisten aaltomuotojen kanssa, jotka koostuvat useista siniaalloista, joilla on eri ajanjaksot tai meluisa data. On kuitenkin tapauksia, joissa nollan ylitys voi olla hyödyllinen mitta, esimerkiksi joissakin puhesovelluksissa, joissa oletetaan vain yksi lähde. Algoritmin yksinkertaisuus tekee sen toteuttamisesta "halpaa".
Kehittyneempiä lähestymistapoja verrataan signaalin segmenttejä muihin segmentteihin, jotka on kompensoitu kokeilujaksolla löytääkseen osuman. AMDF ( keskimääräinen suuruuserofunktio ), ASMDF (keskimääräinen neliön keskiarvoerotustoiminto) ja muut vastaavat automaattisen korrelaation algoritmit toimivat tällä tavalla. Nämä algoritmit voivat antaa varsin tarkkoja tuloksia erittäin jaksollisille signaaleille. Heillä on kuitenkin vääriä tunnistusongelmia (usein " oktaavivirheitä "), ne voivat joskus käsitellä huonosti meluisia signaaleja (toteutuksesta riippuen) eivätkä - perussovelluksissaan - käsitellä hyvin moniäänisiä ääniä (joihin kuuluu useita nuotteja) eri kentät).
Nykyiset aikatason äänenkorkeuden ilmaisinalgoritmit perustuvat yleensä edellä mainittuihin perusmenetelmiin, ja niihin on lisäkorjauksia, jotka parantavat suorituskykyä paremmin ihmisen tekemän äänenkorkeuden arvioinnin mukaisesti. Esimerkiksi YIN- ja MPM -algoritmi perustuvat molemmat autokorrelaatioon .
Taajuusalueen lähestymistavat
Taajuusalue, polyfoninen tunnistus on mahdollista, yleensä käyttämällä periodogrammia signaalin muuntamiseksi taajuusspektrin estimaatiksi . Tämä vaatii enemmän prosessointitehoa halutun tarkkuuden kasvaessa, vaikka FFT: n tunnettu tehokkuus , joka on periodogrammialgoritmin keskeinen osa , tekee siitä sopivan tehokkaan moneen tarkoitukseen.
Suosittuja taajuusalueen algoritmeja ovat: harmoninen tuotespektri ; cepstral analyysi ja suurimman todennäköisyyden , joka yrittää sovittaa taajuusalueen ominaisuuksia ennalta määriteltyihin taajuus kartat (käyttökelpoinen havaitsemiseen kentällä kiinteän tuning välineitä); ja harmonisten sarjojen aiheuttamien piikkien havaitseminen.
Diskreetistä Fourier -spektristä johdetun sävelkorkeusarvion parantamiseksi voidaan käyttää tekniikoita, kuten spektrin uudelleensijoitusta ( vaiheperusteinen ) tai Grandke -interpolointia (suuruusperusteinen) FFT -lokeroiden tarjoaman tarkkuuden ylittämiseksi. Brown ja Puckette tarjoavat toisen vaiheeseen perustuvan lähestymistavan
Spektraaliset/ajalliset lähestymistavat
Spektri-/ajallinen sävelkorkeuden tunnistusalgoritmit, esim. YAAPT -äänenkorkeuden seuranta, perustuvat aika -alueen käsittelyn yhdistelmään, joka käyttää automaattista korrelaatiotoimintoa, kuten normalisoitua ristikorrelaatiota, ja taajuusalueen käsittelyyn, joka käyttää spektritietoa sävelkorkeuden tunnistamiseksi. Sitten kahdesta alueesta arvioitujen ehdokkaiden joukosta voidaan laskea lopullinen äänenkorkeusraita käyttämällä dynaamista ohjelmointia . Näiden lähestymistapojen etuna on, että toisen verkkotunnuksen seurantavirhe voidaan vähentää toisen verkkotunnuksen prosessilla.
Puheäänen tunnistus
Puheen perustaajuus voi vaihdella 40 Hz: stä matalaäänisten ja 600 Hz: n korkean äänen osalta.
Autokorrelaatiomenetelmät tarvitsevat vähintään kaksi sävelkorkeusjaksoa sävelkorkeuden havaitsemiseksi. Tämä tarkoittaa, että 40 Hz: n perustaajuuden havaitsemiseksi on analysoitava vähintään 50 millisekuntia (ms) puhesignaalia. Kuitenkin 50 ms: n aikana puheella, jolla on korkeammat perustaajuudet, ei välttämättä ole samaa perustaajuutta koko ikkunassa.
Katso myös
- Automaattinen viritys
- Lyönnin tunnistus
- Taajuuden arviointi
- Lineaarinen ennustava koodaus
- MUSIC (algoritmi)