답변 집합 프로그래밍을 활용한 자동 음악 작곡
초록
본 논문은 답변 집합 프로그래밍(ASP)을 이용해 멜로디·화성·리듬을 동시에 생성하고, 인간 작곡의 오류를 진단할 수 있는 자동 작곡 시스템 ANTON을 제안한다. 선언적 논리 규칙으로 서양 전통 조성 음악의 작곡 규칙을 형식화하고, 기존 시스템보다 빠른 실시간 작곡이 가능하도록 리듬 모델을 확장하였다.
상세 분석
이 연구는 음악 작곡을 ‘지식 표현·추론’ 문제로 재구성함으로써 기존의 확률적·기계학습 기반 접근법과 차별화한다. 먼저 서양 전통 조성 음악, 특히 르네상스 1종 카운터포인트의 핵심 규칙을 음악 이론가와 협업해 정형화하였다. 멜로디 진행, 화성 진행, 리듬 패턴 각각을 ASP 규칙으로 기술했으며, 규칙 간 상호 의존성을 ‘제약 충족’ 형태로 모델링했다. ASP의 비단조적(Non‑monotonic) 특성과 ‘negation‑as‑failure’를 활용해 예외 규칙(예: 진행형 음정, 불협화음 회피)과 선호도(예: 선행 음정 선호)를 자연스럽게 표현한다.
시스템 아키텍처는 세 단계로 구성된다. 1) 입력 파라미터(키, 박자, 길이 등)와 초기 멜로디 시드; 2) ASP 프로그램을 기반으로 한 ‘답변 집합’ 생성기로, 모든 가능한 음표 배치를 논리적 해로 도출한다; 3) 해 중 최적(또는 무작위) 선택을 통해 실제 MIDI 혹은 악보로 출력한다. 초기 버전(ANTON v1.0)은 모든 음표 길이를 동일하게 가정했으나, v1.5에서는 ‘음표 길이·시작점·강세’를 변수화한 리듬 규칙을 추가해 4/4, 3/4 등 다양한 박자를 지원한다. 이 확장은 기존 ASP 솔버의 효율성을 크게 해치지 않으며, 실시간(수백 밀리초 이하) 작곡이 가능하도록 최적화되었다.
성능 평가는 두 축으로 이루어진다. 음악적 측면에서는 전문가 청취 실험을 통해 생성된 멜로디·화성·리듬이 전통 규칙을 충족하고, ‘음악적 자연스러움’ 점수에서 기존 규칙 기반 시스템보다 우수함을 보였다. 계산적 측면에서는 Clingo, DLV 등 최신 ASP 엔진을 이용해 문제 규모(음표 수 ≤ 32)에서 평균 0.2 s 이하의 응답 시간을 기록했다. 또한, 규칙 추가·수정이 코드 라인 수 10 % 미만의 변경으로 가능해, 시스템 유지보수와 확장성이 뛰어나다는 장점을 강조한다.
이 논문은 ASP가 복합적인 음악 규칙을 선언적·모듈식으로 표현하고, 실시간 생성이라는 실용적 요구를 만족시킬 수 있음을 실증한다. 특히, 멜로디·화성·리듬을 하나의 논리 프로그램에 통합함으로써 ‘동시 작곡’이라는 새로운 패러다임을 제시한다는 점에서 학술적·산업적 의의가 크다. 향후 다중 악기, 비조성 음악, 스타일 전이 등으로 확장할 여지가 충분히 존재한다.
댓글 및 학술 토론
Loading comments...
의견 남기기