Communitygithub.com

TuneTrack: 게임 음악 제작

TuneTrack MCP 도구를 사용하여 게임 음악(메뉴 테마, 탐험/전투/보스 루프, 마을/상점 테마, 징글, 어댑티브 레이어 등)을 작곡, 편곡, 믹싱 및 렌더링합니다. 사용자가 게임이나 프로젝트를 위한 음악, 사운드트랙, 테마, 루프, 징글, 스팅어 또는 앰비언스를 요청하거나 TuneTrack을 언급할 때 사용하세요.

TuneTrack: 게임 음악 제작란 무엇인가요?

TuneTrack은 사용자 개인의 음악 작업 스테이션입니다. 당신은 음표, 코드, 패턴 및 CC 커브로 음악을 작성하고, TuneTrack은 실제 악기(VST3 플러그인, SFZ 샘플 라이브러리 또는 내장 Faust 신디사이저)를 통해 연주하며, 믹싱, 마스터링 및 루프 준비가 된 파일로 렌더링합니다. 당신은 소리를 들을 수 없으므로, 음악 이론, 도구의 분석 보고서 및 피아노 롤 이미지를 기반으로 작업합니다. 모든 결정은 의도적이어야 합니다. 프로젝트를 시작하기 전에 게임의 장르, 분위기, 에너지, 템포, 키/모드, 큐 유형, 길이 및 루프 형식을 파악합니다. 그런 다음 악기 라이브러리를 확인하고, 마커 및 루프 영역을 설정한 후, 모티프 -> 화성 -> 베이스 -> 멜로디 -> 편곡 -> 다이내믹스 순서로 음악을 작성합니다. 마지막으로 렌더링, 듣기 및 분석을 반복하여 품질을 확인하고, 게임 엔진에 맞는 형식으로 파일을 전달합니다. TuneTrack은 Claude Code, Cursor, Codex 등 모든 AI 어시스턴트에서 MCP 도구로 사용할 수 있습니다.

지원 대상✓Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/raffataff/TuneTrack/tree/HEAD/skill

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

TuneTrack: tunetrack MCP 도구로 게임 음악 만들기

TuneTrack은 사용자 자신의 음악 작업 스테이션입니다. 당신은 음표, 코드, 패턴 및 CC 커브로 음악을 작성하고, TuneTrack은 실제 악기(사용자의 VST3 플러그인을 저장된 패치, SFZ 샘플 라이브러리 또는 내장 Faust 신디사이저를 통해)로 연주하고, 믹싱, 마스터링 및 루프 준비가 된 파일로 렌더링합니다. 당신은 소리를 들을 수 없으므로, 음악 이론, 도구의 분석 보고서 및 피아노 롤 이미지를 기반으로 작업합니다. 모든 결정은 의도적이어야 합니다. 채우기용 루프나 일반적인 즉흥 연주는 없습니다.

도구가 없으면 MCP 서버가 등록되지 않은 것입니다: claude mcp add --scope user tunetrack -- C:\Users\Owner\Documents\TuneTrack\.venv\Scripts\tunetrack-mcp.exe.

1. 먼저 프로젝트 이해하기

음표를 작성하기 전에, 음악이 무엇을 위한 것인지 파악하세요:

  • 게임 프로젝트 읽기: README, 디자인 문서, 스토리/배경 텍스트, 씬/레벨 이름, 아트 스타일(이미지 몇 개 보기), UI 테마 색상, 기존 오디오 폴더 및 파일 명명 규칙, 엔진(Godot project.godot, Unity Assets/, Unreal .uproject, 웹).
  • 다음을 결정하세요: 장르/팔레트, 분위기(2-3 형용사), 에너지, 템포, 키/모드, 큐 유형, 길이, 루프 형식, 전달 형식 및 경로. 사용자가 의도("다크 신스웨이브 메뉴, 100bpm")를 제공했다면 추론보다 우선합니다. 프로젝트에 단서가 전혀 없는 경우에만 질문하세요.
  • 기록: project_new(name, tempo, key, time_sig, brief={genre, mood, use, game, references, notes}).

2. 악기 라이브러리 확인

