- 코드가 화음 선택, 음 합성, LED 반응을 함께 지휘하는 설치 예술 악보로, 식물의 줄기처럼 보이는 조형물이 소리와 빛을 반복 생성함
- 파트 A는 A2부터 D5까지의 Major, Minor, Major 7th, Minor 7th 화음과 전위를 만들고, 한 음만 다른 화음으로 8초마다 이동함
- 파트 B는 현재 화음에서 음 하나를 골라 무작위 파형과 길이로 재생해, 규칙적인 화음 진행 위에 예측하기 어려운 단음을 얹음
- 새 화음이나 음이 발생할 때마다 줄기 형태의 LED가 반응하며, 각 음의 색은 5도권에서 가까운 음끼리 비슷하게 보이도록 매핑됨
- 구현은 Raspberry Pi 3 B+의 C++ 오디오 프로그램과 Arduino Uno의 FastLED LED 제어로 나뉘며, 두 장치는 시리얼 포트로 음 정보를 주고받음
생성 규칙으로 구성된 악보
- 파트 A는 A2부터 D5까지 가능한 Major, Minor, Major 7th, Minor 7th 화음과 모든 전위를 열거함
- 선택된 화음은 8초간 재생되고, 이후 현재 화음과 한 음만 다른 화음 중 하나로 이동함
- 이 과정은 8초 재생과 인접 화음 선택을 반복하며 계속 이어짐
음 생성 규칙
- 파트 B는 현재 재생 중인 화음에서 음 하나를 선택함
- 선택된 음은 무작위 파형으로, 무작위 길이 동안 재생됨
- 길이가 짧으면 무작위 횟수만큼 반복되고, 이후 무작위 시간 동안 기다린 뒤 같은 과정을 반복함
조명 반응 규칙
- 파트 C는 파트 A에서 새 화음이 트리거될 때마다 각 줄기를 뿌리에서 끝까지 밝힘
- 조명 색상은 화음의 각 음에 대응하며, 5도권에서 인접한 음들은 비슷한 색조를 가짐
- 파트 D는 파트 B에서 음이 재생될 때마다 줄기 중 하나의 끝을 해당 음에 대응하는 밝은 색으로 비춤
하드웨어와 소프트웨어 구현
- 파트 A와 B는 Raspberry Pi 3 B+에서 실행되는 커스텀 C++ 프로그램이 담당함
- 음 선택과 오디오 버퍼 합성을 모두 처리함
- 파트 C와 D는 Arduino Uno 보드의 커스텀 프로그램으로 구현됨
- FastLED를 사용해 WS2812B 프로토콜 LED 스트립과 인터페이스함
- Raspberry Pi에서 Arduino로 전달되는 음 정보는 시리얼 포트 신호를 통해 오감
물리적 구조와 동작 방식
- LED 스트립은 가정용 수족관에 쓰이는 투명 튜브 안을 통과함
- 튜브는 두꺼운 니켈 와이어로 보강되어 조형 가능한 형태가 됨
- 화분 아래의 나무 하우징에는 마이크로컴퓨터, 배선, 사운드 시스템 연결용 3.5mm 오디오 소켓이 들어 있음
- 전원은 두 개의 주 전원 연결을 통해 들어옴
- 컴퓨터들은 헤드리스로 동작하며, 전원이 들어오면 자동 시작됨