Blender 5.2 Sample Sound Frequencies 노드로 소리에 맞춰 춤추는 막대 만들기
Blender 5.2에 새로 들어온 Sample Sound Frequencies 노드로 소리 파일의 낮은 소리·중간 소리·높은 소리를 따로 읽어, 막대 세 개가 소리에 맞춰 늘었다 줄었다 하는 장면을 만들고 EEVEE로 렌더합니다.
한국어English
기준: Blender 5.2 LTS(캡처는 5.2.1, 영어 화면, 기본 단축키), 렌더 엔진 EEVEE. 2026년 11월에 확인했습니다. 그림은 모두 실제 Blender 화면과 EEVEE 렌더입니다. 빨간 번호와 테두리는 설명을 위해 덧그렸습니다.
오디오 장비의 그래픽 이퀄라이저 화면에서는 낮은 소리가 크면 왼쪽 막대가, 높은 소리가 크면 오른쪽 막대가 올라갑니다. Blender 5.2에는 이런 장면을 노드만으로 만들 수 있는 Sample Sound Frequencies 노드가 새로 들어왔습니다. 가져온 소리로 애니메이션과 시뮬레이션을 움직이는 노드입니다.
이 글에서는 막대 세 개가 각각 낮은 소리, 중간 소리, 높은 소리에 맞춰 움직이는 장면을 만듭니다. 결과는 그림 1과 같습니다. 노드가 처음이라면 Blender 지오메트리 노드 입문을 먼저 읽고 오면 훨씬 쉽습니다.
그림 1. 이 글에서 만드는 장면. 낮은 북소리와 멜로디가 함께 나는 순간이라 빨강·초록 막대가 높습니다 (Blender 렌더)
이 글을 마치면 아래를 할 수 있습니다.
- Sample Sound Frequencies 노드의 입력과 출력을 구분합니다.
- 소리 크기에 따라 키가 바뀌는 막대 하나를 노드로 만듭니다.
- 주파수 범위(Low·High)와 키 배율(Gain)을 모디파이어 칸으로 빼냅니다.
- 막대를 셋으로 늘려 낮은·중간·높은 소리에 하나씩 맡깁니다.
- 소리를 들으며 재생하고, EEVEE로 렌더해 결과를 확인합니다.
시작 전에
- 소리 파일 하나를 준비합니다. WAV나 MP3면 됩니다. 이 글의 그림은 직접 합성한 8초짜리 박자 소리(낮은 북, 박자 사이의 높은 찰랑 소리, 중간 높이의 멜로디)로 만들었습니다. 남이 만든 음악을 쓰면 영상을 공개하기 전에 그 곡의 사용 조건을 꼭 확인하세요.
- 새 파일(File ‣ New ‣ General)을 엽니다.
- 타임라인 오른쪽의 End 칸에 소리 길이에 맞는 프레임 수를 넣습니다. 기본 24 fps에서 8초는
192입니다.
1. Sample Sound Frequencies 노드가 하는 일
소리는 공기가 빠르게 떨리는 것입니다. 1초에 몇 번 떨리는지를 주파수라고 하고, 단위는 **Hz(헤르츠)**입니다. 낮은 북소리는 수십~백몇십 Hz, 사람 목소리와 멜로디는 수백~수천 Hz, 심벌즈 같은 찰랑 소리는 수천 Hz 위쪽에 많이 있습니다.
이 노드는 정해진 순간의 소리를 잘게 나눠, 고른 주파수 범위의 소리가 얼마나 큰지를 숫자 하나로 내 줍니다. 비유하면 합창단 가운데 "베이스 파트만 얼마나 크게 부르는지"를 재는 소리 측정기입니다. 그림 2에서 칸 하나씩 봅니다.
그림 2. Sample Sound Frequencies 노드. ① 소리 파일 칸과 폴더 단추 ② Time ③ Low·High ④ FFT 묶음(FFT Size, Window Function) ⑤ Amplitude 출력 (Blender 화면 캡처)
| 칸 | 하는 일 | 기본값 |
|---|---|---|
| 소리 파일(①) | 읽을 소리. 폴더 단추로 파일을 엽니다 | 비어 있음 |
| Time(②) | 소리의 몇 초 지점을 잴지 | 0 |
| All Channels | 왼쪽·오른쪽 소리를 하나로 섞어서 잼 | 켬 |
| Channel | All Channels를 끄면 잴 채널 번호 | 0 |
| Low·High(③) | 잴 주파수 범위의 아래·위 끝 | 0 Hz, 10000 Hz |
| FFT Size(④) | 한 번에 잘라 보는 소리의 길이 | 4096 |
| Window Function(④) | 잘라 낸 조각의 가장자리를 다듬는 방식 | Hann |
| Amplitude(⑤) | 범위 안 소리의 크기를 더한 값 | 출력 |
FFT는 소리 조각을 주파수별로 나누는 계산 방법의 이름입니다. FFT Size를 키우면 주파수는 더 잘게 나뉘지만 시간은 덜 정확해집니다. 처음에는 기본값 4096을 그대로 두세요.
중요한 점이 하나 있습니다. Time 칸은 저절로 움직이지 않습니다. 그대로 두면 0초만 계속 재기 때문에, 재생해도 막대가 멈춰 있습니다. 2절에서 이 칸에 장면의 시간을 이어 줍니다.
2. 소리에 맞춰 키가 바뀌는 막대 하나
시작 상태: 새 파일(File ‣ New ‣ General)의 기본 큐브에서 시작합니다.
따라 하기:
- 위쪽 작업 공간 탭에서 Geometry Nodes를 누릅니다. 큐브가 골라져 있는지 봅니다.
- 아래 노드 편집기 머리줄의 New를 누릅니다. Group Input과 Group Output 두 노드가 생기고, 큐브에 지오메트리 노드 모디파이어가 붙습니다. 그룹 이름 칸을 두 번 눌러
SoundBar로 바꿉니다. Shift+A‣ Geometry ‣ Operations ‣ Transform Geometry를 골라 두 노드를 잇는 선 위에 놓습니다. Translation Z에1 m를 넣습니다(그림 3의 ①). 기본 큐브는 높이가 2 m이고 가운데가 바닥 높이에 있습니다. 1 m 올리면 밑면이 바닥에 닿아, 뒤에서 키를 키울 때 위로만 자랍니다.Shift+A‣ Input ‣ Scene ‣ Scene Time을 놓습니다(그림 3의 ②).Shift+A‣ Utilities ‣ Sound ‣ Sample Sound Frequencies를 놓습니다(그림 3의 ③). Scene Time의 Seconds를 이 노드의 Time에 잇습니다. 이제 재생 중인 시각이 그대로 들어갑니다.- 같은 노드의 폴더 단추(그림 2의 ①)를 눌러 준비한 소리 파일을 엽니다.
Shift+A‣ Utilities ‣ Math ‣ Math를 놓고, 가운데 연산 칸을 Multiply Add로 바꿉니다(그림 3의 ④). Amplitude를 Value에 잇고, Addend에0.05를 넣습니다. Addend는 소리가 없을 때도 막대가 아주 얇게 남도록 더하는 값입니다.Shift+A‣ Utilities ‣ Vector ‣ Combine XYZ를 놓습니다(그림 3의 ⑤). X와 Y에0.5를 넣고, Multiply Add의 결과를 Z에 잇습니다. 막대가 가로로는 절반 굵기, 세로로는 소리 크기만큼 늘어나게 됩니다.- Transform Geometry를 하나 더 놓아 첫 Transform Geometry와 Group Output 사이에 끼웁니다(그림 3의 ⑥). Combine XYZ의 Vector를 이 노드의 Scale에 잇습니다.
그림 3. 완성한 노드. ① 첫 Transform Geometry(Translation Z 1 m) ② Scene Time ③ Sample Sound Frequencies ④ Multiply Add ⑤ Combine XYZ ⑥ 둘째 Transform Geometry (Blender 화면 캡처)
그림 3의 Group Input에는 Low, High, Gain 세 칸이 더 보입니다. 이 칸은 다음 단계에서 만듭니다.
3. 주파수 범위와 배율을 모디파이어 칸으로 빼내기
막대를 셋으로 늘리면 막대마다 Low·High 값이 달라야 합니다. 값을 노드 안에 적어 두면 막대마다 노드를 따로 고쳐야 합니다. 대신 이 값을 그룹 입력으로 빼내면, 속성 편집기의 모디파이어 탭에서 막대마다 숫자만 바꾸면 됩니다. 그룹 입력은 노드 상자 바깥에 달린 손잡이입니다.
시작 상태: 앞 절의 노드에서 이어 갑니다.
따라 하기:
- Sample Sound Frequencies의 Low 소켓(왼쪽 동그라미)을 끌어 Group Input 맨 아래의 빈 소켓에 놓습니다. Group Input에 Low 칸이 생깁니다.
- 같은 방법으로 High 소켓도 Group Input의 빈 소켓으로 끌어 놓습니다.
- Multiply Add의 Multiplier 소켓도 Group Input의 빈 소켓으로 끌어 놓습니다. 노드 편집기에서
N으로 사이드바를 열고 Group 탭에서 새로 생긴 Multiplier 입력의 이름을Gain으로 바꿉니다. - 속성 편집기의 모디파이어 탭(렌치 아이콘)을 엽니다. Low에
20, High에150, Gain에2.5를 넣습니다(그림 4의 ①).
그림 4. 막대마다 다른 값. ① 낮은 소리 막대(Low 20 Hz, High 150 Hz, Gain 2.5) ② 중간 소리 막대(Low 300 Hz, High 2000 Hz, Gain 6) (Blender 화면 캡처)
Gain은 막대 키의 배율입니다. 소리 크기 값이 0.8이고 Gain이 2.5면 Multiply Add의 결과는 0.8 × 2.5 + 0.05 = 2.05가 됩니다. 이 값이 Z 방향 배율이 되므로 2 m 큐브가 약 4 m까지 자랍니다. 이 글의 소리를 직접 재 보니 낮은 소리 범위의 값은 가장 클 때 약 0.81, 중간 소리는 약 0.32, 높은 소리는 약 0.72였습니다. 범위마다 크기가 다르니, Gain으로 세 막대의 키를 비슷하게 맞춥니다.
4. 재생하며 소리 듣기
시작 상태: 앞 절에서 값을 넣은 큐브에서 이어 갑니다.
마우스를 3D 뷰포트 위에 두고 Space를 누르면 재생됩니다. 막대가 박자에 맞춰 늘었다 줄었다 하면 성공입니다. 다만 노드가 소리 파일을 읽기만 할 뿐, 스피커로 소리를 내지는 않습니다. 재생 중에 소리를 들으려면 같은 소리를 영상 편집기(Video Sequencer)에도 넣고, 소리와 화면이 어긋나지 않게 Sync to Audio를 켭니다. 출시 노트가 안내하는 방법입니다.
따라 하기:
- 타임라인을 1번 프레임에 둡니다.
- 아무 편집기의 왼쪽 위 편집기 종류 단추를 눌러 Video Sequencer로 바꾼 뒤, Add ‣ **Sound...**로 같은 소리 파일을 넣습니다. 시퀀서 쓰는 법은 Blender 영상 편집기 기초에 자세히 있습니다. 다 넣었으면 편집기를 원래 종류로 되돌립니다.
- 아래 타임라인 머리줄의 Playback을 눌러 Sync 칸을 Sync to Audio로 바꿉니다.
Space로 다시 재생합니다. 이제 소리와 막대가 같이 움직입니다.
5. 막대 셋으로 늘리기
시작 상태: 앞 절의 큐브에서 이어 갑니다.
따라 하기:
- 3D 뷰포트에서 큐브를 고르고 사이드바(
N)의 Location X에-2.2 m를 넣어 왼쪽으로 옮깁니다. 이 큐브가 낮은 소리 막대입니다. 이어서Shift+D→X→2.2→Enter를 누릅니다. X 0 m 자리에 막대가 하나 더 생깁니다. - 새 막대의 모디파이어 탭에서 Low
300, High2000, Gain6을 넣습니다(그림 4의 ②). - 한 번 더
Shift+D→X→2.2→Enter로 X 2.2 m 자리에 셋째 막대를 만들고, Low5000, High12000, Gain3을 넣습니다. - 막대마다 재질(Material) 탭에서 New를 눌러 색을 다르게 줍니다. 그림은 낮은 소리 빨강, 중간 소리 초록, 높은 소리 파랑입니다. 아웃라이너에서 이름도
Bass,Mid,High로 바꿔 두면 헷갈리지 않습니다.
모디파이어의 노드 그룹 이름 옆 숫자를 보세요(그림 4의 SoundBar 옆 3). 3이면 세 막대가 같은 노드 그룹을 함께 씁니다. 이때 노드를 고치면 세 막대가 한꺼번에 바뀌고, 막대마다 다른 것은 모디파이어 칸의 숫자뿐입니다. 숫자가 1이면 Shift+D가 노드 그룹까지 따로 복사한 것이니, 노드를 고칠 때 막대마다 따로 고쳐야 합니다.
6. EEVEE로 렌더해 결과 보기
시작 상태: 앞 절의 막대 세 개에서 이어 갑니다.
따라 하기:
- 바닥을 깝니다.
Shift+A‣ Mesh ‣ Plane을 넣고S→30→Enter로 넓힙니다. 재질 탭에서 회색 재질을 하나 줍니다. - 조명을 햇빛으로 바꿉니다. 기본 조명(Light)을 고르고 속성 편집기의 조명(Light) 탭에서 Sun을 누른 뒤 Strength를
3.5로 둡니다. 사이드바(N)의 Rotation X에50, Z에30을 넣으면 그림처럼 막대 그림자가 왼쪽으로 생깁니다. 기본 조명이 없으면Shift+A‣ Light ‣ Sun으로 넣습니다. - 속성 편집기의 렌더(Render) 탭에서 Render Engine이 EEVEE인지 봅니다.
- 카메라를 고르고 사이드바에서 Location을 X
0, Y-16 m, Z2.2 m, Rotation을 X88°, Y0, Z0으로 넣습니다. 카메라(Camera) 데이터 탭의 Focal Length는45 mm로 둡니다. 숫자패드0으로 카메라 보기에 들어가, 소리가 큰 구간으로 타임라인을 옮겨 가며 가장 높은 막대도 화면 안에 들어오는지 확인합니다. - 원하는 프레임에서
F12로 한 장씩 렌더해 봅니다. 영상으로 뽑으려면Ctrl+F12를 씁니다.
그림 5. 13, 16, 19, 22번 프레임(왼쪽 위부터 오른쪽으로, 위에서 아래로) (Blender 렌더)
그림 5에서 소리와 막대의 관계가 보입니다. 13번 프레임은 북소리와 멜로디가 함께 시작한 직후라 빨강·초록이 높습니다. 16번에서는 북소리가 빠르게 줄어 빨강이 낮아집니다. 19번은 박자 사이의 찰랑 소리가 나는 순간이라 파랑이 솟습니다. 22번에는 멜로디만 조금 남아 초록만 서 있습니다.
연습 문제
- 셋째 막대의 Low를
8000으로 올려 보세요. 파란 막대가 어떻게 달라지는지 적어 보세요. - FFT Size를
1024로 바꿔 재생해 보세요. 막대의 움직임이 더 빨라지는지, 덜 매끄러워지는지 보세요. - 막대 세 개를 다섯 개로 늘리고, 20~12000 Hz를 다섯 구간으로 나눠 맡겨 보세요.
- 둘째 Transform Geometry의 Scale 대신 Combine XYZ의 X에 Multiply Add 결과를 이어, 막대가 옆으로 굵어지게 바꿔 보세요.
자주 하는 실수와 해결
| 증상 | 까닭 | 해결 |
|---|---|---|
| 재생해도 막대가 전혀 움직이지 않는다 | Time 칸이 비어 있어 0초만 잼 | Scene Time의 Seconds를 Time에 잇기 |
| 막대가 위아래로 같이 커진다 | 첫 Transform Geometry가 없거나 Translation Z가 0 | 첫 Transform Geometry의 Translation Z를 1 m로 |
| 막대가 소리가 없을 때 사라진다 | Addend가 0 | Multiply Add의 Addend에 0.05 같은 작은 값 |
| 높은 소리 막대가 거의 움직이지 않는다 | 그 범위의 소리가 작음 | 그 막대의 Gain을 키우거나 범위를 넓히기 |
| 재생할 때 소리가 들리지 않는다 | 노드는 소리를 읽기만 함 | Video Sequencer에 Add ‣ Sound...로 같은 파일 넣기 |
| 소리와 막대가 점점 어긋난다 | 재생 동기화가 프레임 우선 | Playback ‣ Sync를 Sync to Audio로 |
| 한 막대의 노드를 고쳤는데 다른 막대는 그대로다 | 노드 그룹이 따로 복사됨(숫자 1) | 그룹 이름 칸에서 같은 SoundBar를 골라 주기 |
한 줄 정리
Scene Time → Sample Sound Frequencies → Multiply Add → Combine XYZ → Transform Geometry Scale, Low·High·Gain은 그룹 입력으로 빼서 막대마다 다르게.
참고 자료
- Blender 5.2 출시 노트, 지오메트리 노드(Sample Sound Frequencies 노드, Sync to Audio 안내): https://developer.blender.org/docs/release_notes/5.2/geometry_nodes/
- Blender 5.2 매뉴얼, Sample Sound Frequencies 노드: https://docs.blender.org/manual/en/5.2/modeling/geometry_nodes/utilities/sound/sample_sound_frequencies.html
- 단축키: 노드 추가
Shift+A, 복제Shift+D, 재생Space, 사이드바N, 렌더F12, 애니메이션 렌더Ctrl+F12 - 그림: 모두 실제 Blender 5.2.1 화면과 EEVEE 렌더. 소리 파일은 이 글을 위해 직접 만든 예제





