본문 바로가기

음성&오디오처리/Speech Processing

Human Speech Production(음성 생성과정)-2

음성 생성과정은 한 포스트로 끝내려 했는데, 이전 포스트에서 음성 생성의 회로적인 관점에 대해서 언급하지 않았더라.

이 개념을 짚고가지 않으면 Short-time 분석의 motive에 대해 설명하기 힘들어서, 원래 있던 글에 붙여 쓰려다가 포스트 수나 늘릴 겸 음성 생성과정도 두 포스트로 나눠서 설명한다.

 

Single tube model

음성 생성과정 첫 번째 포스트에서 설명했던 single tube model이다. 공기가 폐를 통해 밀려 올라오면 vocal cords의 닫힘 혹은 열림에 따라 무성음/유성음 여부가 결정되고, 이후 vocal tract에서 소리가 조각이 되는 구조이다. Single tube model은 인간의 음성 생성과정을 이해하는데는 도움이 되는 모델이지만, 신호처리 관점에서 실제로 음성을 생성하는데 활용하기는 어려운 구조이다 

 

Source Filter Model

(이하 내용은 DSP를 알고 있다는 가정 하에 설명하도록 하겠다.)

실제로 디지털 신호처리 관점에서 음성을 생성하는 방법은 source-filter model이라고 불린다. 실제 인간의 호흡 과정에서 폐에서 성대(vocal cords)까지의 부분을 유성음과 무성음의 시작이 되는 source(generator), vocal tract를 신호를 조각하는 filter로 보는 관점이다. 

Source-filter model

유성음과 무성음 모두 폐에서 나오는 공기로부터 출발하는 single tube model(혹은 실제 인간의 발성 과정)과는 달리, source-filter model에서는 유성음과 무성음의 시작점, 즉 source가 서로 다르다. 무성음의 경우에는 random noise를 만드는 generator 로부터 시작하며, 유성음은  impulse train generator 에서 pulse를 다양한 사람의 목소리에 맞게 조각하는 glottal pulse model, 즉 일종의 필터를 거치면서 시작하게 된다.

 

위의 figure을 참고하면서, 무성음은 frequency domain상 $ S(z) = A_NU(z)V(z)R(z) $로, 유성음은 $ S(z) = A_VP(z)G(z)V(z)R(z)로 표현할 수 있다. ($ A_? $ 는 gain이다.) 이 중 filter 부분인 $ V(z)R(z) $는 공통되게 나타나게 되며, source 부분은 무성음의 경우 그냥 랜덤 노이즈인 $ U(z) $, 유성음은 $ P(z)G(z) $ 로 나타낼 수 있다. 유성음의 source는 time domain 상에서는 $ s[n] = p[n] * g[n] $로, convolution 꼴로 표현된다. 아래 피규어를 참고하시길.

(Thanks to https://sanghyu.tistory.com/ !)

Source model of voiced speech


 

Reference

Peter B. Denes et al., "The Speech Chain"

Lawrence R. Rabiner, "Theory and Applications of Digital Speech Processing"

 

 

반응형