Pitch~에 대해서 이야기 하기 이전에 먼저 Fiddle~ 부터 잠시 소개합니다.
fiddle~ object는 입력되는 소리의pitch와amplitude를 측정합니다.
Fiddle~은 pitch를 결정하는 sinusoidal peaks들을 감지하여 그 list들을 선택적으로 출력합니다. (fiddle 에 대한 이론을 보시려면http://www.crca.ucsd.edu/~msp )
Fiddle의 오브젝트 argument로는 분석 윈도우 사이즈, 최대 polyphony값(동시에 들어오는 pitch의 수를 결정) 그리고 스팩트럼 내의 peak의 수, peak의 수이다. (자세한 설명은 pitch~에서) outlet은 pitch를 분리하여 숫자로 보내어주고, amplitude enveloped내에서 감지된 어택을 뱅으로 보내주며, 하나 이상의 계속적으로 들어오는 pitch와 amplitude, 전체 amplitude, 그리고 peak에 대한 메시지의 연속(optional)을 출력합니다.
analysis hop size는 윈도우 사이즈의 반입니다. 만약 512 샘플마다 한 분석이 이루어진다면 (1.6 msec at 44.1kHz), 그리고 그 분석은 가장 최근의 1024 샘플(23.2 msec at 44.1kHz)을 사용합니다. Fiddle~이 기록하는 최소 frequency는 윈도우당 2-1/2cycles이거나 약 108Hz가 됩니다. (MIDI 45번 바로 아래)
그럼 pitch~에 대해 알아보겠습니다.
Pitch~는 이 fiddle의 성격을 그대로 반영한 오브젝트입니다.
Argument를 보겠습니다.
————————————————————————————————————-
-buffer size(ms 또는 샘플넘버)
-hop size(ms 또는 샘플넘버)
-FFT size(ms 또는 샘플넘버)
-윈도우 종류 선택(rectangular-blackman62, hanning-blackman70,hamming-blackman74)
-초기 delay값(signal vectors의 수)
-출력할 pitch의 수(1~3)
-찾아낼 peaks의 수(1~100)
-출력할 peaks의 수(1~100)
*임의의 buffer size-1024
임의의 hop size-512
임의의 FFT size-1024
임의의 윈도우 종류-blackman70
임의의 delay-0
임의의 출력할 pitch – 1
임의의 찾아낼 peak – 20
임의의 출력할 peak – 0
ex>
————————————————————————————————————-
다음은 outlet을 살펴보겠습니다.(왼쪽에서 오른쪽으로)
————————————————————————————————————-
1.들어오는 신호를 감지하여 표시 (bang으로)
2.분석된 pitch(Midi, Hz) (list)
3.원래의 Pitch (Midi, Amp) (list)
4.전체amplitude in dB (float)
5.Sinusoidal decomposition (freq, amp) (list)
————————————————————————————————————-
Note>>
————————————————————————————————————-
1. size를 정의하기 위해서 소수를 쓰며(ms) 샘플넘버는 정수로 기록되어야 합니다.
2. delay는 동시에 여러 개의 FFT를 사용하여 CPU에 무리가 생기는 것을 피하기 위하여 사용됩니다. 0, 1, 2를 사용하게되면 FFT의 사용시간이 나누어집니다.
설명이 애매하고 까다롭네요. 더 자세한 것은 직접 패치를 다운받아 실행해 보시기 바랍니다.
Download page : http://web.media.mit.edu/~tristan/