status()는 VST3 악기, 패치(플러그인과 저장된 사운드(태그 포함)), SFZ 악기 및 내장 신디사이저를 나열합니다.

  • 어쿠스틱/오케스트라 파트는 실제 샘플이 필요합니다: patch:<id>(예: HALion, BBC Symphony Orchestra, Spitfire LABS 패치) 또는 sfz:<path>를 사용하세요. 내장 신디사이저는 일렉트로닉, 신스웨이브, 칩튠, 앰비언트 및 로파이에 탁월하며, 지원 레이어로도 좋습니다.
  • HALion Sonic 및 Groove Agent 같은 VST3 악기는 비어 있는 상태로 로드됩니다: 패치 없이 렌더링하면 무음이 됩니다(렌더링이 경고합니다). MODO DRUM은 패치 없이도 작동합니다.
  • 브리핑에 필요한 팔레트가 없는 경우(예: 스트링 패치나 SFZ 없는 오케스트라 현악기), 명확히 말하고 다음을 제안하세요: (a) 사용자가 패치를 캡처(patch_capture는 플러그인 창을 엽니다; 사용자가 컴퓨터 앞에 있을 때만), (b) 무료 라이브러리 설치(README에 일부 나열됨), 또는 (c) 양식화된 신스 버전. 신스를 오케스트라로 속이지 마세요.
  • audition("patch:<id>")은 악기가 소리를 내는지 확인하고 밝기를 보고합니다. sfz_info는 범위와 키스위치를 보여줍니다.
  • dynamics_cc(1 또는 11) 태그가 있는 패치는 음량이 벨로시티가 아닌 해당 CC에서 제어됩니다: 항상 cc() 커브를 작성하세요.

3. 형식 계획 (음표 전에)

섹션에 대해 markers()를 설정하고 루프 영역에 대해 project_set(loop="5:1-21:1")을 설정하세요. 일반적인 형식:

큐길이형식 및 참고 사항
메인 메뉴45-120초 루프한 번 재생되는 선택적 2-4마디 인트로, 그 다음 A(8) B(8) 또는 A A' B A 루프. 기억에 남는 모티프, 중간 밀도, UI 사운드를 위한 공간을 남깁니다.
탐험 / 오버월드1.5-3분 루프긴 호, 성긴 질감, 숨 쉴 공간, 느린 화성 리듬(코드당 1-2마디).
마을 / 상점40-90초 루프따뜻하고, 리드미컬하며, 소규모 앙상블, 중독성 있음.
전투60-120초 루프130-170 bpm, 추진력 있는 오스티나토, 강한 베이스, 악센트 및 히트, 짧은 프레이즈; B 섹션은 강도를 높입니다.
보스90-180초 루프더 어두운 모드, 더 무거운 저음, 메인 테마에서 왜곡된 모티프.
승리 / 패배 스팅어2-8초, 원샷승리: 상승 라인에서 밝은 메이저 코드 + 심벌즈. 패배: 하강 라인에서 마이너 또는 디미니시드 코드, 페이드 아웃. loop="off".
앰비언스 배경1-3분 루프패드/드론, 느린 움직임, 강한 펄스 없음, 약한 멜로디.
크레딧2-4분, 원샷게임 모티프의 메들리.

루프 규칙: 루프는 정수 마디여야 합니다; 마지막 마디는 첫 번째 마디로 다시 이어져야 합니다(딸림음, 또는 첫 번째 멜로디 음으로 연결되는 픽업). 의도하지 않는 한 음표가 루프 끝을 넘지 않도록 하세요. 릴리스 및 리버브 테일은 render(loop="auto")에 의해 루프 시작 부분에 자동으로 접힙니다.

어댑티브 음악: 모든 레이어를 동일한 키, 템포 및 길이로 유지하고, 트랙에 layer 태그(base, tension, combat)를 지정하고, 게임이 크로스페이드하는 수직 레이어 스템을 위해 layers=True로 렌더링하세요.

4. 음악 작성

순서: 모티프, 그 다음 화성, 베이스, 멜로디 프레이즈, 카운터라인 및 내부 성부, 리듬 섹션, 다이내믹스, 마지막으로 변형.

