BeatFlow
음악적 결정을 위해 Codex를 사용하세요. 정확한 타이밍, 기능적 음정 실현, 보이싱, 검증, 진단, 컴파일, MIDI 렌더링 및 검사에는 번들 엔진을 사용하세요.
런타임
이 스킬 디렉토리를 <skill-root>로 참조하고 다음을 실행하세요:
python "<skill-root>/scripts/run.py" <command> ...
Python 3.10 이상이 필요합니다. 작곡 스크립트와 생성된 아티팩트는 <skill-root>가 아닌 사용자의 작업 공간에 작성하세요.
워크플로우
-
브리프에서 지속 시간, 형식, 템포, 박자, 조성 언어, 악기 편성, 에너지 경로, 우선순위 및 제외 사항을 추출합니다. 누락된 세부 사항에 대해 되돌릴 수 있는 가정을 합니다.
-
각 악기를
essential,substitutable, 또는optional로 분류합니다. 별도로 그 중요도를primary,co-primary,support, 또는background로 분류합니다. 필수 악기를 보존하고 계약 변경을 고려하기 전에 해당 악기의 작법, 균형 또는 재생 프로그램을 복구합니다. -
composition-guidance.md와 composition-format.md를 읽습니다. 두드러진 멜로디, 주제 전개, 복잡한 박자 또는 타이밍 복구가 필요한 경우 phrasing-and-coordination.md를 읽습니다. 90초 이상 길이의 작업에는 long-form.md를 읽습니다. 후보를 수정하거나 비교할 때는 diagnostics.md를 읽습니다. 방법론적 증거가 유용할 때만 research-foundations.md를 로드합니다.
-
이벤트를 작성하기 전에 계획합니다:
- 프레임: 지속 시간, 섹션, 템포, 박자, 택터스, 으뜸음, 모드;
- 프레이즈: 그룹화, 화성 리듬, 주의 집중, 도착 및 해제;
- 스켈레톤: 펄스, 베이스, 화성, 역할 진입, 쉼표 및 인계;
- 전경: 리듬 정체성, 윤곽, 밀도, 질감 및 구조적 음;
- 장식: 필인, 보조 공격, 대선율 및 아티큘레이션.
-
전경을 추가하기 전에 정량화된 스켈레톤을 렌더링합니다. 최소한 하나의 안정적인 시간 기준을 유지하고 중요한 화성 변화와 도착을 인지할 수 있게 만듭니다. 전경은 선택 사항으로 취급합니다. 베이스 후크, 설계된 코드 최상선 또는 리듬 질감이 이미 주의를 이끌 수 있습니다.
-
build()함수가Composition을 반환하는 신뢰할 수 있는 Python 파일을 작성합니다.SongBuilder를 사용하세요. 스타일이 스키마나 컴파일러가 아닌 작성된 음악에 영향을 미치도록 합니다. -
완전한 곡의 경우, 재사용 가능한 섹션 자료를 타임라인 발생과 분리합니다. 발생 개발과
arrange()처리를 사용하여 전체 섹션을 복사하지 않고 형식적 변화를 만듭니다. -
품질에 민감한 멜로디나 주제 작업의 경우, 형식을 확장하기 전에 구조적으로 다른 짧은 후보를 청취합니다. 음정 장식 없이 리듬과 지속 시간을 비교하고, 초기 인식 가능한 진술을 보존하며, 청취를 통해 선택합니다.
-
선택한 후보를 렌더링합니다:
python "<skill-root>/scripts/run.py" compose "<output>/<name>.py" "<output>/<name>.mid" --composition-output "<output>/<name>.composition.json" --project-output "<output>/<name>.project.json" --report "<output>/<name>.report.json"
- 검증 오류를 하드 실패로 처리합니다. 진단을 취향 점수가 아닌 작성된 의도에 대한 증거로 취급합니다. 책임이 있는 가장 높은 인과 계층을 수정하고, 다시 렌더링한 후 다시 듣습니다.
- 음악적 설계, 가정, 검증 결과, 진단 결과, MIDI 사실 및 여전히 청취 판단이 필요한 결정을 보고합니다.
핵심 제약 조건
- 기본 타이밍을 정확하게 정량화된 상태로 유지합니다. 사용자가 명시적으로 타이밍 실험을 요청하는 경우에만 온셋 드리프트 또는 휴머니제이션을 추가하고 정량화된 기준선을 보존합니다.
- 모든 4분음표가 비트라고 가정하지 않고 지각적 택터스를 계산합니다. 박자를 인식하는 계획을 위해
song.at(),song.tactus(),song.bars()를 사용하세요. - 불규칙성이 명명된 음악적 기능을 가지지 않는 한 규칙적인 전체 마디 프레이즈 그룹화를 사용하세요.
- 중요한 전경 프레이즈에 명확한 정체성, 내부 대비 및 주요 도착을 부여하세요. 의도가 테스트 가능해야 할 때
phrase(),phrase_stage(),arrival()을 사용하세요. - 관련 역할에 강제적인 동일 공격 없이 목적 있는 의존성을 부여하세요. 독립성, 맞물림, 호응 또는 인계가 브리프의 핵심일 때
interaction()을 사용하세요. - 코드 보이싱의 가장 높은 음이 선율을 이끌 때
top_target을 사용하세요. 명확한 보완 역할이 있을 때만 별도의 리드를 추가하세요. - 모든 온셋과 지속 시간을 명시적으로 유지하세요. 다음 공격에서 음표 길이를 추론하지 마십시오.
수정
다음 순서로 진단하세요:
- 박자와 공유 시계;
- 역할 소유권과 악기 계약;
- 프레이즈 그룹화, 제스처 연속성 및 도착;
- 화성 리듬, 베이스 지원 및 보이싱;
- 음정 윤곽과 비화성음 동작;
- 아티큘레이션, 균형 및 재생 음색.
규칙을 추가하기 전에 세 가지 간단한 비교를 사용하세요:
- 하나의 음정으로 전경 리듬 청취;
- 한 번에 하나씩 선택적 또는 경쟁 레이어 음소거;
- 가장 이른 완전한 프레이즈 끝을 나중의 끝과 비교.
고립된 음표보다는 인과 구조를 복구하세요. 임의의 밀도, 임의의 지터, 포괄적인 휴머니제이션 또는 새로운 장르별 엔진 규칙을 지름길로 사용하지 마십시오.
명령어
schema: Composition 1.1 JSON 스키마 출력validate COMPOSITION: 엄격한 구조 및 의미론적 검사 실행diagnose COMPOSITION: 조언적 음악 관찰 보고compare COMPOSITION...: 후보 지문 비교compile COMPOSITION PROJECT: 내부 Project JSON으로 컴파일render COMPOSITION MIDI: 검증, 진단, 컴파일, 렌더링 및 검사compose SCRIPT MIDI: 신뢰할 수 있는build()실행 및 전체 파이프라인 실행inspect MIDI: MIDI 구조, 프로그램, 범위 및 컨트롤러 보고self-check: 종단 간 설치 스모크 테스트 실행
project-schema, project-validate, render-project는 저수준 컴파일된 Project 경계에만 사용하세요.
경계
- 독창적인 기호 음악을 만듭니다. 참조 멜로디를 복사하거나 살아있는 아티스트를 모방하지 마십시오.
- 분석용 말뭉치나 참조 파일을 가져오기 전에 라이선스를 확인하세요.
- General MIDI 재생을 미리보기로 취급하세요. 대상 악기나 DAW에서 프로덕션 음색을 평가하세요.
- 청취를 최종 음악적 결정으로 유지하세요.