Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
Сигнал жиілігін бағалау алгоритмі
Algorithm to estimate signal frequency
Питчті анықтау алгоритмі (PDA) – квазипериодикалық немесе тербелісті сигналдың, әдетте сөйлеудің немесе музыкалық нотаның немесе тонның цифрлық жазбасының биіктігін немесе негізгі жиілігін бағалауға арналған алгоритм. Бұл уақыт доменінде, жиілік доменінде немесе екеуінде де жүзеге асырылуы мүмкін. PDA-лар түрлі жағдайларда қолданылады (мысалы, фонетика, музыкалық ақпаратты іздеу, сөйлеуді кодтау, музыкалық орындау жүйелері) және сондықтан алгоритмге қойылатын талаптар әртүрлі болуы мүмкін. Әзірге бірде-бір идеалдық PDA жоқ, сондықтан көптеген алгоритмдер бар, олардың көпшілігі төменде көрсетілген санаттарға жатады. PDA әдетте квазипериодикалық сигналдың периодын бағалайды, содан кейін осы мәнді жиілікке айналдырады.
A pitch detection algorithm (PDA) is an algorithm designed to estimate the pitch or fundamental frequency of a quasiperiodic or oscillating signal, usually a digital recording of speech or a musical note or tone. This can be done in the time domain, the frequency domain, or both. PDAs are used in various contexts (e. g. phonetics, music information retrieval, speech coding, musical performance systems) and so there may be different demands placed upon the algorithm. There is as yet no single ideal PDA, so a variety of algorithms exist, most falling broadly into the classes given below. A PDA typically estimates the period of a quasiperiodic signal, then inverts that value to give the frequency.
Жалпы тәсілдер
Бір қарапайым тәсіл – сигналдың нөлдік қиылысу нүктелері арасындағы қашықтықты өлшеу (яғни нөлдік қиылысу жылдамдығы). Дегенмен, бұл әртүрлі кезеңдері немесе шулы деректері бар бірнеше синустық толқындардан құралған күрделі толқын формаларымен жақсы жұмыс істемейді. Бірақ, нөлдік қиылысу кейбір жағдайларда пайдалы өлшем болуы мүмкін, мысалы, бір дереккөзді қабылдайтын кейбір сөйлеу қолданбаларында. Алгоритмнің қарапайымдылығы оны жүзеге асыруды "оңай" етеді. Күрделірек тәсілдер сигнал сегменттерін сынақ кезеңімен ығыстырылған басқа сегменттермен салыстырып, сәйкестік табуға тырысады. AMDF (орташа шама айырмашылығы функциясы), ASMDF (орташа квадрат айырмашылығы функциясы) және басқа ұқсас автокорреляциялық алгоритмдер осылай жұмыс істейді. Бұл алгоритмдер жоғары периодтық сигналдар үшін өте дәл нәтижелер бере алады. Алайда, оларда қате анықтау мәселелері (көбінесе "октава қателері") болады, кейде шулы сигналдармен (жүзеге асыруға байланысты) нашар жұмыс істей алады және негізгі нұсқалары полифониялық дыбыстармен (әртүрлі биіктіктегі бірнеше музыкалық ноталарды қамтитын) жақсы жұмыс істемейді. Қазіргі уақыт доменіндегі биіктік анықтағыш алгоритмдері жоғарыда аталған негізгі әдістерге сүйенеді, ал олардың өнімділігін адамның биіктікке қабылдауымен жақындастыру үшін қосымша жетілдірулер енгізіледі. Мысалы, YIN және MPM алгоритмдері екеуі де автокорреляцияға негізделген.
One simple approach would be to measure the distance between zero crossing points of the signal (i. e. the zero crossing rate). However, this does not work well with complicated waveforms which are composed of multiple sine waves with differing periods or noisy data. Nevertheless, there are cases in which zero crossing can be a useful measure, e. g. in some speech applications where a single source is assumed. The algorithm's simplicity makes it "cheap" to implement. More sophisticated approaches compare segments of the signal with other segments offset by a trial period to find a match. AMDF (average magnitude difference function), ASMDF (Average Squared Mean Difference Function), and other similar autocorrelation algorithms work this way. These algorithms can give quite accurate results for highly periodic signals. However, they have false detection problems (often "octave errors"), can sometimes cope badly with noisy signals (depending on the implementation), and in their basic implementations do not deal well with polyphonic sounds (which involve multiple musical notes of different pitches). Current time domain pitch detector algorithms tend to build upon the basic methods mentioned above, with additional refinements to bring the performance more in line with a human assessment of pitch. For example, the YIN algorithm and the MPM algorithm are both based upon autocorrelation.
Спектрлік/уақыттық тәсілдер
Спектрлік/уақыттық питчті анықтау алгоритмдері, мысалы YAAPT питчті бақылау алгоритмі, нормаланған өзара корреляция сияқты автокорреляция функциясын қолдана отырып, уақыт доменін өңдеу және питчті анықтау үшін спектрлік ақпаратты пайдалана отырып, жиілік доменін өңдеудің үйлесіміне негізделген. Содан кейін, екі доменнен алынған үміткерлердің ішінде динамикалық бағдарламалау арқылы соңғы питч трегі есептелуі мүмкін. Бұл тәсілдердің артықшылығы – бір домендегі қателіктерді екінші домендегі өңдеу арқылы азайтуға болады.
Spectral/temporal pitch detection algorithms, e. g. the YAAPT pitch tracking algorithm, are based upon a combination of time domain processing using an autocorrelation function such as normalized cross correlation, and frequency domain processing utilizing spectral information to identify the pitch. Then, among the candidates estimated from the two domains, a final pitch track can be computed using dynamic programming. The advantage of these approaches is that the tracking error in one domain can be reduced by the process in the other domain.
Сөйлеу биіктігін анықтау
Сөйлеудің негізгі жиілігі төмен дауыстар үшін 40 Гц-тен, ал жоғары дауыстар үшін 600 Гц-ке дейін өзгеруі мүмкін. Автокорреляциялық әдістерге биіктікті анықтау үшін кемінде екі дауыс периоды қажет. Осылайша, 40 Гц негізгі жиілікті анықтау үшін сөйлеу сигналының кемінде 50 миллисекунды (мс) талдау қажет. Дегенмен, 50 мс ішінде жоғары негізгі жиілікті сөйлеудің жиілігі терезенің бойымен өзгеріп отыруы мүмкін.
The fundamental frequency of speech can vary from 40 Hz for low pitched voices to 600 Hz for high pitched voices. Autocorrelation methods need at least two pitch periods to detect pitch. This means that in order to detect a fundamental frequency of 40 Hz, at least 50 milliseconds (ms) of the speech signal must be analyzed. However, during 50 ms, speech with higher fundamental frequencies may not necessarily have the same fundamental frequency throughout the window.