Communitygithub.com

beatflow-skill

Codex와 BeatFlow의 스타일 중립적인 Python DSL을 사용하여 원본 다중 트랙 음악을 Standard MIDI로 작곡, 편곡, 수정, 검증, 비교, 검사 및 내보냅니다. 음악적 브리프를 조정된 악기 역할로 변환하고, 모든 장르의 완전한 곡을 작성하며, 리듬이나 프레이징 문제를 진단하거나 BeatFlow Composition 1.1 및 MIDI 파일을 작업하는 데 사용합니다.

beatflow-skill란 무엇인가요?

BeatFlow는 AI 에이전트(특히 Codex)가 음악적 결정을 내리고, 표준 MIDI 파일로 완전한 다중 트랙 작곡을 생성할 수 있게 해주는 스킬입니다. Python DSL(도메인 특화 언어)을 사용하여 지속 시간, 형식, 템포, 조성, 악기 편성 등 음악적 브리프의 모든 측면을 정밀하게 제어합니다. 이 스킬의 핵심은 '구성 지침', '작곡 형식', '프레이징 및 조정', '긴 형식', '진단' 등의 참조 문서를 통해 안내되는 체계적인 워크플로우로, AI가 악기 역할을 분류하고, 구조를 계획하며(프레임, 프레이즈, 스켈레톤, 전경, 장식), 신뢰할 수 있는 Python 파일을 작성한 후 이를 MIDI로 렌더링합니다. 정량화, 지각적 택터스, 명시적 음표 지속 시간과 같은 엄격한 제약 조건을 적용하고, 검증 오류를 하드 실패로 처리하며 진단 증거를 사용하여 의도와의 불일치를 수정합니다. 이는 음악적 브리프를 완전한 편곡으로 전환하거나, 기존 작곡의 리듬, 프레이징, 또는 균형 문제를 진단하고 수정해야 하는 개발자나 AI 에이전트 사용자에게 매우 유용하며, 최종 결정은 항상 청취에 기반합니다.

지원 대상~Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/the0cp/beatflow-skill/tree/master

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

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

문서

BeatFlow

음악적 결정을 위해 Codex를 사용하세요. 정확한 타이밍, 기능적 음정 실현, 보이싱, 검증, 진단, 컴파일, MIDI 렌더링 및 검사에는 번들 엔진을 사용하세요.

런타임

이 스킬 디렉토리를 <skill-root>로 참조하고 다음을 실행하세요:

python "<skill-root>/scripts/run.py" <command> ...

Python 3.10 이상이 필요합니다. 작곡 스크립트와 생성된 아티팩트는 <skill-root>가 아닌 사용자의 작업 공간에 작성하세요.

