Pure Data/Pure Data Study

스터디 3일차에 했던 다른 공부

slowreader 2016. 11. 9. 15:51

이상빈 씨가 페이즈 보코더를 계속 보며 연구하고 있던 것을

내가 요청하여 설명을 듣게 되었음.


이상빈 블로그의 페이즈 보코더 포스트(1, 2부)

 : http://blog.naver.com/eclipseeye/220769238265

 : http://blog.naver.com/eclipseeye/220773555640




pd는 좀 복잡한 연산을 하게 되면 눈으로 이해하기에 너무 복잡하게 되어있다.

특히나 Phase vocoder같은 경우는 더욱 그렇다.


vocoder는 샘플의 길이나 소리높이를 조절할 수 있도록 하는데,

Phase vocoder는 샘플을 분해한 뒤 다시 합치는 과정에서 원본 소리와 거의 유사하게 낼 수 있도록 만든다.


Phase, 즉 위상정보까지 다 읽어 오는 것이다.


그렇게 하기 위해선 Windowing(윈도윙 : 푸리에 변환을 할 프레임에 대해 윈도우 함수를 곱한다)과정이 필요하다.


이 프레임들은 연속적으로 짧은 구간으로 윈도윙을 하는데 이것을 STFT(Short-time Fourier transfor 혹은 Short-term Fourier transform을 의미)라고 한다.


이 과정에서 윈도우 간에 서로 겹치게 하여 앞의 위상과의 차를 구하여 정확한 위산을 확보한다.

윈도우가 겹치는 사이즈는 hop size라고 하는데, 이상적인 결과를 도출하기 위해선 75%, 즉 1/4을 겹쳐주게 된다.

그 이후로 FFT(푸리에 변환)을 하게 된다.

.. 일단 여기까지 이해했다 ㅋㅋㅋ