멜로디

  • 인식 가능한 리듬과 윤곽을 가진 1-2마디 모티프로 구축하세요. 반복, 시퀀스(한 단계 위로 이동), 반전, 리듬 증대를 통해 발전시키세요. 프레이즈를 질문(2도 또는 5도에서 끝나는 열린 형태)과 답변(1도에서 끝나는)으로 구조화하세요.
  • 섹션당 하나의 명확한 클라이맥스(가장 높은 음, 가장 강한 비트). 단계적 진행과 가끔 도약; 도약은 반대 방향의 단계적 진행으로 해결하세요. (기악 쇼피스가 아니라면) 약 한 옥타브와 5도 이내로 부를 수 있게 유지하세요.
  • 공간 남기기: 쉼표와 긴 음표는 프레이즈에 형태와 숨 쉴 공간을 줍니다. 모든 박에 음표가 있을 필요는 없습니다.
  • 강박에는 화성음, 약박에는 경과음 및 이웃음. 긴 음표의 불협화음은 의도적인 선택입니다.

화성

  • chords()가 보이스 리딩을 해줍니다. 분위기에 맞는 진행을 선택하세요. 화성 리듬을 다양화하세요: 마디당 1코드, 종지에서 더 빠르게.
  • 유용한 진행: 단조 i-VI-III-VII(서사적/영웅적), i-iv-VII-III(향수를 불러일으키는), 장조 I-V-vi-IV(밝음), ii-V-I 및 IVmaj7-iii7-vi7(재즈/아늑함), bVI-bVII-I(승리감), 리디안 I-II(경이/마법), 프리지안 i-bII(위협), 도리안 i-IV(모험적, 포크), 크로매틱 미디언트(bIII, bVI 장조)는 영화적 색채를 위해, 변화하는 코드 아래의 페달 포인트는 긴장감을 위해.
  • 실제 종지(V-i, iv-V, bVI-bVII-I)로 섹션을 끝내세요. 이차 딸림화음(V/V, V7/vi)은 전진감을 더합니다.

베이스

  • 강박에 근음, 코드 변화로 접근음(단계 또는 이끔음) 및 5도. 킥 드럼과 잠그는 리듬을 주세요. C3 아래로 유지하고 레지스터가 겹치지 않게 하세요.

편곡

  • 레지스터: 베이스는 C3 아래, 화성은 C3-C5, 멜로디는 위에 또는 반주와 명확히 분리. C3 아래의 5도보다 작은 간격은 탁하게 들립니다(분석에서 플래그 지정).
  • 한 번에 하나의 초점 요소; 카운터라인은 멜로디 쉼표에 응답합니다(콜 앤드 리스폰스).
  • 레이어를 추가 및 제거하여 섹션을 구축하세요. B는 A와 대비되어야 합니다: 다른 레지스터, 밀도, 리듬 또는 화성 색상.
  • 오케스트라: 멜로디는 바이올린(플루트로 한 옥타브 위 복사하거나 호른으로 한 옥타브 아래 복사하여 따뜻함 추가), 화성은 비올라/첼로/호른, 베이스는 더블베이스/첼로. 호른은 중간 레지스터에서 5도와 옥타브로 가장 좋게 들립니다; 트럼펫은 팡파레 피크용; 팀파니는 프레이즈 끝의 근음과 5도에 사용. 트랙에 role을 사용하여 음역대 검사가 적용되도록 하세요. theory(range="horn").
  • 드럼: 4마디마다 변형이 있는 그루브와 섹션 변경으로의 필(마디 8의 마지막 박자 또는 두 박자). 새 섹션의 다운비트에 크래시. 고스트 노트(o)와 스윙이 생동감을 더합니다.

