AI로 게임 음악 작곡하기 — AI Game Developer 안의 SuperCollider
SuperCollider에서 AI로 게임 음악과 효과음을 작곡하세요. 메뉴 테마부터 루프 가능한 스템까지 만들고 WAV 파일을 Unity, Godot, Unreal로 바로 내보냅니다.

음악과 사운드는 게임 프로토타입에서 흔히 가장 마지막에 붙는 요소이면서, 플레이어가 가장 먼저 알아차리는 요소이기도 합니다. AI Game Developer의 Music 패키지를 사용하면 AI로 게임 음악을 작곡할 수 있습니다. 에이전트가 여러분과 함께 SuperCollider 스코어를 작성하고, WAV로 렌더링하고, 앱 안에서 들려주고, 완성된 오디오를 Unity, Godot, Unreal 프로젝트로 내보냅니다.
이것은 블랙박스형 곡 생성기가 아닙니다. 음악은 읽고, 버전 관리하고, 바꿀 수 있는 코드입니다. 그래서 "같은 테마를 더 느리게, 리버브를 줄여서"라고 요청하면 정확히 그렇게 나옵니다. 이 글에서는 데모 게임인 Skyward Keep의 메뉴 테마를 한 세션에서 작곡해 보고, 이어서 루프 가능한 스템, 직접 가진 샘플로 만드는 효과음, 게임으로의 내보내기를 살펴봅니다. 영상은 앱을 실제로 녹화한 것입니다. 에이전트의 응답은 데모를 위해 대본으로 준비되었지만, 영상 속 모든 도구 호출은 실제로 실행되었습니다. 이 페이지의 클립은 소리 없이 재생됩니다. 테마 자체는 차분한 오르골 곡이며, 같은 요청으로 여러분 프로젝트에서 렌더링할 수 있습니다.
게임 오디오에 SuperCollider를 쓰는 이유
SuperCollider는 사운드 합성과 알고리즘 작곡을 위한 성숙한 오픈소스 플랫폼입니다. 모든 소리는 스코어, 즉 악기와 연주 시점을 기술한 텍스트 파일에서 나옵니다. 이 점이 AI 에이전트와 잘 맞습니다:
- 에이전트가 쓰고 편집하는 대상이 텍스트이고, 스코어가 바로 그 텍스트입니다.
- 변경이 정밀하고 재현 가능합니다. 템포, 조성, 악기, 이펙트, 길이가 모두 명시적입니다.
- 소스 파일은 프로젝트 안에 있으면서 코드처럼 Git에 커밋할 수 있고, 렌더링된 오디오는 언제든 버려도 되는 출력물입니다.
각 렌더링은 실행 전에 소스 해시, 시드, 설정을 기록하므로, 어떤 WAV든 그것을 만든 스코어까지 추적할 수 있습니다.
1단계: 세션에서 Music 켜기
Music은 패키지로 앱과 함께 제공됩니다. 기본으로 설치되며, 사용할 세션의 Tools 행에서 활성화하면 됩니다. Unity, Godot, Unreal 에디터에 연결된 세션을 열면 짧은 팁이 표시되어 Music을 켜고, 8초짜리 샘플 테마를 작곡하거나 직접 아이디어를 설명하도록 제안합니다. 선택하기 전까지는 아무것도 설치, 렌더링, 전송되지 않습니다.
실제로 처음 사용할 때 패키지가 필요한 SuperCollider 런타임, 즉 고정되고 검증된 버전을 설정합니다. 언제든 /supercollider를 입력하면 상태와 간단한 가이드를 볼 수 있습니다. 현재 런타임은 Windows와 macOS에서 사용할 수 있습니다.
2단계: 메뉴 테마 작곡하기
작곡가에게 브리핑하듯 음악을 설명하세요. 분위기, 길이, 어디에 쓸지, 그리고 기반으로 삼을 음악적 소재가 있다면 그것까지요. 데모 요청은 다음과 같습니다:
"Skyward Keep의 메뉴 테마를 작곡해 줘. 차분하고 따뜻한 느낌으로 20초 정도, 우리 keep 모티프를 기반으로. 먼저 들려주고, 그다음 게임에 넣어 줘."
에이전트는 먼저 Knowledge Base에 있는 프로젝트의 오디오 노트를 확인합니다. keep 모티프가 적혀 있는 곳이죠. 그리고 그 모티프를 차분한 오르골 버전으로 만들기로 결정합니다. 게임 폴더에 이식 가능한 AudioSource 프로젝트를 만든 다음, 스코어를 작성합니다. 오르골이 4음 모티프 D, A, B, F#을 연주하고, D, A, B 마이너, G 코드 위에 부드러운 패드가 깔리고, 둥근 베이스와 공용 리버브가 90 BPM으로 어우러집니다.

