Practice 1

metro, toggle, message box, number box, + 를 이용하면

1초에 숫자가 1씩 증가하는 패치를 만들 수 있습니다.



상단의 토글을 on으로 하면 제일 밑에 있는 number box의 숫자가 1초에 1씩 증가합니다.

원리는



토글을 동작시키면
(현재 그림엔 토글이 off상태지만 -_-;; 수정하기 귀찮은 관계로 on이라고 가정합니다.)

① metro는 message box에 bang을 보냅니다.
② bang을 받은 message box는 자신이 가진 1을 +의 왼쪽 inlet으로 보냅니다.
③ 1을 받은 +는 0을 더한 값 1을 number box의 inlet으로 보냅니다.
④ 1을 받은 number box는 1을 +의 오른쪽 inlet으로 보냅니다.

여기까지가 metro에서 처음 bang이 나갔을 때 이루어지는 동작입니다.

metro는 1000으로 설정되어 있기 때문에 1000ms(1초)마다 bang을 내보내게되죠.

1초 후 두번째 bang이 나갔을때의 동작은



① metro는 message box에 bang을 보냅니다.
② bang을 받은 message box는 자신이 가진 1을 +의 왼쪽 inlet으로 보냅니다.
//첫번째 bang에서 마지막에 number box가 +의 오른쪽 outlet에 1을 보냈습니다.
   그럼 +의 인수는 0이 아닌 1로 바뀌어있을것입니다.//
③ 1을 받은 +는 1을 더한 값 2를 number box의 inlet으로 보냅니다.
④ 2를 받은 number box는 2를 +의 오른쪽 inlet으로 보냅니다.

1초마다 이런 식으로 +의 인수가 1씩 증가하여 결국 number box는 1초마다 1씩 증가하게 됩니다.

초 간단한 패치지만 조금만 응용하면 상당히 유용하게 쓸 수있습니다. 


아.. 0을 가지고 있는 number box는 reset입니다;; 클릭하면 처음상태인 0으로 돌아가는거죠;; 쿨럭

by koyo | 2008/03/26 18:47 | Skill | 트랙백 | 덧글(0)

anatomy

anatomyex57.wma

Anatomy, 2005, Tape Music, 04'22", Max/MSP, CSound


업로드 용량 제한의 압박으로 00'57''까지 잘라낸 후 128 Kbp로 내려버린... -┏


음악(또는 소리)을 제작하는 프로그래밍언어인 CSound를 위한 곡 

electronic drum은 Max/MSP 컨트롤에 정신 팔려서 모니터를 안하는 바람에 묻혀버렸음.. OTL

Granular Synthesis를 무리한 크기의 조각으로 쓴 감이 철철 넘치지만 소스가 사라진 관계로 패스

electronic drum을 제외하고 모두 CSound로 생성한 음원으로 제작하였음.
(원본이 모두 행방불명이라서 마냥 거슬리는 드럼을 빼고싶어도 못뺌 -┏ 아하하하핳)



//

CSound는 
http://sourceforge.net/projects/csound 에서 다운받을 수 있으며

CSound를 조금이나마 편하게 사용하려면  
http://www.ibiart.it/winxound/ 에서 winXound를 설치

CSound의 상세정보는 
http://csounds.com/ 에서 볼 수 있음.

by koyo | 2008/03/26 00:36 | Status | 트랙백 | 덧글(0)

About Max 1 ( int / float )

Max에서 사용되는 숫자에는 int (integer)와 float이 있습니다.

프로그래밍을 접해본 사람이라면 int와 float의 차이를 아시겠지만

int는 정수를 뜻하고 float은 .................................-┏..

소숫점 아래의 값을 가진..?? 이라고 표현해야할까요;;; 유리수 정도?
 
................1은 int 이며 1.1은 float 입니다 정도로 이해바랍니다.

Max에서 어떤 숫자를 사용해야 할 때 그 숫자가 int인지 float인지

구분을 해주셔야 제대로 된 결과를 얻을 수 있습니다.

int와 float은 .으로 구분합니다.

넘버박스를 보면



왼쪽이 int를 사용하는 넘버박스이고 오른쪽이 float을 사용하는 넘버박스입니다.

단순히 .으로만 구분되어 있습니다.

오브젝트박스를 사용할때도 마찬가지입니다.



왼쪽과 오른쪽의 차이는 .뿐입니다.

하지만 왼쪽의 오브젝트박스에 아무리 float을 넣어도

소숫점아래를 전부 버린 정수부분만 값으로 내보냅니다.

반면 오른쪽 오브젝트박스는 float을 사용하겠다는 선언(.)을

해주었기때문에 어떤 수가 들어오던지 정상적으로 동작합니다.

by koyo | 2008/03/24 18:18 | Skill | 트랙백 | 덧글(0)

Math in Max 1

Max에서 수를 계산하는 방법은



이런 계산 방법과 동일합니다.



오브젝트의 왼쪽 inlet에 1을 집어넣으면 5를 더해서 outlet으로 내보내게 됩니다. 오른쪽 inlet은
오브젝트박스 안에 미리 입력해둔 5라는 숫자를 변경할때 사용되며 숫자가 바뀌더라도
오브젝트박스의 5라는 숫자는 변하지 않지만 계산은 변경된 숫자로 수행합니다.

덧셈뿐 아니라 뺄셈, 곱셈, 나눗셈도 동일한 방법으로 계산할 수 있습니다.



오브젝트박스안에 미리 계산할 수를 입력해두지 않아도 동작합니다. 
(이때 계산되는 수의 기본값은 0이지만 나눗셈만은 어떠한수도 0으로 나눌 수 없기때문에
1이 기본값이며 나눗셈의 인수를 0으로 설정하더라도 1로 계산합니다.)

by koyo | 2008/03/24 17:53 | Skill | 트랙백(9) | 덧글(0)

Bang and Toggle

Max/MSP에는 Bang이라는 신호가 있습니다.

정확히 설명하긴 애매하지만 'do' 또는 'go'라는 의미의 신호로

오브젝트가 bang메세지를 받으면 '무언가'를 합니다.-_-;

예를 들어



좌측 최상단에 있는 오브젝트가 Button입니다. 저 버튼을 직접 클릭을 하거나 어떤 신호가 들어오면 bang을 내보냅니다.

현재 Button의 outlet과 message box의 inlet이 연결되어 있습니다.
 
이 상태에서 버튼을 클릭하게 되면 bang메세지가 message box로 보내지고 bang을 받은 message box는 현재 설정되어있는 데이터(64)를 outlet으로 내보내게 됩니다.

bang으로만 동작하는 오브젝트들도 있습니다.


toggle은 다른 프로그램에서 볼 수 있는 일반적인 토글과 동일합니다.

전등 스위치나 키보드의 caps lock과 같이 on/off의 기능을 수행합니다.

정확히 말하자면 Max/MSP의 토글은 0과 1의 값을 가지고 있습니다.

아래 그림처럼 off일때는 0, on일때는 1을 outlet으로 내보내는거죠.



다른 오브젝트와 마찬가지로 toggle도 bang메세지가 들어오면 '무언가'를 합니다.

off상태에서 bang을 받으면 on으로 전환되고 반대로 on일때 bang을 받으면 off로 바뀝니다.

물론 toggle 박스를 직접 클릭해도 됩니다.

by koyo | 2008/02/27 17:07 | Skill | 트랙백 | 덧글(0)

◀ 이전 페이지          다음 페이지 ▶