현장의 소리에 반응시키기(AudioReactive)
‘소리에 맞춰 영상을 움직인다’고 하면 어려워 보이지만, 할 일은 하나뿐입니다. AudioReactive 노드가 소리를 숫자로 바꿔 주니까, 그것을 움직이고 싶은 곳에 꽂는다. 이것뿐입니다.
이 페이지에서는 실제로 사용하고 있는 연결 방법을 쉬운 순서로 4가지 소개합니다. 1~3까지만 알아도 충분히 실전에서 쓸 수 있습니다.
1. 먼저 소리를 받아들인다
AudioReactive 노드를 놓고, Device 에서 소리의 입구를 고릅니다.

Device 드롭다운에는 OS가 인식하고 있는 입력 디바이스가 그대로 나열됩니다. 마이크로 현장의 소리를 받아도 되고, 루프백 디바이스(macOS의 BlackHole 등)를 넣어 두었다면 PC에서 울리고 있는 소리를 직접 넘길 수도 있습니다. 위 그림은 BlackHole 2ch를 고른 상태입니다.
출력은 6개입니다.
| 출력 | 내용 |
|---|---|
| Out | 소리 전체의 크기(0~1) |
| Bass | 저역의 크기. 킥이나 베이스가 여기에 나옵니다 |
| Mid | 중역의 크기 |
| Treble | 고역의 크기. 하이햇 등 |
| Onset | 음색이 변화한 순간에 발화하는 트리거(자동 검출) |
| Hit | 소리의 크기가 임계값을 넘은 순간에 발화하는 트리거 |
이 페이지에서 쓰는 것은 Bass 와 Hit 2개뿐입니다. Hit의 임계값은 노드 위의 미터를 직접 드래그해서 정합니다(기본 0.6). 현장에서 ‘여기서 반응했으면 좋겠다’ 하는 위치까지 움직여 주세요.
각 파라미터의 자세한 의미는 AudioReactive 노드 레퍼런스를 참조해 주세요.
소리에서 BPM은 검출되지 않습니다. AudioReactive가 보고 있는 것은 ‘지금 어느 정도로 울리고 있는가’뿐입니다. 템포로 새기고 싶은 경우에는 음악에 맞추기(Beat Sync)를 참조해 주세요.
2. 큰 소리로 페이더를 올린다
가장 알기 쉬운 것이 이것입니다. 위에 겹친 레이어의 불투명도를, 소리에 맞춰 자동으로 올리고 내립니다.
AudioReactive [Hit] → Curve [Trig] … Curve [Out] → LayerOpacity [In]

하고 있는 것은 손으로 페이더를 올리고 내리는 동작의 자동화입니다.
- Hit 이 발화한다 = 큰 소리가 울렸다
- 그것을 Curve의 Trig 에 꽂으면, 커브를 처음부터 1회 재생합니다
- 그 출력을 LayerOpacity에 꽂으면, Layer_1의 불투명도가 커브의 모양대로 움직입니다
Hit을 직접 LayerOpacity에 꽂지 않는 것이 포인트입니다. Hit은 ‘울린 순간’에만 나오기 때문에, 그대로 꽂아도 반짝 켜지고 끝납니다. 사이에 Curve를 끼움으로써 올라가고, 조금 유지하고, 돌아온다는 모양을 만들 수 있습니다. 그림에서는 위로 볼록한 커브로 해서, 페이드인 → 유지 → 페이드아웃으로 하고 있습니다.
Curve의 Time(그림에서는 1.0초)이 그 1회분의 길이입니다. 짧게 하면 반짝, 길게 하면 부드러운 움직임이 됩니다.
3. 저음으로 이펙트의 세기를 바꾼다
이쪽은 더 단순해서, 연결하기만 하면 됩니다.
AudioReactive [Bass] → UV_XCutting [_Value]

Bass는 항상 ‘지금의 저음의 크기’를 계속 내보내고 있기 때문에, 그것을 이펙트의 파라미터에 꽂으면 저음이 울리고 있는 동안에만 이펙트가 강하게 걸립니다.
꽂는 곳은 UV_XCutting이 아니어도 상관없습니다. 이펙트의 숫자 파라미터라면 어느 것이든 똑같이 움직입니다. 걸림이 너무 강하거나 약할 때는, 사이에 Multiply나 Remap을 끼워서 폭을 조정해 주세요.
킥으로 흔들고 싶으면 Bass, 하이햇으로 잘게 움직이고 싶으면 Treble 같은 식으로, 대역을 고를 수 있는 것이 이 노드의 편리한 점입니다.
4. 4박마다 이펙트를 ON/OFF한다
여기는 일부러 복잡한 짓을 하고 있습니다. 건너뛰어도 괜찮습니다. 1~3만으로도 충분히 소리에 반응하는 영상을 만들 수 있습니다.
하고 싶은 것은 ‘4회 중 2회만 이펙트를 ON으로 한다’, 즉 박으로 이펙트를 전환하는 자동화입니다.
AudioReactive [Hit] → Counter → Modulo → Minus → Toggle → UV_XCutting [Enable]

노드 하나씩 따라가 봅니다.
| 노드 | 하는 일 | 나오는 값 |
|---|---|---|
| Counter | Hit이 올 때마다 센다 | 0, 1, 2, 3, 4, 5 … |
| Modulo | 그것을 4로 나눈 나머지로 만든다 | 0, 1, 2, 3, 0, 1 … |
| Minus | 1을 뺀다 | -1, 0, 1, 2, -1, 0 … |
| Toggle | 값을 ON / OFF로 변환 | OFF, OFF, ON, ON … |
요컨대 Modulo가 ‘4박자’를 만들고 있습니다. 4로 나머지를 내면 0~3이 계속 반복되기 때문에, 이것으로 박을 셀 수 있습니다.
거기서 1을 빼서 -1~2로 만들면, Toggle에서는 -1과 0이 OFF, 1과 2가 ON 이 됩니다. 결과적으로 4회 중 절반이 ON, 절반이 OFF. 이것을 UV_XCutting의 Enable 에 꽂으면, 이펙트가 박으로 전환됩니다.
Modulo의 B 를 8로 하면 8박 주기가 됩니다. ON과 OFF의 비율을 바꾸고 싶을 때는 Minus의 B 를 만져 주세요.
Counter의 Max는 Modulo 값의 배수에서 1을 뺀 수로 해 주세요. 그림에서는 Max가 기본값인 100 그대로지만, 100은 4의 배수가 아니기 때문에, 100에서 0으로 돌아가는 순간에만 0이 2번 이어져서 박이 하나 어긋납니다. 4박으로 돌린다면 Max를 3(Modulo 자체가 불필요해집니다), 8박이라면 7 로 해 두면 어긋나지 않습니다.
관련
- AudioReactive — 파라미터와 Onset / Hit의 차이에 대한 자세한 내용
- 음악에 맞추기(Beat Sync) — BPM으로 맞추는 방법
- Curve — 트리거를 ‘움직임’으로 바꾸는 노드
- MIDI 매핑 — 소리가 아니라 손으로 조작하고 싶을 때








