Skip to content

제8-9강 인터랙티브 사운드 아트를 만들어 보자

지금까지 배운 기술을 총동원해서, 오리지널 인터랙티브 사운드 아트 작품의 제작을 시작합니다. 2회분의 수업을 사용해서 모티프 선정부터 음향 제작까지 진행해 봅시다.

이번 강의의 목표

  • 오리지널 인터랙티브 사운드 아트 작품의 제작을 시작한다
  • 모티프와 인터랙션을 결정한다
  • micro:bit의 센싱과 Pd의 음향 합성을 연동시킨다
  • 작품 설명 시트를 작성한다

준비물

항목설명
micro:bit V2센서가 내장된 마이크로컨트롤러 보드
USB 케이블micro:bit와 PC를 연결한다
PCPure Data가 설치되어 있을 것
헤드폰 / 이어폰소리를 확인하기 위해 사용
노트・필기구아이디어 스케치용

Step 1: 모티프의 선정

모티프란

모티프 란 작품의 테마나 소재 를 말합니다. 「무엇을 표현하고 싶은가」를 정하는 첫 번째 단계입니다.

인터랙티브 사운드 아트의 모티프에는 크게 두 가지 측면 이 있습니다.

소리의 모티프 — 무엇을 「소리」로 표현할 것인가

작품을 통해 체험자에게 전하고 싶은 세계관이나 분위기를 말합니다. 「빗소리」「심해의 고요함」「축제의 활기」처럼, 소리를 통해 어떤 경험을 전달하고 싶은지를 생각합니다.

실체가 있는 모티프 — 체험자가 실제로 만지는 것

인터랙티브 작품에서는 체험자가 손에 들거나, 움직이거나, 만지는 물리적인 오브젝트 도 모티프의 중요한 일부입니다. micro:bit를 그대로 들게 하는 것이 아니라 어떤 형태에 끼워 넣음으로써, 경험의 설득력이 크게 달라집니다.

실체의 모티프끼워 넣는 방법소리 모티프와의 관계
손전등micro:bit를 손전등 안에 넣는다빛을 비추는 방향에 따라 동굴 안의 소리가 바뀐다
부채・쥘부채micro:bit를 부채에 붙인다부치는 동작으로 바람 소리가 생겨난다
모래시계micro:bit를 모래시계 모양의 케이스에 넣는다기울이면 모래가 떨어지는 소리가 흐른다
인형micro:bit를 인형 안에 넣는다흔들거나 쓰다듬으면 울음소리가 바뀐다
악기 모양의 물건micro:bit를 기타나 마라카스 모양에 부착한다흔들기・기울이기 동작이 연주가 된다
상자・용기micro:bit를 상자에 넣고 뚜껑을 여닫을 수 있게 한다뚜껑을 열면 안에서 소리가 넘쳐 나온다
식물 모형micro:bit를 화분 모양의 오브젝트에 넣는다손을 대면 꽃이 피는 소리가 난다

실체가 있는 모티프가 작품을 바꾼다

똑같은 「가속도 센서로 음의 높낮이가 바뀌는」 구조라도, micro:bit를 그대로 손에 드는 경우와 검 모양의 물건에 끼워 넣는 경우는 체험자가 느끼는 방식이 전혀 다릅니다. 무엇을 들고, 무엇을 만지는가 는 소리만큼이나 작품의 인상을 좌우합니다.

주변의 물건(천 원 숍의 소품, 골판지, 페트병 등)을 활용해서 콘셉트에 맞는 형태를 생각해 봅시다.

모티프의 예

두 가지 측면을 조합해서 생각해 봅시다.

카테고리소리의 모티프실체의 모티프 예경험의 이미지
자연 현상비, 바람, 파도, 천둥부채, 우산, 조개껍데기부채를 부치면 바람 소리, 우산을 기울이면 빗소리가 변화
일상의 동작요리, 청소, 공작국자, 빗자루, 망치국자를 흔들면 냄비 소리, 치는 세기로 소리가 바뀐다
감정기쁨, 공포, 치유오르골, 상자, 랜턴상자를 열면 신비한 소리, 랜턴을 켜면 치유의 소리
공간동굴, 우주, 숲, 수중손전등, 망원경, 병손전등의 방향에 따라 동굴 안의 소리가 바뀐다
생물새, 벌레, 고양이, 물고기인형, 알, 깃털인형을 흔들면 울음소리가 변화
추상 개념시간, 색, 온도모래시계, 만화경, 풍선모래시계를 기울이면 시간이 흐르는 소리

생각하기 위한 힌트

