Skip to content

nkw601/BANDI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

301 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bandi

경로 역할
FE/ Next.js 웹·PWA (/attendance/launch, 악보 뷰어, 내 악보)
BandiBE/ Spring Boot API (인증, 악보·세션, 얼굴 캡처 S3, AI 작업 연동)
BandiAI/ FastAPI + GPU 워커 (스템 분리, 편곡, 얼굴·악기 인식)

AI 기능 요약

기능 설명 주요 경로
스템 분리 Demucs로 보컬·드럼·베이스 등 분리 BandiAI/separate_stems.py, bandi_api/pipeline.py
밴드 편곡 REMI-z / music2music(m2m) 기반 MIDI·PDF 파이프라인 BandiAI/bandi_score/arrangement/
코드·비트 ChordMiniApp 계열(Chord-CNN-LSTM, Beat-Transformer 등) BandiAI/bandi_score/ChordMiniApp/
멜로디(실험) Sheet Sage (선택) BandiAI/bandi_score/sheetsage/
얼굴 임베딩 InsightFace buffalo_l — 등록·출석·PWA 인증 BandiAI/bandi_instrument/face_recognizer.py
악기 인식 OpenCLIP ViT-B-32 제로샷/파인튜닝 BandiAI/bandi_instrument/classifier.py

PWA 시작 시: 얼굴 인증 → AI 악기 인식 → 해당 파트 최근 악보 자동 제안 (FE/src/views/attendance/).


AI 라이선스 및 학술 인용 (Acknowledgements)

중요: 아래는 프로젝트 구성을 이해하기 위한 요약입니다.
상업적 이용·재배포·논문·서비스 공개 시 각 upstream 라이선스 원문인용문을 반드시 준수하세요.
특히 Sheet Sage 학습 가중치(CC BY-NC-SA 3.0) 는 비영리 조건이 있을 수 있습니다.

통합 현황

프로젝트 저장소 Bandi 저장소 내 위치
Demucs facebookresearch/demucs BandiAI/separate_stems.py, bandi_api/pipeline.py
REMI-z Sonata165/REMI-z BandiAI/bandi_score/arrangement/REMI-z/
music2music (m2m) LongshenOu/music2music BandiAI/bandi_score/arrangement/music2music_code/
madmom cpjku/madmom ChordMiniApp·Sheet Sage 경로 등
Sheet Sage chrisdonahue/sheetsage BandiAI/bandi_score/sheetsage/
ChordMiniApp ptnghia-j/ChordMiniApp BandiAI/bandi_score/ChordMiniApp/

Demucs (음원 스템 분리)

인용 (BibTeX):

