Community코딩 & 개발github.com

2409324124/yakui-studio

참조 오디오 또는 오리지널 모티브로 프로그래밍 가능한 8비트/칩튠 배경 음악을 제작합니다. 실제 음원 분리, 폴리포닉 및 모노포닉 전사 후보, 수동 교정, 이벤트 스코어 편곡 및 루프 오디오 내보내기를 포함합니다. 편집 가능한 소스 코드 기반 게임 BGM 및 리믹스 청취에 적합합니다.

yakui-studio란 무엇인가요?

이 스킬은 AI 에이전트가 참조 오디오나 오리지널 모티브로부터 프로그래밍 가능한 8비트/칩튠 배경 음악을 제작할 수 있도록 설계된 종합적인 워크플로우를 제공합니다. 핵심 프로세스는 참조 오디오를 필요한 만큼 실제 분리한 후, 전사 후보를 생성하고 수동으로 교정하며, 편곡 이벤트 스코어를 작성하고, 파형 합성을 거쳐 최종 오디오(프리뷰, 루프, MP3)를 내보내는 순서로 진행됩니다. 오리지널 음악의 경우 참조 분석 단계를 생략하고 바로 작곡을 시작할 수 있습니다. Demucs, Basic Pitch ONNX/pYIN과 같은 고급 도구를 선택적으로 사용하여 복잡한 다중 음원 분리 및 전사를 지원하며, Yakui Studio 작업대를 통해 수동 교정 및 편집이 가능합니다. 주요 플랫폼(Claude Code, Cursor 등)과 호환되며, Python 3.10+, NumPy 및 FFmpeg를 필요로 합니다. 이 스킬은 단순한 오디오 생성 도구를 넘어, 프로듀서가 편곡과 음색을 세밀하게 제어할 수 있도록 설계되었으며, 에이전트가 실제 청취 능력이 없음을 인지하고 사용자에게 최종 오디오 파일을 제공하여 직접 평가하도록 합니다.

지원 대상✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/2409324124/yakui-studio/tree/HEAD/skills/procedural-chiptune

Installed? Explore more 코딩 & 개발 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

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

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

문서

프로그래밍 가능한 칩튠 배경 음악

작곡 정보와 음색 엔진을 분리합니다: 참조 오디오 → 필요에 따른 실제 음원 분리 → 전사 후보 및 교정 → 편곡 이벤트 스코어 → 파형 합성 → 청취/루프 마스터. 참조 오디오 없이 오리지널 음악을 만들 수도 있으며, 이 경우 코드 채보(扒谱) 단계를 건너뜁니다.

먼저 음악 목표를 결정하세요

사용자가 이미 결정한 참조, 길이, 스타일 및 승인된 트랙을 우선적으로 따릅니다. 중요하지 않은 세부 정보가 누락된 경우 합리적인 초안을 선택하고, 이미 답변한 선호도를 반복해서 묻지 않습니다. 새 버전을 독립적인 곡 디렉토리에 저장하고, 승인된 원본을 유지합니다. 창작 자체가 웹사이트, 게임에 대한 액세스 권한을 부여하거나 npm에 게시하는 것을 의미하지 않습니다.

참조 기반 편곡은 먼저 참조 분석 및 선택을 읽습니다. 믹스에서 메인 선율/응답 세부 정보를 유지해야 하는 경우 실제 음원 분리와 전사를 읽고 Demucs + Basic Pitch ONNX/pYIN을 사용합니다. 기본 NumPy 모드는 이러한 무거운 종속성을 자동으로 설치하지 않습니다. Yakui Studio 작업대를 사용하여 교정 및 가져오기를 수행하는 경우, 같은 레벨에 설치된 Yakui Studio를 읽습니다. 방법의 출처만 이해하려는 경우 Yakui 사례를 읽습니다. 사례의 템포, 코드 및 악절 길이는 새 곡의 기본 규칙이 아닙니다.

참조 오디오 분석

실제로 디코딩 가능한 오디오를 확보한 후에야 분석 결과를 보고합니다. 사용자 텍스트의 BPM 또는 음표 표는 확인이 필요합니다. 웹페이지 설명, 곡명 및 온라인 비디오 링크 자체는 오디오를 청취했다는 증거가 아닙니다. URL만 있는 경우 현재 사용 가능한 정상적인 미디어 획득 경로를 사용합니다. 획득이 차단되면 무엇이 부족한지 설명하고 채보 결과를 조작하지 않습니다. 참조 녹음본을 트랙이나 소스 코드 패키지에 자동으로 혼합하지 않습니다.

기본 도구:

python scripts/analyze_reference.py reference.wav --start 0 --seconds 30 --out analysis-intro.json

