Pad Ripple

AI와 함께 읽기
전체 문서 한 파일로 (llms-full.txt)
midi_pad_ripple #I/O #Node
Pad Ripple

RGB 패드를 가진 컨트롤러의 그리드를 작은 디스플레이로 다루어, 누른 패드를 중심으로 빛의 파문을 퍼뜨리는 노드입니다. 그리드 범위 안의 NoteOn을 받으면 그 위치에서 파문이 생기고, 매 프레임 각 패드의 강도를 계산해서 값이 바뀐 패드에만 NoteOn을 보냅니다(차분 송신). 파문은 동시에 몇 개든 달릴 수 있고, 겹친 부분은 강도의 최댓값으로 합성됩니다.

노트 배치는 note = Note Offset + 행 × Cols + 열을 전제로 하고 있습니다.

  • Device — 출력 대상 디바이스(이름으로 보관)
  • Channel — 015, Note Offset — 0127
  • Cols / Rows — 그리드의 열 수・행 수. 각각 1~16(기본값 8 × 5)
  • Vel Core / Vel Mid / Vel Dim — 파도의 마루・중간・꼬리에 사용하는 벨로시티=기종의 컬러 팔레트 번호. 0~127(기본값은 APC40 mk2의 흰색3 / 주황9 / 빨강5)
  • Speed — 파문이 퍼지는 속도(패드/초). 0.5~60으로 클램프(기본값 10)
  • Burst — 그리드 중앙에서 파문을 하나 내보내는 트리거입니다. 패드가 손에 없어도 동작을 확인할 수 있습니다

강도에서 벨로시티로의 변환은 3단계입니다. 0.66 초과면 Core, 0.33 초과면 Mid, 0.06 초과면 Dim, 그 이하는 소등(velocity 0)이 됩니다.

입력 쪽의 디바이스 지정은 없습니다. 유효한 모든 MIDI 입력 디바이스의, 지정 Channel이면서 그리드 범위 안에 있는 노트가 파문의 중심이 됩니다.

Device / Channel / Note Offset / 그리드 크기를 변경하면, 예전 설정으로 켜져 있던 패드를 소등한 뒤 캐시를 다시 만듭니다. 노드를 삭제했을 때도 마찬가지로 전체 소등을 시도합니다(디바이스가 이미 뽑혀 있던 경우에는 켜진 채로 남을 수 있습니다).

입력 포트

Port ID타입
Speedfloat
Bursttrigger

출력 포트

없음

스크립트에서 설정할 수 있는 멤버

경로타입
speedInputfloat
currentDeviceNamestring
currentChannelint
currentNoteOffsetint
currentColsint
currentRowsint
currentVelCoreint
currentVelMidint
currentVelDimint

Synapse Apps (스크립팅)

await synapse.modules.create({ type: "midi_pad_ripple" })