다음 질문을 자신에게 던져 봅시다.

  1. 「어떤 소리가 들리면 재미있을까?」 --- 일상에서는 들을 수 없는 소리를 상상한다
  2. 「무엇을 손에 들면 재미있을까?」 --- 체험자가 만지는 오브젝트를 상상한다
  3. 「어떤 움직임으로 소리를 내고 싶은가?」 --- 든 오브젝트를 어떻게 움직일지 생각한다
  4. 「체험자가 어떤 기분이 되기를 바라는가?」 --- 작품을 통해 전하고 싶은 인상을 정한다

아이디어를 내는 요령

우선은 떠오른 것을 무엇이든 노트에 적어 봅시다(브레인스토밍). 질보다 양이 중요합니다. 10개 이상 아이디어를 낸 뒤에 가장 재미있는 것을 하나 고릅시다.

「소리의 모티프」와 「실체의 모티프」를 따로 목록으로 만든 뒤에 조합하면, 의외의 발상이 나오기 쉬워집니다.


Step 2: 인터랙션의 결정

사용할 센서의 선택

micro:bit에 내장된 센서 중에서 모티프에 맞는 것을 고릅니다.

센서검출할 수 있는 것인터랙션의 예
가속도 센서기울기, 흔들기, 충격흔들기→천둥이 친다, 기울이기→바람의 방향이 바뀐다
밝기 센서빛의 양손으로 가리기→동굴에 들어간다, 빛을 비추기→아침이 온다
마이크음량소리 내기→에코가 돌아온다, 손뼉 치기→타악기가 울린다
터치 센서로고에의 접촉만지기→심장의 고동, 떼기→정적
버튼(A/B)누르는 조작모드 전환, 음색의 변경
지자기 센서방향북쪽을 향하기→바람 소리, 남쪽을 향하기→파도 소리

인터랙션의 설계

입력 → 처리 → 출력 의 흐름을 그림으로 그려 정리합시다.

【입력】            【처리】              【출력】
micro:bit         Pd 패치              스피커
━━━━━━━━━         ━━━━━━━━━            ━━━━━━━━
가속도 X축  ──→   주파수로 변환   ──→   사인파의 높낮이
가속도 Y축  ──→   음량으로 변환   ──→   전체의 음량
버튼A       ──→   모드 전환       ──→   음색이 바뀐다

설계도를 반드시 그리자

갑자기 프로그래밍을 시작하지 말고, 먼저 종이에 설계도를 그립시다. 「어떤 센서의 값이」「어떻게 변환되어」「어떤 소리가 되는지」를 명확히 해 두면 제작이 순조롭게 진행됩니다.

설계 시트의 기입 예

다음 항목을 채워서 인터랙션을 명확히 합시다.

항목기입 예
모티프바닷속 세계
입력 센서1가속도 센서(기울기)
조작 방법1micro:bit를 좌우로 기울인다
소리의 변화1파도 소리의 높낮이가 바뀐다
입력 센서2밝기 센서
조작 방법2손으로 가린다/뗀다
소리의 변화2심해로 잠수한다(어두움=낮은 소리, 밝음=높은 소리)

Step 3: 인터랙션의 센싱

micro:bit의 프로그래밍

MakeCode에서 센서의 값을 시리얼 통신으로 전송하는 프로그램을 만듭니다.

기본 구성:

무한 반복:
  시리얼로 값 쓰기 레이블 "acc_x" 값 [가속도(mg) X축]
  시리얼로 값 쓰기 레이블 "acc_y" 값 [가속도(mg) Y축]
  시리얼로 값 쓰기 레이블 "light" 값 [밝기]
  일시 정지(밀리초) 50

데이터 전송의 간격

일시 정지 를 50ms로 설정하면 1초에 약 20회 데이터를 전송합니다. 음악적인 용도에는 이 정도의 속도로 충분합니다.

SerialOSCConverter의 설정

