Skip to main content
QUICK REVIEW

[논문 리뷰] Discovering novel computer music techniques by exploring the space of short computer programs

Ville-Matias Heikkilä|arXiv (Cornell University)|2011. 12. 06.
Music Technology and Sound Studies인용 수 8
한 줄 요약

이 논문은 원시 PCM 오디오를 출력하는 매우 짧은 C 유사 프로그램(3~10줄)의 체계적 탐구를 통해 새로운 컴퓨터 음악 기법을 생성하는 것을 탐색한다. 비트단위 연산, 비트 시프트, 모듈로 산술을 간단한 표현식(예: 't & t>>8')에서 활용함으로써 저자들은 시에르핀스키 화성과 톤-모odulated 멜로디를 포함한 독특한 톤과 음악적 구조를 발견하며, 최소한의 코드로도 복잡하고 음악적으로 일관된 사운드스케이프를 생성할 수 있음을 보여준다.

ABSTRACT

Very short computer programs, sometimes consisting of as few as three arithmetic operations in an infinite loop, can generate data that sounds like music when output as raw PCM audio. The space of such programs was recently explored by dozens of individuals within various on-line communities. This paper discusses the programs resulting from this exploratory work and highlights some rather unusual methods they use for synthesizing sound and generating musical structure.

연구 동기 및 목표

  • 매우 짧은 컴퓨터 프로그램의 창의적 잠재력을 탐구하여 새로운 컴퓨터 음악 기법을 생성하는 것.
  • 특히 이진 산술 기반의 비정상적인 계산 방법을 식별하고 분석하여 음악적으로 흥미로운 출력을 생성하는 것.
  • 비트 시프트, 비트단위 연산, 모듈로 래핑을 포함한 단순한 표현식이 어떻게 복잡한 음악적 구조와 톤을 생성할 수 있는지 이해하는 것.
  • 커뮤니티 기반 실험을 통해 새로운 알고리즘 음악 개념을 발견하는 데서 우연성과 탄생하는 행동의 역할을 탐색하는 것.
  • 새로운 프로그래밍 패러다임과 자동 탐색 도구를 포함한 현재 탐색 프레임워크의 향상 방안을 제안하는 것.

제안 방법

  • 온라인 커뮤니티에서 유래한 71개의 짧은 C 프로그램 코퍼스를 분석하며, 8000 Hz에서 8비트 PCM 오디오를 출력하는 프로그램에 집중한다.
  • 핵심 방법은 'main(){int t=0; for(;;t++) putchar(EXPRESSION);}' 형태의 표현식을 실행하는 것으로, EXPRESSION은 시간 변수 't'와 기본 C 연산자만을 사용한다.
  • 비트단위 연산(AND, OR, XOR, NOT), 비트 시프트, 산술 연산자가 음악적 효과에 미치는 영향을 체계적으로 분석한다.
  • 저자들은 파형의 진폭 패턴에서 시에르핀스키 삼각형 유사 구조를 발견하는 등, 't & t>>8'과 같은 패턴을 시각화하고 청각 분석을 통해 해석한다.
  • 모듈로 산술과 오버플로우 행동은 오류가 아니라 의도적인 설계 요소로 간주되며, 타격감 있는 효과와 톤 효과 생성에 활용된다.
  • RPN 기반 대체 방법(예: GlitchMachine, libglitch)의 효과를 평가하여 더 표현적이고 재사용 가능한 음악 생성을 가능하게 한다.

실험 결과

연구 질문

  • RQ1기본 비트단위 및 산술 연산만을 사용하는 매우 짧은 프로그램에서 어떤 음악적 구조와 톤이 탄생할 수 있는가?
  • RQ2비트 시프트와 비트단위 연산의 특정 조합, 예를 들어 't & t>>8'이 청각적으로 일관된 멜로디와 화성 구조를 어떻게 생성하는가?
  • RQ3모듈로 산술과 정수 오버플로우를 알고리즘 음악 생성에서 창의적 도구로 얼마나 효과적으로 활용할 수 있는가?
  • RQ4간단한 표현식이라도 't * (42 & t>>10)'처럼 특정 음계 시퀀스를 생성하는 이유는 무엇인가?
  • RQ5자동 생성 또는 향상된 프로그래밍 패러다임을 통해 현재의 시행착오 기반 탐색 모델을 어떻게 개선할 수 있는가?

주요 결과

  • 't & t>>8'과 같은 표현식은 시에르핀스키 삼각형 유사 진폭 패턴을 생성하며, 옥타브 유사 간격을 가진 다음 톤 멜로디로 인식된다.
  • '포티투 멜로디'로 알려진 표현식 't * (42 & t>>10)'는 32의 주기 길이를 가지며, 42의 이진 패턴에 기반한 반복적인 음높이 시퀀스를 생성한다.
  • 운반 주파수 비율을 수정함으로써, 예를 들어 '3*t & t>>8'과 같이 표현하면 화성 정렬이 이동하고 앨리아싱 효과로 인해 옥타브가 아닌 간격이 생성된다.
  • 모듈로 래핑과 산술 오버플로우는 오류가 아니라 필수적인 도구이다. 예를 들어 최소 진폭 값에 '-1'을 적용하면 타격감 있는 전이가 생성된다.
  • 긴 비트 시프트(예: 't>>6 ^ t>>8 | t>>12 | t')는 반복적인 멜로디 모티프와 같은 마크로 수준의 음악적 구조를 가능하게 하며, 전통적 양식(예: 12바 블루스)과 유사하다.
  • '(t>>10 ^ t>>10 - 2) % 11' 표현식은 C, G, C를 포함한 반복 패턴을 가진 16음의 음높이 시퀀스를 생성하며, 인지 가능한 음악적 구절을 형성한다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.