스코어는 로컬에서 렌더링되고, 에이전트가 미리보기를 열어 파형과 플레이어와 함께 앱 안에서 바로 들을 수 있게 합니다. 결과는 두 파일입니다. menu-theme.scd는 버전 관리에 보관되는 편집 가능한 SuperCollider 소스이고, menu-theme.wav는 리버브 꼬리까지 포함한 24초, 48 kHz 스테레오 렌더링입니다.

렌더링 결과는 모노 또는 스테레오 16비트 WAV이며 44.1, 48, 96 kHz, 최대 10분 길이입니다. 에이전트는 렌더링을 분석해 길이, 피크 및 RMS 레벨, 클리핑 여부를 알려 줄 수도 있어서, 믹스가 너무 작거나 너무 클 때 도움이 됩니다.
작곡가와 작업하듯 반복하기
듣고 나서 구체적인 변경을 요청하세요:
- "멜로디를 한 옥타브 낮추고 패드의 어택을 더 느리게 해 줘."
- "후반부에 가벼운 퍼커션 레이어를 추가해 줘."
- "16마디로 줄이고 엔딩은 그대로 유지해 줘."
스코어가 코드이기 때문에, 각 변경은 곡의 나머지 부분을 그대로 유지합니다. 이전 버전이 더 좋다면 Git에 남아 있습니다.
3단계: 적응형 음악을 위한 루프 가능한 스템
게임에서는 액션에 따라 페이드 인/아웃되는 레이어 형태의 음악이 필요한 경우가 많습니다. 길이와 타이밍이 같은 스템을 요청하세요:
"레벨 테마를 드럼, 베이스, 멜로디 세 개의 스템으로 나눠 줘. 길이와 템포가 같아서 함께 루프되도록."
스템은 동일한 길이, 샘플 레이트, 시드로 렌더링되고 정확한 프레임 수로 잘리므로, 샘플 단위까지 정확히 정렬되어 깔끔하게 루프됩니다. 그러면 엔진에서 전투가 시작될 때 드럼을 올리고 끝나면 내릴 수 있습니다.
4단계: 직접 가진 샘플로 효과음 만들기
SuperCollider는 효과음에도 그만큼 뛰어납니다. 직접 가진 WAV 녹음을 샘플로 가져올 수 있습니다. 16, 24, 32비트 모노 또는 스테레오 PCM, 8에서 192 kHz 사이입니다. 가져오기는 각 샘플의 해시를 기록하므로, 프로젝트는 스코어가 어떤 오디오에 의존하는지 정확히 알 수 있습니다.
"footstep.wav를 샘플로 가져와서 자갈길용 변형 네 개를 만들어 줘. 각각 피치와 길이를 조금씩 다르게, 짧은 꼬리를 붙여서."
이런 변형은 반복되는 소리가 기계적으로 들리지 않게 해 주고, 스코어만 있으면 만드는 데 드는 비용도 없습니다.
5단계: 게임으로 내보내기
렌더링이 준비되면 에이전트가 원하는 이름으로 게임 프로젝트에 내보냅니다:
- Unity: Assets/Audio에 넣고, 파일을 교체할 때 .meta 파일과 GUID를 유지하므로 씬의 참조가 깨지지 않습니다.
- Godot: res://Audio/에 넣고, 제작용 폴더는 Godot 가져오기에서 제외합니다.
- Unreal: 에디터 연결을 통해 /Game/Audio 아래에 SoundWave로 가져옵니다.
- 일반 폴더: AudioSource 내보내기 폴더에 넣습니다.
내보내기를 교체할 때는 교체 대상 파일이 예상한 바로 그 파일인지 확인하므로, 더 새로운 파일이 실수로 덮어써지는 일이 없습니다.
현재 잘하는 것
Music 패키지는 프로토타입과 인디 게임 오디오에 가장 잘 맞습니다. 메뉴 및 레벨 테마, 앰비언트 베드, 승패 스팅어, UI 사운드, 효과음 변형 등입니다. 스코어는 실시간 합성이 아니라 오프라인으로 렌더링되며, 결과는 곡을 얼마나 잘 설명했는지에 달려 있으니, 짧은 곡으로 시작해 점점 늘려 가세요.
Music은 릴리스 0.20.0에 등장했고, 0.23.0부터는 설치된 상태로 유지되지만 활성화할 때만 새 세션에 참여합니다 (https://ai-game.dev/releases/0.23.0). 사용해 보려면 ai-game.dev/download 에서 앱을 내려받아 게임 프로젝트를 열고 샘플 테마를 요청하세요. 나머지 워크플로는 ai-game.dev/blog/build-game-with-ai-claude-code 의 워크스루에서 확인할 수 있습니다. 같은 에이전트가 이 음악이 흐르는 씬을 어떻게 만드는지 보여 줍니다.