@inproceedings{rouard2022hybrid,
  title={Hybrid Transformers for Music Source Separation},
  author={Rouard, Simon and Massa, Francisco and D{\'e}fossez, Alexandre},
  booktitle={ICASSP 23},
  year={2023}
}

@inproceedings{defossez2021hybrid,
  title={Hybrid Spectrogram and Waveform Source Separation},
  author={D{\'e}fossez, Alexandre},
  booktitle={Proceedings of the ISMIR 2021 Workshop on Music Source Separation},
  year={2021}
}

Sheet Sage

인용 (BibTeX):

@inproceedings{donahue2022melody,
  title={Melody transcription via generative pre-training},
  author={Donahue, Chris and Thickstun, John and Liang, Percy},
  booktitle={ISMIR},
  year={2022}
}

ChordMiniApp

인용 (BibTeX):

@misc{phan2026enhancingautomaticchordrecognition,
  title={Enhancing Automatic Chord Recognition via Pseudo-Labeling and Knowledge Distillation},
  author={Phan, Nghia and Jin, Rong and Liu, Gang and Dong, Xiao},
  year={2026},
  eprint={2602.19778},
  archivePrefix={arXiv},
  primaryClass={cs.SD},
  url={https://arxiv.org/abs/2602.19778}
}

REMI-z (심볼릭 토큰화)

편곡 모델·학습 코드는 music2music (m2m) 과 함께 사용합니다. 해당 논문 인용은 아래 m2m 절을 참고하세요.


music2music (m2m, 밴드 편곡)

  • 코드: BandiAI/bandi_score/arrangement/music2music_code/
  • 관련 저장소: LongshenOu/music2music (논문 실험 코드)
  • 라이선스: 저장소 내 코드 MIT · Hugging Face 가중치(LongshenOu/m2m_* 등)는 각 모델 카드 License 준수
  • Bandi: m2m 학습·추론 스크립트 + REMI-z 토큰화로 밴드 편곡·PDF 파이프라인 구성

인용 (BibTeX):

@inproceedings{ou2025unifying,
  title={Unifying Symbolic Music Arrangement: Track-Aware Reconstruction and Structured Tokenization},
  author={Ou, Longshen and Zhao, Jingwei and Wang, Ziyu and Xia, Gus and Liang, Qihao and Hopkins, Torin and Wang, Ye},
  booktitle={Proceedings of the 39th Conference on Neural Information Processing Systems (NeurIPS)},
  year={2025}
}

(동일 논문 arXiv: 2408.15176)


madmom

  • 저장소: https://github.com/cpjku/madmom
  • 라이선스: upstream LICENSE 및 각 릴리스 참고 (ChordMiniApp·Sheet Sage 등에서 비트·다운비트 처리에 사용)
  • Bandi: ChordMiniApp/python_backend/ 등 경유 간접 의존

인용 (BibTeX):

@inproceedings{madmom,
  title={{madmom: a new Python Audio and Music Signal Processing Library}},
  author={B{\"o}ck, Sebastian and Korzeniowski, Filip and Schl{\"u}ter, Jan and Krebs, Florian and Widmer, Gerhard},
  booktitle={Proceedings of the 24th ACM International Conference on Multimedia},
  month={10},
  year={2016},
  pages={1174--1178},
  address={Amsterdam, The Netherlands},
  doi={10.1145/2964284.2973795}
}

기타 악보·오디오·Bandi 자체 AI

구성요소 용도 라이선스 (요약) 인용·링크
Demucs 스템 분리 MIT Demucs
Beat-Transformer 비트·다운비트 (ChordMiniApp 내) MIT ISMIR 2022
Chord-CNN-LSTM 계열 코드 (ChordMiniApp 내) MIT upstream README
music2music (m2m) 밴드 편곡 코드 MIT / HF 모델 카드별 music2music
InsightFace buffalo_l 얼굴 임베딩 Apache-2.0 / 가중치 Model Zoo 약관 POST /face/embedding
OpenCLIP PWA 악기 인식 MIT / CLIP 가중치 별도 POST /classify/instrument
Jukebox, Melisma Sheet Sage 옵션 의존 각 upstream Sheet Sage README

1. Bandi 자체 AI 모듈 (BandiAI/bandi_instrument/)

구성요소 모델 / 라이브러리 용도 라이선스 (요약)
얼굴 인식 InsightFace buffalo_l 얼굴 임베딩, 출석·PWA Apache-2.0 + Model Zoo
악기 분류 OpenCLIP ViT-B-32 이미지→악기 MIT + CLIP weights
파인튜닝 .pt 팀 학습 (선택) 악기 head 팀 정책

2. FE에서의 AI 호출

연동 환경 변수 설명
악기 인식 BFF AI_BASE_URL (FE .env) RunPod 등 BandiAI/classify/instrument 프록시
대체 URL BANDI_AI_INSTRUMENT_URL Next 서버 직접 지정(선택)
얼굴·출석 BASE_URL → BandiBE BE가 AI_BASE_URL로 임베딩·작업 위임

환경 변수 (AI 관련)

FE (FE/.env)

BASE_URL=http://localhost:8080
AI_BASE_URL=https://your-runpod-or-ai-host
AUTH_SECRET=...

BandiBE (BandiBE / docker-compose)

AI_BASE_URL=...
AI_FACE_EMBEDDING_PATH=/face/embedding
AI_API_KEY=...
S3_BUCKET=...

BandiAI (BandiAI/bandi_api/config.py 등)

INSTRUMENT_CHECKPOINT=...          # optional .pt
INSTRUMENT_THRESHOLD=0.35
FACE_THRESHOLD=0.4
BANDI_DEMUCS_MODEL=htdemucs_6s

로컬 실행 (요약)

# BE
cd BandiBE && ./gradlew bootRun

# FE
cd FE && npm install && npm run dev

# AI (GPU 권장)
cd BandiAI && pip install -r requirements.txt  # 프로젝트 의존성 파일 기준
python -m uvicorn bandi_api.main:app --host 0.0.0.0 --port 8000

프로젝트 코드 라이선스

  • Bandi 팀이 작성한 FE / BandiBE / BandiAI 애플리케이션 코드의 라이선스는 저장소 루트 또는 각 패키지의 LICENSE 파일을 따릅니다. (별도 파일이 없다면 팀·교육 과정 정책을 확인하세요.)
  • 서드파티 AI 모델·가중치·데이터셋은 위 표의 라이선스를 따르며, Bandi 코드 라이선스와 동일하지 않을 수 있습니다.

면책

  • AI 출력(악기 라벨, 악보, 코드, 멜로디)은 참고용이며 정확성을 보장하지 않습니다.
  • 얼굴·카메라 데이터는 인증·출석 목적으로 처리되며, 운영 환경에서는 개인정보 처리방침·보관 기간을 별도로 정해야 합니다.
  • 상업 서비스·스토어 배포 전 NC 라이선스 모델(Sheet Sage 등) 포함 여부를 법무·라이선스 관점에서 검토하세요.

참고 링크

이름 URL
Demucs https://github.com/facebookresearch/demucs
Sheet Sage https://github.com/chrisdonahue/sheetsage
ChordMiniApp https://github.com/ptnghia-j/ChordMiniApp
REMI-z https://github.com/Sonata165/REMI-z
madmom https://github.com/cpjku/madmom
m2m 논문 (arXiv) https://arxiv.org/abs/2408.15176
ChordMini 논문 (arXiv) https://arxiv.org/abs/2602.19778
InsightFace https://github.com/deepinsight/insightface
OpenCLIP https://github.com/mlfoundations/open_clip

문의·라이선스·인용 수정 제안은 팀 저장소 Maintainer에게 연락하세요.

About

AI 기반 밴드 악보 자동 생성 및 편곡 서비스

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors