Skip to content

Pure Data 키워드 일람

Pd 패치에서 사용하는 오브젝트와 명령의 레퍼런스입니다.

기본 조작

조작단축키
오브젝트의 배치Cmd (Ctrl) + 1
메시지의 배치Cmd (Ctrl) + 2
넘버의 배치Cmd (Ctrl) + 3
심볼의 배치Cmd (Ctrl) + 4
주석의 배치Cmd (Ctrl) + 5
편집/실행 모드의 전환Cmd (Ctrl) + E
표시의 확대Cmd (Ctrl) + Shift + ;
일시적인 실행 모드Cmd (Ctrl) 계속 누르기
도움말 브라우저Cmd (Ctrl) + B
bang의 배치Shift + Cmd (Ctrl) + B
toggle의 배치Shift + Cmd (Ctrl) + T
수평 슬라이더의 배치Shift + Cmd (Ctrl) + J
배열의 배치Cmd + Shift + A
오브젝트의 삭제선택 → Backspace
오브젝트의 도움말(사용법)오브젝트를 우클릭 → 도움말
오브젝트 일람의 표시여백을 우클릭 → 도움말

기본 개념

용어의미
패치Pd의 프로그램 파일
인렛오브젝트 위쪽에 있는 데이터의 입력 지점
아웃렛오브젝트 아래쪽에 있는 데이터의 출력 지점. 인렛과 아웃렛을 선으로 이으면 데이터가 오간다
숫자나 문자열을 말함. 인렛과 아웃렛 사이는 가는 실선 으로 표시된다
시그널오디오 신호를 비롯한 연속 데이터. 인렛과 아웃렛 사이는 굵은 실선 으로 표시된다
메시지미리 준비한 문자열이나 숫자. 메시지 안에 $1 을 넣으면, 인렛에서 입력된 값으로 치환해서 출력한다
넘버숫자를 실시간으로 표시・입력하는 GUI
심볼문자열을 표시하는 GUI
배열오디오 데이터 등을 저장하는 곳
DSP시그널의 실시간 연산 처리. 콘솔 오른쪽 위의 체크박스를 ON으로 하거나, 오디오 출력의 볼륨을 올리면 처리가 시작된다

소리의 생성

오브젝트설명사용법
osc~사인파 오실레이터[osc~ 주파수]
phasor~톱니파[phasor~ 주파수]
noise~화이트 노이즈[noise~]
else/tri~삼각파(ELSE 라이브러리)[else/tri~ 주파수]
else/square~구형파(ELSE 라이브러리)[else/square~ 주파수]

오디오 입출력

오브젝트설명사용법
output~오디오 출력level 값 메시지로 음량 설정
else/out~오디오 출력(DSP ON/OFF 스위치 포함)ELSE 라이브러리
dac~디지털-아날로그 변환(오디오 출력)[dac~ 채널 번호]
adc~아날로그-디지털 변환(오디오 입력)[adc~]

음량・엔벨로프

오브젝트설명사용법
*~시그널의 곱셈(음량 제어에 사용)시그널 × 시그널 or 숫자
line~값의 자동 변화(시그널)[목표값 시간(ms)] 의 메시지
vline~연속적인 값 변화[값1 시간1, 값2 시간2 시작시간, ...]
delay일정 시간 후에 bang 출력[delay 시간(ms)]
else/asr~ASR 엔벨로프ELSE 라이브러리
else/adsr~ADSR 엔벨로프ELSE 라이브러리
else/envgen~자유로운 엔벨로프[else/envgen~ -curve]

연산

오브젝트설명사용법
+, -, *, /사칙연산(값)[+ 숫자]
expr수식으로 계산[expr $f1 * 2 + $f2]
mtofMIDI 노트→주파수(Hz) 변환가운데 도가 60

데이터의 라우팅

오브젝트설명사용법
s (send)값의 송신[s 수신처명]
r (receive)값의 수신[r 수신처명]
sel값의 배분[sel 값1 값2 ...](맨 오른쪽 아웃렛은 일치하지 않은 값을 그대로 출력)
route첫 번째 값으로 배분[route 주소1 주소2]
change값이 변화했을 때만 출력[change]
t (trigger)오른쪽→왼쪽 순으로 값을 보낸다[t f b] (f:숫자, b:bang, a:문자열)

필터

오브젝트설명사용법
lop~로우패스 필터[lop~ 컷오프 주파수]
hip~하이패스 필터[hip~ 컷오프 주파수]
bp~밴드패스 필터가운데:컷오프, 오른쪽:Q값

필터의 주의점

  • lop~ 이외에는 오른쪽 인렛에 vline~ 의 아웃렛을 직접 연결할 수 없습니다
  • 값(가는 선)과 시그널(굵은 선)의 차이에 주의해 주세요

딜레이

오브젝트설명사용법
delwrite~딜레이 버퍼에의 기록[delwrite~ $0-delay 버퍼크기(ms)]
delread~딜레이 버퍼로부터의 읽기[delread~ $0-delay 지연시간(ms)]
cyclone/delay~딜레이(cyclone 라이브러리)cyclone 라이브러리

