
Strudel REPL과 미니 노테이션의 기초
Strudel은 TidalCycles의 문법을 자바스크립트 환경으로 이식한 프로젝트임. 큰따옴표 내부에 작성하는 미니 노테이션은 하나의 사이클을 기본 단위로 삼아 이벤트의 분포를 기술하는 고유한 언어임. s() 함수로 샘플을 재생하고 note() 함수로 음을 내는 것이 기본이며, Ctrl+Enter로 실행하고 Ctrl+.으로 정지함.
사이클(Cycle) 중심의 시간 설계
기존 DAW가 BPM과 그리드 중심이라면, Strudel은 동일한 길이의 반복 단위인 사이클을 분할하는 방식을 취함. 한 사이클 내에 적힌 원소의 개수에 따라 자동으로 시간이 등분되므로, 원소가 많아질수록 더 빽빽하고 빠른 리듬이 생성됨. setcps()를 통해 전체 속도를 조절하거나, .slow(), .fast() 등을 사용하여 개별 패턴의 속도를 제어할 수 있음.
리듬 및 멜로디 구성 기법
- 리듬: 공백, 쉼표(~), 반복(*), 그룹([]), 순환(<>) 등 다양한 기호를 조합해 복잡한 비트를 생성함.
stack()함수를 통해 킥, 스네어, 하이햇 등 여러 층의 소리를 동시에 재생함. - 멜로디: 직접 음이름을 입력하거나, 스케일 인덱스(
.scale)를 활용해 음악 이론 지식 없이도 조화로운 선율을 만들 수 있음.D:dorian이나A:minor:pentatonic과 같은 다양한 선법 지원함.
사운드 디자인과 효과 적용
ADSR 포락선(Attack, Decay, Sustain, Release)을 조절하여 소리의 타격감이나 지속감을 설정함. 특히 필터 컷오프에 별도 포락선을 적용하는 lpenv()를 통해 애시드 사운드를 구현할 수 있음. 리버브(.room), 딜레이, 디스토션 등 다양한 이펙트를 체이닝 방식으로 적용하여 깊이감 있는 사운드를 완성함.
외부 연동 및 확장성
initHydra()를 통해 WebGL 기반 비주얼 신스인 Hydra와 연동하여 음악에 반응하는 시각 효과를 연출할 수 있음. 또한 로컬 샘플 폴더를 불러오거나 MIDI/OSC 출력을 통해 외부 하드웨어 및 DAW와 데이터를 주고받는 것이 가능함.
0
검열관 메모 (0)
아직 검열관 메모가 없습니다. 첫 번째 메모를 남겨보세요.