워크플로우

  1. 브리프에서 지속 시간, 형식, 템포, 박자, 조성 언어, 악기 편성, 에너지 경로, 우선순위 및 제외 사항을 추출합니다. 누락된 세부 사항에 대해 되돌릴 수 있는 가정을 합니다.

  2. 각 악기를 essential, substitutable, 또는 optional로 분류합니다. 별도로 그 중요도를 primary, co-primary, support, 또는 background로 분류합니다. 필수 악기를 보존하고 계약 변경을 고려하기 전에 해당 악기의 작법, 균형 또는 재생 프로그램을 복구합니다.

  3. composition-guidance.md와 composition-format.md를 읽습니다. 두드러진 멜로디, 주제 전개, 복잡한 박자 또는 타이밍 복구가 필요한 경우 phrasing-and-coordination.md를 읽습니다. 90초 이상 길이의 작업에는 long-form.md를 읽습니다. 후보를 수정하거나 비교할 때는 diagnostics.md를 읽습니다. 방법론적 증거가 유용할 때만 research-foundations.md를 로드합니다.

  4. 이벤트를 작성하기 전에 계획합니다:

    • 프레임: 지속 시간, 섹션, 템포, 박자, 택터스, 으뜸음, 모드;
    • 프레이즈: 그룹화, 화성 리듬, 주의 집중, 도착 및 해제;
    • 스켈레톤: 펄스, 베이스, 화성, 역할 진입, 쉼표 및 인계;
    • 전경: 리듬 정체성, 윤곽, 밀도, 질감 및 구조적 음;
    • 장식: 필인, 보조 공격, 대선율 및 아티큘레이션.
  5. 전경을 추가하기 전에 정량화된 스켈레톤을 렌더링합니다. 최소한 하나의 안정적인 시간 기준을 유지하고 중요한 화성 변화와 도착을 인지할 수 있게 만듭니다. 전경은 선택 사항으로 취급합니다. 베이스 후크, 설계된 코드 최상선 또는 리듬 질감이 이미 주의를 이끌 수 있습니다.

  6. build() 함수가 Composition을 반환하는 신뢰할 수 있는 Python 파일을 작성합니다. SongBuilder를 사용하세요. 스타일이 스키마나 컴파일러가 아닌 작성된 음악에 영향을 미치도록 합니다.

  7. 완전한 곡의 경우, 재사용 가능한 섹션 자료를 타임라인 발생과 분리합니다. 발생 개발과 arrange() 처리를 사용하여 전체 섹션을 복사하지 않고 형식적 변화를 만듭니다.

  8. 품질에 민감한 멜로디나 주제 작업의 경우, 형식을 확장하기 전에 구조적으로 다른 짧은 후보를 청취합니다. 음정 장식 없이 리듬과 지속 시간을 비교하고, 초기 인식 가능한 진술을 보존하며, 청취를 통해 선택합니다.

  9. 선택한 후보를 렌더링합니다:

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"
  1. 검증 오류를 하드 실패로 처리합니다. 진단을 취향 점수가 아닌 작성된 의도에 대한 증거로 취급합니다. 책임이 있는 가장 높은 인과 계층을 수정하고, 다시 렌더링한 후 다시 듣습니다.
  2. 음악적 설계, 가정, 검증 결과, 진단 결과, MIDI 사실 및 여전히 청취 판단이 필요한 결정을 보고합니다.

핵심 제약 조건

  • 기본 타이밍을 정확하게 정량화된 상태로 유지합니다. 사용자가 명시적으로 타이밍 실험을 요청하는 경우에만 온셋 드리프트 또는 휴머니제이션을 추가하고 정량화된 기준선을 보존합니다.
  • 모든 4분음표가 비트라고 가정하지 않고 지각적 택터스를 계산합니다. 박자를 인식하는 계획을 위해 song.at(), song.tactus(), song.bars()를 사용하세요.
  • 불규칙성이 명명된 음악적 기능을 가지지 않는 한 규칙적인 전체 마디 프레이즈 그룹화를 사용하세요.
  • 중요한 전경 프레이즈에 명확한 정체성, 내부 대비 및 주요 도착을 부여하세요. 의도가 테스트 가능해야 할 때 phrase(), phrase_stage(), arrival()을 사용하세요.
  • 관련 역할에 강제적인 동일 공격 없이 목적 있는 의존성을 부여하세요. 독립성, 맞물림, 호응 또는 인계가 브리프의 핵심일 때 interaction()을 사용하세요.
  • 코드 보이싱의 가장 높은 음이 선율을 이끌 때 top_target을 사용하세요. 명확한 보완 역할이 있을 때만 별도의 리드를 추가하세요.
  • 모든 온셋과 지속 시간을 명시적으로 유지하세요. 다음 공격에서 음표 길이를 추론하지 마십시오.

수정

다음 순서로 진단하세요:

  1. 박자와 공유 시계;
  2. 역할 소유권과 악기 계약;
  3. 프레이즈 그룹화, 제스처 연속성 및 도착;
  4. 화성 리듬, 베이스 지원 및 보이싱;
  5. 음정 윤곽과 비화성음 동작;
  6. 아티큘레이션, 균형 및 재생 음색.

규칙을 추가하기 전에 세 가지 간단한 비교를 사용하세요:

  • 하나의 음정으로 전경 리듬 청취;
  • 한 번에 하나씩 선택적 또는 경쟁 레이어 음소거;
  • 가장 이른 완전한 프레이즈 끝을 나중의 끝과 비교.

고립된 음표보다는 인과 구조를 복구하세요. 임의의 밀도, 임의의 지터, 포괄적인 휴머니제이션 또는 새로운 장르별 엔진 규칙을 지름길로 사용하지 마십시오.

명령어

  • 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에서 프로덕션 음색을 평가하세요.
  • 청취를 최종 음악적 결정으로 유지하세요.

관련 스킬