BACH가 어떻게 원시 토큰을 구조화된 음악으로 바꾸는지—단계별로 확인하세요.
BACH: 마디 단위 AI 작곡 보조 도구
> "Score to Performance를 통한: 바 단위 심볼릭 표기법으로 효율적인 인간 제어 가능한 장곡 생성" > ICASSP 2026 제출 – 채택됨
🎼 한 줄 요약
BACH는 최초의 인간 편집 가능, 바 단위 심볼릭 송 생성기입니다: LLM이 가사를 작성 → 트랜스포머가 ABC 악보 출력 → 기존 렌더러로 수 분 길이, Suno 수준 음악 생성. 1 B 파라미터, 분 단위 추론, SOTA 오픈소스.📦 이 저장소에 포함된 내용 (미리보기 버전)
| 경로 | 설명 | |------|-------------| |README.md | 이 파일 |
| code/ | 추론 코드 |
| example.mp3 | 예시 노래 |
| fig/ | 아키텍처 그림 |🏗️ 모델 아키텍처 (한눈에 보기)
사용자 프롬프트 Qwen3 — 가사 & 스타일 태그 BACH-1B 디코더 전용 트랜스포머 ABC 악보 (Dual-NTP + Chain-of-Score)
ABC → MIDI → FluidSynth + VOCALOID 스테레오 믹스
| 구성 요소 | 핵심 아이디어 |
|-----------|--------------|
| Dual-NTP | {vocal_patch, accomp_patch}를 매 단계마다 공동 예측 |
| Chain-of-Score | 긴 일관성을 위한 섹션 태그 [START:Chorus] ... [END:Chorus] |
| Bar-stream patch | 바마다 16자 비중첩 패치 |
🧪 빠른 시작 (CPU 친화적)
# 1. Clone
git clone https://github.com/your-github/BACH.git
cd BACH2. Install
pip install -r requirements.txt # transformers>=4.41 mido abcpy fluidsynth3. Generate ABC
python bach/generate.py \
--prompt "A rainy-day lo-fi hip-hop song about missing the last train" \
--out_abc demo/rainy_lofi.abc4. Render audio
🎧 지금 듣기
example.mp3가 준비되었습니다, 전체 노래입니다. Suno와 비교할 수 있습니다🙂관련 논문 승인 시 전체 공개
- 완전한 학습 세트 (ABC + 가사 + 구조 레이블)
- BACH-1B 가중치 (트랜스포머 형식)
- 학습 스크립트 (다단계 + 다중작업 + ICL)
- 완전한 코드
📎 인용
논문이 Arxiv에 공개되었습니다,@misc{wang2025scoreperformanceefficienthumancontrollable,
title={스코어를 통한 성능: 마디 단위 기호 표기를 사용한 효율적이고 인간 조절 가능한 긴 곡 생성},
author={Tongxi Wang and Yang Yu and Qing Wang and Junlang Qian},
year={2025},
eprint={2508.01394},
archivePrefix={arXiv},
primaryClass={cs.SD},
url={https://arxiv.org/abs/2508.01394},
}
---
Tranlated By Open Ai Tx | Last indexed: 2026-03-08
---