Pure Data/Pure Data Study

[clone]사용하여 샘플러 시퀀스 만들기

slowreader 2016. 11. 22. 15:05


목적 : 클론 오브젝트로 샘플러 시퀀스를 만들 것이다.

1. 클론을 사용하면 샘플을 연이어 재생해도 끊어지지 않는다.

- 이유는 패치를 복사하여 여러개를 사용하는 효과가 나기 때문이다.

2. 각 [tableplay~]의 볼륨을 조정하여 강약을 조절할 수 있게 할 것이다.

- 이때 [array]와 [tabread]를 사용할 것이다.



[clone] 오브젝트는 abstraction하는 것처럼 미리 하나의 패치를 만들어두어야한다.


나는 아래와같이  [poly_sampler]라는 패치를 만들어두었다.



데이터의 입력을 받아야하기때문에 [inlet]이 필요하다.

[inlet]으로는 리스트를 받아올 것이다.


리스트의

첫번째는 클론 패치를 무엇에다가 인자를 넣을 것인지 이고,

두번째는 몇 번 테이블을 불러올 것인지 세팅을 할 것이다.

세번째는 볼륨, 즉 amp 값을 줄 예정이다.



 [metro]로 시퀀스 속도를 조절한다.


아래에 달려있는 counter는 0~8까지의 숫자를 내보낸다.

이 이유는 이와 같이 [clone poly_sampler 8] /  [clone, 패치이름, 복제할 패치개수] 순으로 적었는데,

나는 8이라 적었으므로 8개의 패치로 복제를 할 것이기때문이다.

클론 넘버는 0번부터 8번까지이다.


clone 오른쪽으로 나온 숫자는 지금 재생되고 있는 클론의 숫자이다.


[float $1]에 bang 신호를 주어서 하도록 하였다 (클론에서의 문법)


clone의 왼쪽 인렛은 기본적으로는 하나의 숫자를 받는데,

이것은 불러올 클론 넘버이다.

그럼 그 패치에 세팅된 소리가 나거나 실행이 된다. (만약 그렇게 해두었다면)

나는 여러 테이블을 읽어들이고 싶어서

위에서도 얘기했듯이 '1. 불러올 클론 넘버, 2. 테이블 넘버'를 기본적으로 넣고, 그다음엔 볼륨도 조절하길 원하기때문에 볼륨값도 넣었다.


하나의 테이블만 읽어도 polyphonic 샘플러 시퀀서를 만들 수 있다.


어차피 하나만 읽어올 예정이라 테이블 이름을 지정해놓았다.

아니면 테이블 넘버를 하나만 넣던가 해도 될 것같다. 여러개 샘플러를 만들 필요 없이 말이다.




이제는 볼륨을 조절할 [array]를 만들 차례다.



메뉴에서 Put - Array를 선택한다

어레이 이름은 velocity, 사이즈는 8, Draw as Point로 설정하면 된다.



그럼 이렇게 어레이가 생겨난다.


Edit mode를 풀고 이리저리 움직이면 8칸으로 나뉘어 움직일 것이다.


아 한가지 더 설정할 것이 있는데 Y의 range 값이다.



속성 property에 들어가서 Y range from 1 to 0으로 바꾸어준다.

그래야 0~1까지의 값을 내보내 준다.

볼륨값은 0~1이다.


그리고 [tabread velocity]라는 오브젝트를 생성해준다.


이 오브젝트는 테이블의 값을 읽어오는데, 0을 넣으면 x값 0번째의 y값을 읽어들인다.


만약 x1번의 y값이 20이면 20을 아웃풋한다.



이런식이다.


카운터가 올라갈때마다 테이블에서 볼륨/벨로시티 값을 얻어와 clone으로 넣을 것이다.





넣은 값은 [unpack f f]되어 각각 볼륨이 조정될 것이고 각 clone의 볼륨을 조정할 수 있다.




[tabplay~]는 읽는 시작점을 조정할 수 있다. 이것으로 8성 그래눌라도 만들 수 있을 것같다.