공부 정리 블로그
[음성신호처리12]-pitch 본문
Pitch
사람의 vocal tract 에서 purse train이 있고 vocal tract의 출력을 거쳐서 나오는 게 음성이다.
유성음의 경우, purse traind의 주파수를 pitch frequency라고 부름
source filter 모델에 있어서(생성 모델)
유성음
• Subjective definition(사람이 느낄 때는 listener에 의해서 더 복잡한 pure tone의 frequency를 pitch라 부름)
▫ Frequency of a pure tone that is matched by the listener to a more complex (usually periodic) signal
• Pitch detection = fundamental frequency estimation (기본적인 주파수를 추정하는 과정)
일반적으로 저주파에 해당하는 신호기 때문에
• Dudley’s slope filter를 통해 low path filter를 해서 저주파 신호를 dominant하게 만듦
만약, 두 개의 frequency 신호가 섞인 것이 입력으로 들어오면, dudely 신호를 거치면,
Some Difficulties in Pitch Detection
pitch detection 이 어려운 이유
(a) pitch의 range가 매우 넓어서 detection이 쉽지 않음
(b) pitch가 시간에 따라 특성이 크게 바뀔 수 있음
(c) vocal tract 이 시간에 따라 변하기 때문에, 주파수는 비슷할지 몰라도 모양이 다르게 신호가 나올 수 있음
(d) 뒤에는 voiced, 앞은 unvoiced 에 따라서, unvoiced에서는 pitch detection 이 어려움
(e) 전화에서는 몇 백 신호만 transition 하기 때문에, 임계치 아래는 날라가므로, 음성의 pitch 신호가 날아가는 문제점
(f) acoustic이 섞여 있어서 pitch 정보를 구하기 쉽지 않음
Signal Processing to Improve Pitch Detection (2)
pitch는 purse train이므로 일종의
impurse 에 purse shaping이 입혀져 있음
all-pole filter를 거쳐서 음성이 나오게 됨
smooth -> group detector
모든 band에서 filter를 거쳐서 합하면 음성이 출력됨
Full wave raptication?
출력에서 pitch 정보를 detect할 수 있따
Inverse filtering
▫ Hypothesis
The speech is the convolution of an excitation and a vocal tract filter.
To get the glottal waveform(exitation) 을 얻어내려면
▪ The speech signal could be passed through a filter with a spectrum inverse to that of the vocal tract filter.
Comb filtering
음성을 나타낼 때, corrlation을 줌
입력신호에 계속적으로 delay를 줘서 corrlation를 측정하고
corr이 가장 큰 time delay를 찾고 그 time delay에 대한 간격을 pitch period라 함(역수는 pitch corr)
이 것을 좀 더 systemical하게 하기 위해 time delay를 주고 time delay 신호에 대해 corr해서 가장 비슷한 구간이 어디인지 찾아냄
linear filtering 관점에서는,
comb filtering 은 여러 다른 주기성을 가지고 있는 신호를 가지고 처리할 수 있으므로,
주파수(pitch)가 잘 안 맞을 때, 출력이 약하게 나올 수 있음
그러므로, 출력이 크게 나오는 주파수 주기를 찾는 것
Cepstral analysis
▫ Deconvolution of the source and filter(source filter 모델을 가정)
입력 신호가 source*filter(x(t)입력 신호 = s(t)vocal cord * h(t) vocal tract에 대한 신호)를 가정
▫ The high-time portion of the cepstrum contains a very clear hint about the fundamental frequency
log |H(w)| = vocal track
The Use of Parallelism for Pitch Detection
입력 음성 -> filtering -> 여러가지 pitch 추정 estimator를 만들고, 입력을 적절하기 filtering -> peak를 찾고 -> 여러가지 갖거나 다른 filter 를 사용 -> pitch period 계산을 종합 -> pitch 추정
step 3 pitch 추정
setp 4 종합
=> pitch 추정
구체적인 estimator는 간단한 걸 씀 정확하지 않더라도 종합해서 결과가 믿을만하게 나올 수 있게 하는 방식
Median Smoothing to Fix Errors
Physiological constraints on fundamental frequency variations
▫ Advantageous in correcting errors
Sequence: 5, 6, 12, 7, 8 -> outlier: 12
위와 같은 결과치가 나옴, 해당 결과치 중에 12는 여기서 나타날 수 없는 것인데, double이 돼서 이런 값이 나온 것을 추정
이런 상황에서 튀는 값은 나올 수 없는 값이어서 outlier는 버리고,
New sequence: 5, 6, 7, 7, 8 -> median: 7
이 공간에는 meidan value로 넣고, 최종 출력값 '7'을 만들어 냄
여러가지 출력을 만들어 내고, 출력을 가공해서 가장 robust한 pitch 주파수를 만들어 냄
pitch 추정의 정석은 없음 Heuristics 함
1. corr(단순)
2. cepstrum(복잡)
다양한 방법들 많음
입력으로 들어오는 신호의 주기성을 찾는 것 => pitch
'대학원 수업 > 음성신호' 카테고리의 다른 글
[음성신호처리14] - CELP coding 여러 기법들 (0) | 2023.05.31 |
---|---|
[음성신호처리13]-vocoders;voice coding (0) | 2023.05.17 |
[음성신호처리11] - Linear Prediction (0) | 2023.05.10 |
[음성신호9.5] - STFT, Filter bank (0) | 2023.05.10 |
[신호처리 10] MFCC (0) | 2023.05.10 |