경로는 이 스킬 기준 상대 경로이며, 절대 경로를 사용할 수 있습니다. Python 3.10+, NumPy가 필요하며, 참조 디코딩 및 MP3 내보내기를 위해서는 FFmpeg(PATH 또는 FFMPEG 환경 변수)도 필요합니다.

  • 최소한 시작 부분과 주요 악절의 박자 후보를 비교하고, 반속/두 배속 가능성을 확인합니다. 확인 후에야 --bpm을 전달하여 음표 후보를 정렬합니다.
  • half_beat_candidates는 믹스 내 고조파 현저성(harmonic salience)으로, 자동으로 식별된 독립적인 멜로디가 아닙니다. 가장 큰 피크는 베이스 배음, 드럼 또는 다른 성부에 속할 수 있습니다.
  • 관찰 사항, 낮은 신뢰도의 후보, 편곡 선택을 주석으로 표시합니다. 높은 음역대 응답을 안정적으로 추출할 수 없는 경우 모호성을 유지하고, 오리지널 응답은 명확하게 표시합니다.
  • 세부 사항 우선 편곡의 경우 먼저 실제 음원 분리를 수행하고, 모델 레이블은 실제 sources에 따라 저장합니다. 그런 다음 폴리포닉 전사를 사용하여 동시 음표를 유지하고, 모노포닉 F0를 사용하여 명확한 멜로디 구간을 확인합니다. 메인 선율/응답은 음악적 역할이며, 주파수 대역 필터링 또는 Demucs의 other를 자동으로 독립적인 역할 트랙으로 이름을 바꿀 수 없습니다.
  • 원래 초 단위 시간, 피치 벤드, 신뢰도/활성도 값 및 교정 이유는 분석 파일에 남겨두고, 양자화는 파생 필드만 추가합니다. 스펙트로그램과 대표적인 실제 악구를 사용하여 옥타브, 단축음, 반복 동음 및 동시 발음을 확인하고, 모델 출력을 원곡의 정확한 악보라고 직접 부르지 않습니다.

편집 가능한 곡 만들기

python scripts/init_track.py /absolute/new-track --title "Track title" --bpm 95 --bars 24

이 명령은 독립적인 편곡 템플릿, 신디사이저 및 빌드 진입점을 복사하며, 기존 디렉토리를 덮어쓰지 않습니다. 출력에는 track.json, arrange.py, render_score.py, build.py, 종속성 목록이 포함됩니다. 템플릿 모티브는 오리지널 예시일 뿐이며, 이번 음악 목표에 맞게 수정해야 합니다. 모든 곡을 템플릿의 BPM만 변경하여 렌더링하지 마십시오.

곡 디렉토리에서 다음을 실행합니다:

python -m pip install -r requirements.txt
python build.py --mp3 --three-pass

먼저 대표적인 악구/악절을 만든 다음 목표 길이로 확장합니다. 사용자가 이미 세부 편곡을 승인한 경우 바로 해당 편곡대로 제작하고, 별도의 승인 게이트를 설정하지 않습니다.

  • 4분음표 박자를 이벤트 시간 단위로 사용하며, 길이는 BPM, 마디 수 및 박자표로 계산합니다. 지정된 초에 근접할 경우 박자 제약 조건을 설명하고, 전체 오디오 속도를 높여 억지로 길이를 맞추지 않습니다.
  • 메인 선율, 응답, 베이스, 화음, 아르페지오 및 드럼을 각각 편곡합니다. 클라이막스에서는 음역, 리듬 및 화음 밀도를 높이고, 메인 선율에 팬 및 레벨 공간을 확보합니다.
  • 신디사이저는 검증된 PolyBLEP 펄스파, 유한 고조파 삼각파, LFSR 노이즈 드럼, 짧은 엔벨로프 및 비트 딜레이를 사용합니다. 곡에 맞게 음색을 조정합니다. 칩튠 성부를 확장한다고 해서 FC/NES 채널 제한을 엄격히 모방하는 것은 아닙니다.
  • 참조 분석과 전사는 다른 스타일에도 사용될 수 있습니다. 사용자가 포스트 록 등 다른 스타일을 지정한 경우 이미 확인된 멜로디는 유지하고, 실제로 적합한 악기/렌더러를 선택합니다. 칩튠 템플릿이 자동으로 실제 기타나 포스트 록 음색으로 변하지 않으며, 템플릿에 레이블을 바꿔 새 스타일인 척 하지 않습니다.
  • 8-bit는 기본적으로 음색/편곡을 의미합니다. 출력은 사용자가 명시적으로 비트 깊이 저하를 요청하지 않는 한 44.1kHz, 16비트 스테레오 품질을 유지합니다.

스코어를 직접 편집하거나 음색을 조정해야 하는 경우 이벤트 스코어 형식을 읽습니다. render_score.py score.json --out audio --mp3 --three-pass를 사용하면 편곡기를 건너뛰고 모든 호환 가능한 스코어를 렌더링할 수 있습니다.

청취 및 전달

audio/ 디렉토리에 preview.wav, loop.wav, 선택적 MP3, 클라이막스 클립 및 render-report.json이 출력됩니다. 프리뷰는 페이드 아웃될 수 있습니다. 루프 마스터에는 전체 페이드 아웃이 없으며, 트레일링 테일을 시작 부분으로 감쌉니다. --three-pass는 세 번의 접합부 청취를 생성합니다.

길이, 유한 값, 클리핑, 악절 레벨 및 루프 근처의 급격한 변화를 확인합니다. 디지털 검사가 청취를 대체할 수 없습니다. 실제 청취 능력을 사용할 수 없는 경우 재생 가능한 파일을 전달하여 사용자가 청취하도록 하고, 자신이 이미 들었다고 주장하지 않습니다. 주제, 응답, 클라이막스 밀도, 주선율 명확도 및 루프 접합부에 집중합니다. 음악 파일이 존재한다고 해서 스타일이 일치한다고 선언하지 않습니다.

절대 경로 오디오를 임베드하여 전체 청취 및 대표적인 클라이막스 클립을 제공하고, 편곡/합성 소스 코드, 악보 및 간단한 악절 설명을 첨부합니다. 사용자가 경량 터미널 재생을 요청하는 경우, 동일한 이벤트 스코어와 음색 매개변수를 사용하여 로컬 신디사이저를 이식하고, 전체 PCM을 임베드하거나 사용자에게 Python 설치를 요구하지 않도록 합니다. 청취를 위해 자동으로 뷰어나 게시 프로세스를 변경하지 마십시오.

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

관련 스킬