$0 에 대해

$0 은 Pd의 패치 각각에 할당된 ID 번호입니다. $0-delay 처럼 버퍼 이름에 사용하면, 패치를 복제했을 때 이름이 충돌하는 것을 막을 수 있습니다.

시그널과 값의 변환

오브젝트설명사용법
sig~값→시그널 변환[sig~]
snapshot~시그널→값 변환bang이 왔을 때의 시그널 값을 출력
metro정기적으로 bang 출력[metro 주기(ms)]
else/s2f~시그널→값(자동)bang 없이 항상 출력
else/f2s~값→시그널ELSE 라이브러리
else/numbox~시그널 값의 표시표시용 GUI

DSP에 주의

시그널 관련 오브젝트는 DSP를 켜지 않으면 동작하지 않습니다. 콘솔 오른쪽 위의 체크박스를 ON으로 하거나, output~ 의 볼륨을 올려 주세요.

음원 파일 처리

오브젝트설명사용법
else/play.file~음원 파일의 재생[else/play.file~ 파일명 반복(0/1) 자동재생(0/1)]. start/stop/loop 1 메시지로 재생・정지・반복
else/stretch.shift~피치 시프트・타임 스트레치[else/stretch.shift~ 버퍼크기 초기피치 초기템포]. 피치: 0=원본, 1200=1oct(왼쪽에서 세 번째 인렛)/템포: 100=원본(%)(왼쪽에서 네 번째 인렛)
else/xselect~크로스페이드 전환[else/xselect~ 채널수 페이드시간(ms)]. 왼쪽 인렛에 채널 번호(0, 1, 2…)를 입력하면 전환된다
else/xfade~크로스페이드ELSE 라이브러리
else/rec.file~녹음[else/rec.file~ 파일명]. 파일은 패치와 같은 위치에 저장된다
soundfilerwav 데이터를 배열에 읽어 들이기read 파일명 배열명
tabplay~배열의 오디오 재생[tabplay~ 배열명]
.wav비압축 음원의 파일 형식샘플 음원 등에 사용

자동 연주

오브젝트설명사용법
text define텍스트 데이터의 정의[text define -k 파일명]. 실행 모드에서 클릭하면 텍스트를 편집・저장(Cmd (Ctrl) + S)할 수 있다
text sequence텍스트의 순차 송출(수신처 값;[text sequence 이름 -g], auto:자동, bang:1스텝, line 0:맨 앞으로
else/drum.seq리듬 머신 GUI. bang으로 한 스텝씩 재생[else/drum.seq 행수 열수]. [행번호 on(1)/off(0)] 형식의 값 리스트를 출력
else/tempoBPM 템포 출력[else/tempo BPM -mul 배수]
random랜덤 정수 출력[random 최댓값]

micro:bit 연동(OSC)

오브젝트설명사용법
else/osc.receiveOSC 데이터 수신[else/osc.receive 포트번호]
else/osc.routeOSC 주소로 배분[else/osc.route /주소1 /주소2]
netreceive네트워크를 통한 데이터 수신[netreceive -u -b 포트번호]-u:UDP, -b:바이너리)
oscparseOSC 프로토콜에 따라 데이터를 해석netreceive 의 출력을 해석. [주소 값] 의 리스트를 출력
list trim리스트의 맨 앞 셀렉터를 제거oscparse 가 출력한 [주소 값]route 등에서 다룰 수 있게 한다
list여러 값이나 심볼을 묶는다[list]
cyclone/scale값의 매핑[scale 입력min 입력max 출력min 출력max]
clip값의 클리핑[clip 하한 상한]
else/smooth~평활화(시그널)ELSE 라이브러리

GUI

오브젝트설명조작
bang트리거 송신클릭으로 송신
toggle0/1 전환클릭으로 전환
넘버 박스숫자 표시・입력드래그로 값 변경
수평 슬라이더값의 연속 입력우클릭→속성에서 상한・하한 설정
V. Radio세로로 늘어선 라디오 버튼. 클릭하면 선택 중인 인덱스(0〜스위치 수−1)를 출력한다. 화면 오른쪽의 Options에서 스위치 수를 변경 가능Put > New > V. Radio 로 배치. 선택 상태에서 화면 오른쪽 Options에서 스위치 수를 변경

그 밖

오브젝트설명사용법
print콘솔에 표시디버그용
comport시리얼 통신[comport 디바이스번호 보드레이트]
pd 서브패치명서브패치패치 안에 서브패치를 만든다
clone 패치명패치의 복제같은 패치를 여러 개 생성

상식 한 조각

베버-페히너의 법칙

인간의 주관적인 감각량은 물리량의 로그에 비례한다는 법칙. 음량의 변화를 자연스럽게 느끼게 하려면 음량 값을 4제곱하면 좋다.

악음의 구조

악기 같은 소리는 기음(가장 낮은 소리)과 그 정수배의 배음이 합성된 구조를 가진다. osc~ 를 여러 개 조합함으로써 다양한 음색을 만들 수 있다(가산 합성).