waveform~ :
buffer~ viewer and editor
Input
-float : 왼쪽t inlet: 시작시간-위의 그림에서display start ms-.이 값을 바꾸면 offset하거나 zoom한다. 따라서 buffer~에 지정된 시간이 display의 왼쪽 가장자리에 정렬된다. 기본값 0 (display 는 보여질 wave의 buffer~의 시작에서 시작한다.)
두번째 inlet: display길이-위의 그림에서display start ms-기본값은 buffer~의 길이.
세번째 inlet: 선택된 범위의 시작값-위의 그림에서select start ms-
네번째 inlet: 선택된 범위의 끝값-위의 그림에서select end ms-
-list : 5번째 inlet: 5번째inlet–위의 그림에서select all-은link input을 제공하여 어떤 숫자가 시작, 길이, select start, select end 값을 공유할 수 있게 한다. 이 값이 변화할 때마다 waveform~은 오른쪽 outlet으로 리스트로 전환하여 보낸다. 만약 이 outlet이 또 다른 waveform~과 연결되어있다면 그것은 list를 받아서 update된다. 이런 순환을 완성하기 위하여 두 번째 waveform~의 리스트 출력이 첫 번째의 input과 연결될 수 있다. 그때 둘 중 하나의 변화가 다른 것에 반영이 된다. 이런 기능은 waveform~들이 같은 buffer~의 다른 채널로 보는 것을 가능하게 해준다.. waveform~ object들은 이런 방식으로 서로 연결외서 순환적인 chain구조를 가질 수 있다(바로 아래 그림 참조). 이런 경우에 waveform~은 feedback을 예방한다.
-bpm: 1~2개의 숫자를 요구하는 bpm은 tempo와 bar당 beats의 수를 지정한다. 첫 번째argument 는 tempo를 분당 beats의 비율로 set한다 (기본값 120) 두 번째 argument는 optional로서, bar당 beats의 수를 지정한다. (기본값4) bpm message는 자동적으로 display time unit을 bpm으로 바꾼다. Time값들은 bars와 beats에서 소수점 값으로 보여지는 beat의 구획값과 함께 보여진다. offset message는 적용될 buffer~의 내용과 함께 metric 정보를 정열시키는데에 유용하게 쓰일수 있다. setbpm message로 현재의 selection에 맞추어 tempo를 계산한다.
-brgb: brgb의 메시지는 0~255사이의 3개 숫자가 뒤따라오며, RGB values를 설정하여 배경색을 지정해준다.
-clipdraw : 1의 숫자와 함께 쓰이는 clipdraw은 draw mode에서 edited되고 있는 값들을 display범위에 고정(clip)되게 한다. (vzoom message에 의해 결정됨). 0의 숫자는 clip을 멈춘다. 기본값0
-constrain: 정수와 함께 쓰임 (토글 변경 값으로) 그 효과는 현재의 mode에 따라 변한다(mode message에 의해 결정되는) 그러나 일반적으로 마우스가 움직이는 동안에 shift key를 누르는 것과 같은 효과가 난다. 예를 들어 select mode를 클릭하여 선택 값들이 증가 하는 것으로 판단되면(선택 범위의 가장 가까운 endpoint설정) move mode에 있는buffer~ navigation은 zoom 없이 수평적인 panning으로 제한된다. ;loop mode에 있는 선택 길이는 수직적인 마우스 이동과 상관없이 지속된다. 0이 아닌 수가 오면 제한되어있는 상황을 다시 해제한다. 0이나 no argument는 이런 제한을 불가능하게 하며, 기본값으로 전환된다. (역주- 한국말로 하려니 무지하게 힘듭니다. Mode에 따라서 마우스 이동의 수직적, 수평적 제한을 거는 것이니 직접 실험을 통해서 해보시길 바래요.)
-crop : date를 다듬는 작용. Buffer~의 Size를 selection length로 다시 설정, selected samples로 복사, 그리고 그 결과를 기본설정으로 보여준다. buffer~ 는 선택 범위 이외에는 지워진다. 이것은 undone될수 없으므로 주의 요.
-frgb: frgb는 0~255사이의 값. Wave의 색깔 조정.
-grid : grid lines의 설정. 정수, 소수 사용. 예를 들어 grid 1000은 grid lines을1000 milliseconds apart로 설정한다.
-labels: 정수와 함께 쓰임. 사용가능 (1), 사용불가능 (0) display의 top부분의 시간단위를 보이게 할 것인가 아닌가의 설정
-mode: symbol과 함께 쓰이며 어떻게 mouse에 반응할 것인지를 설정. none, select, loop,
move, draw. 메시지와 함께 쓰임
-none : “display only” mode, mouse의 clicking, dragging모두 영향을 미치지 않음 mode message에 아무 argument가 없으면 똑같이 mode none을 함과 같다.
-select: default display mode. Cursor는 I-beam mode로 나타남 click, drag하여 범위설정 가능.
-loop: loop selection style수직적인 마우스이동 (selection length를 늘이고 줄이는데 사용) groove~ object와 잘 사용됨. loop mode 가 선택되면 display영역 안의 커서의 이동은 double I-beam.으로 변화된다. (double I-beam이 무엇이냐 하면요. 맨 위 그림에 보면 waveform display창 왼쪽에 4개의 selction이 있지요. 그 중에 두 번째입니다. 첫 번째는 그냥 I-beam이 구요
-move: move display mode설정. waveform~ view.를 조정. 수직적인 마우스 이동은 zoom in/out해주며, 수평적인 이동은 x축의 시간범위를 scroll해준다. 그래프의 한 점을 클릭하면 마우스 키가 눌린 상태에서 놓여질 때까지, 나머지 마우스의 event가 중앙지점에 높이게 한다. 이것은 한 지점을 잡아서 zoom in하고 계속적으로 중앙으로 맞추게 조절하지 않아도 되도록 해준다.
-draw: draw display mode. 적용되는 buffer~의 값을 수정. Pencil tool이용한다. Undone이 사용될 수 없다.
-mouseoutput: symbol 과 같이 쓰임, selection start 와 end값이 마우스 이동의 응답에서 보내졌을 때 결정됨. Selection start와 end (outlets 3 과 4)에만 영향을 미침.Mouse information은 언제나 outlet 5에서 오며 이것은 mouseoutput mode와 관계가 없다. 유효한 symbol arguments는none, down, up, downup, continuous 이다.
-none : Selection start 와 end 값이 마우스 이동에 응답하여 보내지지 않음. no argument도 같은 효과.
-down: 현재의 selection start 과 end 값들이 보내짐(outlets 3 과 4로부터) waveform의 안을 클릭했을 때만.
-up : selection start와 end 가 마우스 버튼을 놓았을 때에만 보내짐(wavrform~안을 클릭한 후)
-downup: selection start와 end 이 waveform안을 클릭했을 때와 마우스 버튼을 놓았을 때 둘 다 보내짐.
-continuous: selection start와 end 가 값이 바뀔 때마다 클릭, 버튼을 놓았을 때, 그리고 드레그했을 때 보내짐.
-normalize: 소수와 함께 쓰임 사용되는 buffer~안의 샘플값을 scale함. 따라서 가장 높은 peak값이 argument에서 주어진 값과 일치한다. 이것은 오디오의 amplification 또는 attenuation하지만 두 경우 모두 모든 buffer~값이 scale된다. undone될수 없음.
-norulerclick: 정수와 함께 쓰임, waveform~ display 의 ruler영역 클릭과 드레깅의 사용불가능 (1)과 사용가능 (0)설정. 기본값은 ‘사용가능’
-offset : 소수의 값과 함께 쓰임. 모든 labels과 시간 marking이 ms의 수에 의해 이동된다. Snap behavior 또한 이동. offset 0으로 하면 원래의 위치로 돌아옴.
-rgb2 : 3개의 숫자와 함께 쓰여서 직사각형 selection 범위 영역의 색깔 설정.
-rgb3: 3개의 숫자와 함께 쓰여서 label영역과 오브젝트 직사각형 주위의 frame color설정
-rgb4: 3개의 숫자와 함께 쓰여서 label text color 설정
-rgb5: 3개의 숫자와 함께 쓰여서 label background color 설정
-rgb6: 3개의 숫자와 함께 쓰여서 그 color을 tickmarks와 measurement lines에 적용
-rgb7: 3개의 숫자와 함께 selection 직사각형 “OpColor”. 그 selection 직사각형은 rgb2 에의해서 바탕색이 그려지나, transfer mode에서 rgb7에서 OpColor와 함께 “blend”로 set한다. rgb2 와 rgb7에서 각각 다른 색을 설정하여 실험해 보면 쉬움.
-set : 심볼이나 정수(buffer~의 이름)과 함께 쓰임. Buffer~와 연결시켜줌. 정수값은 optional로서 채널 offset을 설정하여 멀티채널 buffer~를 볼수있게 한다. Buffer~에 연결되는 이름은 패치에 저장되지 않는다.
-setbpm: arguments없이 쓰임. waveform~ 이 tempo를 selection범위에 맞추어 계산하게 한다. unit bpm 이라는 메시지를 사용하면 display time 유닛을 자동적으로 bpm으로 바꾸어준다. selection범위가 어떤 tempo가 선택되면 selection 범위는 bar의 눈금에 맞게 설정하며. Bar의 값 당 현재의 beat수로 유지하고, 그것에 만족하는 현재의 tempo에 가장 가까운 값을 계속 찾는다. 적당한 tempo가 선택되면 offset 파라메터가 적용되어서 selection range의 시작시간은 정확하게 bar line에 맞아 떨어지게 된다.
그 결과 selection 영역은 호환되는 tempo에 의해 정확하게 frame이 맞추어진다. 이것을 사용하면 오디오 섹션에서 시간 label과 tick 마크를 빠르게 설정한다. 가능한 정확하게 bar를 선택한 후에 setbpm메시지를 보내고 snap에서 label로 돌아오는 것은, metric값으로 즉각적인 그 선택범위의 quantization를 하도록 한다. 만약 적용될 buffer~가 logical한 수의 beats또는 bars로 이미 잘려진 오디오 조각을 가지고 있다면, 가장 좋은 technique은 그 buffer~의 전채 범위를 선택하는 것이다. (setbpm을 통해서)만약 buffer~ 가 정확하게 잘렸다면 그것에 적용된 tempo는 꽤 정확할것이며, 즉시 tempo가 metric 정보로 나타난다. 새로운tempo가 계산될 때 그것은 가장 오른쪽 outlet으로부터 보내져서 (link outlet),어떤 연결된 waveform~ objects를 update하고 다른 주면 패치에 의해 요구되는 어떤 방식에서든 사용된다.
-snap: 심볼과 쓰임.selection의 start 과 end 값들이 자동적으로 snap mode에 의해 정의된 buffer~의 특정 point로 움직이게 한다. none, grid, zero.와 함께 쓰임
-none : snap의 자유로운 selection을 못하도록한다. (기본값)
-grid: selection start 와end points 가 수직적인 grid lines에 맞게 snap되도록 함.grid line의 spacing이 시간 측정 유닛과 offset값에 의해 영향을 받기 때문에, 이것 또한 그 파라메터의 영향을 받는다.
-tick: selection start 과 end 이 ticks 메시지에 의해 지정된 tick divisions으로 snap한다.
-zero: selection을 일정한 grid로 snap하지않고 buffer~ date의 zero-crossing을 검색한다. loop 와 edit points에 유용함.
-ticks: 숫자값과 함께 쓰여서 grid 라인 사이에 올 tick의 수를 결정. 기본값은 8. 0이나 argument없이 쓰이면 tick mark사용불가.
-undo: waveform~ selection에만 쓰임 selection start와 end points을 이전값으로 되돌림.
-unit: 심볼과 함께 쓰임 time unit을 설정 ms, samples, phase, bpm.
-ms: milliseconds.(기본값)
-samples : 시간을 buffer~의 sample position으로 보여지게 함. 첫번째 샘플은 offset으로 display가 이동되지 않았다면 0이 된다.
-phase : buffer내의 phase에 따라 보여짐. 0은 첫번째 샘플. 1은 마지막 샘플. phasor~ 와 wave~와 쓰일 때 유용.
-bpm: 분당beats.
-vlabels : 정수와 함께 쓰임. y축의 labels이 display의 가장 오른쪽 가장자리에 오도록 함. (0으로 설정하면 사용불가).
-voffset: 소수와 함께 쓰여서 y축 offset. 0으로 하면 x축이 중간에 오도록 함(기본값)
-vticks : 정수와 함께 쓰여 y축에 tick마크를 display의 오른쪽, 왼쪽 가장자리에 오도록 함 (0으로 설정하면 사용불가
-vzoom: 소수와 함께 쓰여서 y축 scaling함
Inspector
Inspector 를 사용할수있다. 만약 window menu에서‘Show Floating Inspector ‘를 선택하여 floating inspector를 하게 하면 어떤 scope를 선택하든 scope~ Inspector는 floating window에서 보여진다. 어떤 object를 선택하서나 Get Info를 선택하여 볼수도 있다. scope~ Inspector는 위에서 정의한 massege들(snap, grid, tempo, setbpm, ticks, labels, vlabels, vticks, Edit Mode pull-down menu, Mouse Output pull-down menu, Color pull-down menu, Revert button)을 가능하게 해준다
Arguments
없음
Output
–float :
Out 1st outlet: waveform의 start time(ms)
Out 2nd outlet: display 길이(ms)
Out 3rd outlet: selection범위의 start time(ms)
Out 4th outlet: selection범위의 end time (ms)
–list :
Out 5th outlet: mouse outlet(mouse의 click/drag/release cycle정보를 보냄, list는 3개의 숫자로 구성(mouse의 x축 0~1 scale, y축 floating point. 마우스 event가 현재 위치한 자리.
Out 6th outlet: 다음을 포함한 list-display start time, display 길이, selection start time, selection end time,
Examples