Obj. fft~ for Analysis of a signal

fft~ : Fast Fourier transform

Input
-signal : 왼쪽 inlet – 변형될 complex signal의 실제부분
오른쪽 inlet – 변형될 complex signal 의 가상부분
만약 시그널이 왼쪽 inlet과 왼쪽 outlet에만 입/출력되면, 실제 FFT (fast Fourier
transform) 가 실행된다. 마찬가지로 complex FFT 가 실행된다.

Arguments
-int : 선택적 사용.
첫 번째 argument 는 FFT의 sample point number를 결정. 반드시 2의 제곱의 수가 와야한다. 임의의 값은 512가 주어짐.
두 번째 argument는 연속적인 FFT간의sample들의 수를 지정. 이것은 최소한 point의수가 되어야 하며, 2의 제곱이어야 한다. 임의의 interval은512.    
세 번째 argument 는FFT가 시작될 interval로 offset 반드시 0이나 signal vector size의 배수가 되어야 한다. fft~ 는 잘못 입력된arguments를 자체적으로 수정한다. 하지만 만약 signal vector size가 fft~를 만들 이후에 바꾸어서 그 offset이 더 이상 vector size의 배수가 아니라면 그 fft~는 signal processing이 켜지더라도 연동되지 않을 것이다.

Output
-signal -Out left outlet: 입력의 Fourier transform 의 실제부분. 출력은 input의 모든 points가 받아 들여진 이후에 시작한다.
-Out middle outlet: 입력의 Fourier transform 의 가상부분. 출력은 input의 모든 points가 받아 들여진 이후에 시작한다.

-Out right outlet: 0에서 -1까지 오르내리는 sync signal(FFT output이 발생하는 주기로) 이 signal을 index~의 input으로 사용하여 frequency domain에서 계산 하도록 이용할 수 있다. FFT 이 보내지지 않고 있으면(interval 이 point수보다 클 경우) sync signal 은 0이다.

Obj. capture~ for Analysis of a signal

capture~ : signal을 저장하여 text로 본다.

Input
-signal : signal을 입력하면 하나의 파일로 보고, 수정하고, 저장하기 위하여 text로 저장한다. (입력의 길이는 object에 argument를 적어서 결정한다.)

-write : capture~의 내용을 text file로 저장한다. 파일 다이아로그 창이 열리고 이름을 입력할수 있다. 단어’write’가 symbol뒤에 오면 그 파일을 저장하고 apture~가 포함된 패치와 같은 폴더에서 파일 이름으로 symbol을 사용한다. 만약 패치가 저장이 안되어있으면 capture~ file 은 Max application와 같은 폴더안에 저장한다.

-clear : capture~안의 내용 지우기

-open : capture~의 editing 과 viewing window 보기.

-wclose : 연관된 윈도우 닫기

-(mouse) capture~ 에 마우스를 더블클릭하면 또한 open처럼 윈도우를 열어 내용을 보고 수정할 수 있다. editing window안의 숫자는 graphic buffer~ editing window 로 copy/paste 될수 있다.

Arguments
-f : 선택적 사용. 만약 첫번째 argument 가 f이면, capture~ 는 첫번째 signal sample를 입력하고 받아들이며 뒤따르는 sample은 무시한다. F가 없으면 capture~ 는 가장 최근의 받아들여진 signal samples 을 저장한다.

-int : 선택적 사용 sample의 수를 제한한다.(입력의 길이도 제한) 숫자를 입력하지 않으면 capture~ 는 4096 samples을 저장한다. 최대값은 메모리에 따라 결정된다.

Output
없음

Obj. Tapin~ Tapout~

*Tapin~

-inlet : tapout~에 의해 읽혀 질 수 있는 delay line으로 쓰일 signal의 입력.

-clear : 왼쪽 inlet에 clear라는 메시지가 전송되면 delay line에 저장되어있는 메모리를 지운다.

-argument : delay단위는 ms단위로 들어간다. 이것은 컴퓨터가 얼마나 많은 메모리를 수행할 수 있느냐에 따라 값의 한계가 결정된다. 만약 object가 만들어진 후에 sampling rate가 증가하면, tapin~은 delay line의 size를 다시 잰다. 기본값은 100ms

-outlet : 반드시 tapout~의 왼쪽으로 연결되어야 하며, 다른 곳에는 연결할 수 없다.

*Tapout~

-Inlet : Signal input:계속 delay된다. ms단위.
          Signal이 들어가는 속도가 충분히 천천히 증가하면 출력의 음높이 (pitch)는 감소된다.
          반대로 signal이 들어가는 속도가 천천히 감소하면 pitch는 증가한다. 즉, pitch shift로도 사용가능.
          하지만 정확한 pitch값이 계산되어 들어가는것이 아니라서
          확정적인 음정을 사용하기는 어렵다.
          계속적인 delay 알고리즘은 시그널이 tapout~의 inlet에 연결되지 않았을 때
          사용되는 고정된 delay 알고리즘 보다 계산적으로 팽창한다.

-Tap : 왼쪽 inlet : tapin~의 outlet은 tapout~의 왼쪽에 연결되어야 하며,
         하나 이상의 inlet과 outlet을 가질 수 있고, delay time은 신호나 숫자가
         inlet에 받아지면 inlet아래 바로 출력하는 신호를 가진다.

-Float, Int. : inlet에 신호가 연결되어있지 않으면, 고정된 알고리듬이 사용되고,
                 숫자를 받으면 outlet으로 대응되는 신호는 delay time으로 지정된다.
                  Delay time이 변할 때 출력에 click이 발생한다. 그러나 고정된 값은                
                  delay time이 다이나믹하게 변하지 않는 reverb와 같은 많은 application에서
                  안정적으로 사용된다.

-List : left inlet : 동시에 변하는 여러 개의 고정된 delay time을 허용.