[ ] : 오브젝트 박스
{ } : 메시지 박스
[metro ] 오브젝트에 대해 알아보자.
새롭게 창을 만든 뒤에 오브젝트 상자를 만들고 ‘metro’라고 적어 [metro ]를 만들어보자.
오브젝트 위에 마우스를 올린 뒤 우클릭하여 ‘Help’를 선택하자.
위와 같이 [metro ]의 Help patch가 뜬다.(Vanilla의 경우) 친절한 설명과 함께 예제도 실행해볼 수 있다.
친절한 설명을 읽어보자.
메트로 오브젝트는 규칙적인 시간 간격에 뱅을 보낸다. 오른쪽 인렛은 ms(millisecond)단위로 값을 받는다. [metro ] 오브젝트 옆에 써 있는 argument도 ms단위이다.
0이 아니거나 “bang”이 왼쪽 인렛에 들어가면 메트로가 시작된다.
0이나 {stop }은 메트로를 멈춘다.
{tempo 2 msec}는 오브젝트 argument의 숫자를 msec단위로 세어서 그만큼 두 번 지난 뒤에 비트를 쳐준다는 것이다. 그럼 1000ms에 한 번씩 뱅이 나가게 된다. [metro 500]의 상태에서 {tempo 1 sec}을 세팅시켜준다면 500초에 1번 뱅을 준다는 얘기.
오른쪽 인렛은 ms를 세팅해줌.
argument에는 옵션으로 [metro (delay time(float))]이나 [metro (tempo(float)) (float) (time unit)]을 넣을 수 있다.
5-1) 예를 들어 [metro 1 120 permin]과 같이 넣으면 된다. 1분에 120번 뱅을 주도록.
이제 본격적으로 우리가 알던 메트로놈을 만들어보자.
우리가 아는 보통의 메트로놈은 1분 안에 일정한 간격으로 나오는 소리가 얼마나 많느냐에 따라 속도가 결정된다. 흔히 아는 BPM(beats per minute), 그 말이 이 말이다.
1분에 60번 비트가 울리면 60 BPM이고, 1s당 1beat = 1000ms당 1beat이다.
그럼 1분에 120번 비트가 울리도록 하려면 몇ms 간격으로 울려야할까? 아마 두 배의 속도니깐 500ms, 즉 0.5s동안이면 될 것이다.
이걸 식으로 나타내자면, ‘BPM = 60000 / ms’ 혹은 ‘ms = 60000 / BPM’으로 계산하면 되겠다.
계산하기 위해 패치로 만들어 보자.
'Pure Data > Pure Data Study' 카테고리의 다른 글
Windows에서 External 설치하기 (0) | 2016.10.03 |
---|---|
[metro ] simple metronome (2) (0) | 2016.01.11 |
Pure Data 시작하기 (0) | 2015.12.23 |
Simple counter 만들기 (0) | 2015.12.23 |
Pd 시작하기 업데이트 아닌 업데이트 (0) | 2015.12.22 |