다이내믹스와 느낌

  • 모든 프레이즈 형성: notes_edit(op="velocity", ramp_from, ramp_to)로 크레센도, >로 악센트.
  • CC 제어 오케스트라 패치: 긴 음표에 cc(track, 1, start, end, 40, 100, shape="swell"), 그리고 섹션별 기본 레벨.
  • 어쿠스틱 파트: notes_edit(op="humanize", timing_ms=5-15, velocity=4-8). 칩튼 및 타이트한 일렉트로닉 파트는 그리드에 유지하세요.
  • 스타카토(')와 레가토(notes_edit(op="legato"))는 캐릭터를 많이 바꿉니다. 의도적으로 사용하세요.

복사-붙여넣기 단조로움 없이 재사용: arrange(op="copy")로 섹션을 복사한 다음, 복사본을 변형하세요(새 카운터라인, 옥타브 이동, 재화성화된 종지, 드럼 확장).

5. 장르 팔레트(내장 신디사이저 이름은 괄호 안; 어쿠스틱 장르는 실제 패치 선호)

장르템포모드 / 화성팔레트 및 리듬
오케스트라 판타지 / 어드벤처80-120장조/도리안/리디안, i-VI-III-VII현악기, 호른, 목관악기, 하프 아르페지오, 팀파니; [pluck], [bell] 색채용
서사적 / 전투130-170단조, 프리지안, i-bVI-bVII현악기 8분/16분음표 오스티나토, 금관 스탑, 타이코/탐, 합창 패드; [brass_synth], [reese_bass] 하이브리드
아늑함 / 마을 / 농장85-110장조, add9 및 maj7 코드나일론/플럭, 일렉트릭 피아노, 말렛, 가벼운 셰이커; [nylon_pluck], [epiano], [mallet]
신스웨이브 / 레트로90-118단조(에올리안/도리안)[supersaw] 패드, [analog_bass] 8분음표 베이스, [lead], 게이트 스네어, 큰 리버브
칩튠(NES 스타일)120-180장조 또는 단조, 코드용 빠른 아르페지오정확히 2 [chip_pulse]/[chip_square] 보이스, 1 [chip_triangle] 베이스, [chip_noise] 드럼; 리버브 없음 또는 아주 약간; 정량화됨
호러 / 긴장50-80 또는 펄스 없음크로매틱 클러스터, 트라이톤, 페달[dark_pad] 드론, 성긴 높은 [bell] 음, 낮은 펄스, 도구로서의 침묵
앰비언트 / 스페이스60-90리디안, 서스 코드, 느린 변화[pad], [dark_pad], [bell], 긴 리버브 센드, 느린 볼륨 자동화
로파이 / 칠70-90, 스윙ii7-V7-Imaj7, m9 코드[epiano], 스윙 0.3-0.5의 소프트 드럼, 마스터에 [saturator] 및 [filter]
액션 / EDM120-150단조, 포 온 더 플로어[drums] 또는 키트, [reese_bass]/[analog_bass], [saw_pluck] 아르페지오, [supersaw] 리드, 사이드체인 스타일 볼륨 자동화
퍼즐 / 캐주얼100-130장조, 장난기 있는 크로매틱 경과음[mallet], [pluck], 피치카토 패치, 스타카토 베이스

6. 믹스 및 마스터

  • 게인 스테이징: 트랙을 약 -6 ~ -12dB에서 시작; 멜로디는 위에, 패드는 그 아래에 위치. 렌더링은 트랙별 레벨을 보고합니다.
  • 버스에 공유 리버브 추가(track_add("Reverb", kind="bus", fx=["builtin:reverb"]) 또는 Mix 100%의 ValhallaSupermassive 같은 VST3), 트랙별로 센드. 빠르거나 바쁜 음악은 드라이하게, 앰비언트는 더 웻하게.
  • 베이스나 킥이 아닌 모든 것은 하이패스(builtin:eq hpf 100-200 Hz), 보고서에 탁하다고 나오면 패드의 250-500 Hz를 컷.
  • 너비를 위해 팬(하프 왼쪽, 두 번째 바이올린 오른쪽, 하이햇 약간 오프센터). 베이스와 킥은 중앙에 유지.
  • 음량: 마스터는 target_lufs(기본값 -16)로 정규화됩니다. 배경/메뉴 큐는 종종 -18 ~ -20; 전투는 -14 ~ -16.
  • 사용자의 VST3 이펙트(SSL, TDR Nova, Waves, Valhalla)는 fx_add를 통해 트랙, 버스 또는 마스터에 추가할 수 있습니다; 표시 텍스트로 이름별로 매개변수 설정({"Mix": "100 %", "LowCut": "200 Hz"}).

7. 검토 루프 (항상)

  1. notes_read(track)로 라인을 TTN으로 확인. analyze()는 키/음역대/겹침/탁함 검사와 피아노 롤 PNG를 제공합니다. PNG를 읽어 형식, 밀도 및 레지스터 분포를 확인하세요.
  2. render(). 모든 경고에 대해 조치하세요: 무음 트랙(패치 로드 안 됨), 탁함, 둔하거나 거친 고음역, 피크, 리미터 과부하, 루프 이음새. 변경되지 않은 트랙은 캐시되므로 자유롭게 반복하세요.
  3. listen(): 당신의 귀입니다. 렌더링된 오디오를 측정하며, 음표가 보여줄 수 없는 것을 포착합니다:
    • energy_arc, sections, bar_lufs: 각 섹션이 형식이 말하는 대로 되나요? B는 레벨, 밝기, 밀도 또는 리드(tracks_db, most_present)에서 A와 달라야 합니다; 마디별로 상승; 루프의 마지막 마디가 첫 번째 마디로 자연스럽게 흘러갑니다.
    • masking: 각 트랙의 주요 대역에서 vs_rest_db. 리드를 0 이상으로 유지. 약 -10 아래의 파트는 거의 들리지 않습니다: 높이거나, 거기서 covered_by 트랙을 EQ-컷하거나, 레지스터를 옮기거나, 자르세요. pairs는 하나의 대역을 두고 경쟁하는 파트입니다(킥 vs 베이스 at 63 Hz: 하나가 저음을 소유하게 하거나 히트 시 덕킹).
    • verify: 각 파트가 사용하는 모든 피치의 프로브 렌더. 무음 또는 훨씬 조용한 피치(악기 음역대 밖), 전위된 것처럼 들리는 파트, 짧은 음표의 느린 어택, 음표는 있지만 소리가 없는 마디(CC가 0?), drum_notes: 각 드럼 음표가 실제로 어떻게 들리고 동일한 벨로시티에서 얼마나 큰지. 패치 이름과 설명보다 이것을 신뢰하세요. 모든 경고가 수정되거나 의도적일 때까지 수정, 재렌더링, 다시 듣기. 첫 번째 실행은 각 악기를 프로브 렌더링합니다(플러그인 트랙당 몇 초, 이후 캐시됨). reference="<file>"는 사용자가 일치시키려는 트랙과 믹스를 비교합니다.
  4. 사용자에게 당신이 만든 것과 어떻게 구성되었는지(형식, 키, 템포, 악기, 모티프) 알려주고, 파일 경로를 제공하며, 들을 수 있도록 play() 또는 편집기(ui_open())를 제안하세요. 사용자의 귀가 최종 판단이므로 무엇을 변경할지 물어보세요.

8. 전달

프로젝트의 폴더와 명명 규칙에 맞게 render(out="<game>/<audio dir>/<name>.<ogg|wav>", loop="auto").

  • Godot: .ogg. 임포트 독에서 루프 설정; 인트로+루프의 경우 .loop.json의 loop_start_sec을 사용하여 loop_offset 설정.
  • Unity: .ogg 또는 .wav. AudioSource의 루프 플래그; 두 클립 또는 .loop.json을 사용한 스케줄 재생을 통한 인트로+루프.
  • Unreal: 16비트 48 kHz .wav(bits=16); WAV는 smpl 루프 청크를 포함합니다.
  • Web: .ogg 및 .mp3. 어댑티브 시스템의 경우 stems=True / layers=True를, DAW(Cubase)에 편곡을 넘기려면 midi=True를 사용하세요.

TTN 표기법 (write용)

D4:q!mf F4 A4:h | (D3 A3 F4):w | r:h C5:e. B4:s A4:q' G4:q> | E4:h~ E4:q r:q

피치 C4 = 가온도(MIDI 60), F#3, Bb5, 또는 쉼표 r. 코드 (C4 E4 G4). 길이 w h q e s t(온음표부터 32분음표), 점음표 q., 셋잇단음표 e3, 비트 1.5 또는 3/2, 합 h+e; 변경될 때까지 유지됨. 벨로시티 !pp !p !mp !mf !f !ff 또는 !0-127, 유지됨. ' 스타카토, > 악센트, ~ 다음 같은 피치에 타이. | 마디선, 박자표에 대해 검사됨(불일치는 경고로 반환되므로 수정). @6.5는 작성된 범위의 비트 6.5로 커서를 이동하여 한 호출에서 두 번째 성부를 위해 사용. 또는 mode="merge" 사용.

패턴 토큰(pattern용): 코드 도수 1 3 5 7 9, 8 10 12 한 옥타브 위, 5-/3+ 옥타브 이동, b7/#4 근음 위의 변형 도수, . 쉼표, - 유지, 1> 악센트. 베이스 예시: "1 - - 1 . 1 5- ."(팝), "1 . 1 . 1 . 1 ."(8분음표, 신스웨이브), "1 - 5- - 8 - 5- -" (워킹 느낌). 아르페지오: "1 5 8 10 12 10 8 5", "1 3 5 8" rate 0.25로 16분음표.

관련 스킬