micro:bit로부터의 시리얼 데이터를 OSC 메시지로 변환해서 Pd로 보냅니다.

  1. SerialOSCConverter 를 실행한다
  2. micro:bit가 연결된 시리얼 포트 를 선택한다
  3. 보드레이트115200 으로 설정한다
  4. OSC 전송 대상 포트 를 확인한다(기본값은 8000
  5. 「Start」 버튼을 눌러 변환을 시작한다

Pd에서의 데이터 수신과 변환

Pd에서 OSC 메시지를 수신하고, 소리의 파라미터로 변환합니다.

기본적인 수신 패치의 구성:

[netreceive -u -b 8000]  ← UDP 포트 8000에서 수신
       |
[oscparse]                ← OSC 메시지를 해석
       |
[route /acc_x /acc_y /light]  ← 레이블별로 배분
  |       |        |
[/ 1024]  [/ 1024]  [/ 255]   ← 0〜1의 범위로 정규화
센서 값의 범위 일람
센서최솟값최댓값정규화 계산
가속도 X/Y/Z-20482048값 / 2048 로 -1〜1 로
가속도 strength02048값 / 2048 로 0〜1 로
밝기0255값 / 255 로 0〜1 로
마이크 음량0255값 / 255 로 0〜1 로
나침반0360값 / 360 로 0〜1 로

Step 4: 음향의 제작

지금까지 배운 기법의 조합

전반부 수업에서 배운 Pd의 기법을 되돌아보고 작품에 활용합시다.

기법사용하는 Pd 오브젝트효과
사인파의 생성[osc~]기본적인 음 높낮이의 제어
노이즈의 생성[noise~]바람이나 파도 같은 소리의 소재
음원 파일의 재생[readsf~] [tabplay~]녹음한 소리의 활용
필터[lop~] [hip~] [bp~]음색의 변화
딜레이[delwrite~] [delread~]잔향이나 에코 효과
음량 제어[*~] [line~]매끄러운 음량 변화
피치 시프트주파수의 변조음 높낮이의 변화
자동 연주[metro] [random]리드미컬한 패턴

제작 진행 방법

다음 순서로 제작을 진행하면 효율적입니다.

  1. 소리를 하나 만든다 --- 우선 하나의 소리를 내 본다
  2. 센서와 연결한다 --- 그 소리를 센서의 값으로 변화시킨다
  3. 동작을 확인한다 --- 의도대로 조작할 수 있는지 확인한다
  4. 소리를 추가한다 --- 두 번째, 세 번째 소리를 겹친다
  5. 전체를 조정한다 --- 음량 밸런스와 반응성을 조정한다

흔히 생기는 문제

  • 소리가 나지 않는다: [dac~] 가 ON인지 확인(DSP를 ON으로)
  • 값이 오지 않는다: SerialOSCConverter가 동작 중인지, 포트 번호가 맞는지 확인
  • 소리가 끊긴다: [line~] 으로 값의 변화를 매끄럽게(값을 직접 넣으면 「툭」 하는 노이즈가 난다)
  • 음량이 너무 크다: [*~ 0.3] 처럼 출력을 작게(1.0을 넘으면 왜곡된다)

Step 5: 작품 설명 시트의 작성

수업 마지막에 작품 설명 시트를 작성해서 제출합니다. 다음 항목을 기입해 주세요.

템플릿

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
작품 설명 시트
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

【작품명】
(예: 해중 산책 〜 Sound of the Deep Sea)

【작자명】


【콘셉트】
실체의 모티프(체험자가 만지는・움직이는 것):
(예: 종이나 빈 상자, 3D 프린터 등으로 만든 「잠수함」에 micro:bit를 내장)

소리의 모티프(표현하고 싶은 소리의 세계관):
(예: 심해의 세계를 소리로 표현한다)

인터랙션의 관계:
(예: 「잠수함」을 기울이면 수중의 깊이가 바뀌고,
 깊어질수록 낮은 소리가 울리며, 손으로 가리면 거품 소리가 변화한다)

【사용하는 센서와 조작 방법】
센서1: (예: 가속도 센서 Y축)
조작: (예: 「잠수함」을 앞뒤로 기울인다)
효과: (예: 깊이에 따라 음의 높낮이가 변화)

센서2: (예: 밝기 센서)
조작: (예: 「잠수함」을 손으로 가린다/뗀다)
효과: (예: 거품 소리가 난다/사라진다)

【기술 구성】
사용하는 Pd 오브젝트:
(예: osc~, noise~, lop~, delwrite~, delread~,
 line~, *~, metro, random)

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

다음 강의를 향해

제10강에서는 둘씩 짝을 지어 서로의 작품을 평가하는 사고 발화법 을 진행합니다. 그때까지 「체험해 볼 수 있는 상태」까지 작품을 완성해 둡시다. 완성되지 않아도 괜찮지만, 최소한 소리가 나고 센서로 조작할 수 있는 상태 로 만들어 주세요.


체크리스트

자신의 진행 상황을 확인합시다.

  • [ ] 모티프를 결정했다
  • [ ] 사용할 센서를 골랐다
  • [ ] 입력→처리→출력의 설계도를 그렸다
  • [ ] micro:bit의 프로그램을 만들었다
  • [ ] SerialOSCConverter로 데이터 변환을 할 수 있었다
  • [ ] Pd에서 센서 데이터를 수신할 수 있었다
  • [ ] 하나 이상의 소리를 생성할 수 있었다
  • [ ] 센서의 값으로 소리가 변화하게 되었다
  • [ ] 작품 설명 시트를 기입했다