Skip to content

jeechoi314159/AtlasGroove

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AtlasGroove

지휘자별 클래식 음악 해석의 미세한 차이를 Boston Dynamics Atlas 캐릭터의 카툰 애니메이션 (모션·표정)으로 시각화하는 연구 프로젝트.

Visualize subtle differences in classical music conducting through stick-figure animation driven by audio-derived emotion (Russell V/A + GEMS), with synchronized mel-spectrogram comparison.

Quick Start

1. Clone & install dependencies

git clone https://github.com/<your-username>/AtlasGroove.git
cd AtlasGroove
pip install -r requirements.txt

2. Provide audio

저작권 문제로 음원 파일은 저장소에 포함되지 않음. 사용자가 직접 준비:

  • 합법적으로 보유한 클래식 녹음 (CD 리핑·iTunes Store 구매 DRM-free 파일).
  • 또는 Internet Archive 등에서 퍼블릭 도메인 역사 녹음 다운로드 (Mengelberg 1926 Mahler 5 등).

audio/ 폴더에 .mp3 / .wav 등 배치.

3. Register recordings & run pipeline

python3 analysis/add_recording.py audio/your_recording.mp3 \
    --id bernstein \
    --label "Bernstein / NYP / 1973" \
    --work "Mahler 5 Adagietto" \
    --default_start "9:00"

위 명령이 자동 실행:

  • 음향 특징 추출 (librosa)
  • 감정 좌표 매핑 (Russell V/A + GEMS)
  • stick-figure 모션 키프레임 생성
  • mel-spectrogram PNG 렌더링
  • data/manifest.json 갱신

두 번째 음원도 같은 방법으로 등록하면 비교 가능.

4. Launch web player

python3 -m http.server 8000

브라우저: http://localhost:8000/web/

프로젝트 목표

동일 악구를 지휘자별로 해석할 때 발생하는 템포·다이내믹·아고긱·프레이징의 미세한 차이를 정량 추출하고, 이를 Atlas 캐릭터의 동작·표정 파라미터에 매핑하여 직관적으로 비교 가능한 시각화 자료를 제작함.

연구 대상 레퍼토리

후기 낭만주의 대편성 작품 위주로 선정. 감정 진폭·템포 변동·해석 차이가 크게 나타나는 악구를 우선함.

Mahler

  • 교향곡 5번 4악장 Adagietto — 지휘자별 연주 시간 7~12분 변동. 가장 표준적 비교 사례.
  • 교향곡 9번 4악장 Adagio 종결부ersterbend 점진적 소멸 처리.
  • 교향곡 2번 5악장 합창 진입 직전 — 대규모 템포·다이내믹 전환점.
  • 교향곡 6번 1악장 도입부 행진곡 — 악센트 처리 차이.

Brahms

  • 교향곡 4번 4악장 Passacaglia — 30개 변주 각각 템포·아고긱 차이 명확. 정량 분석 표본.
  • 교향곡 1번 4악장 도입부 Più Andante — 알프호른 주제, Adagio→Allegro 전환부.
  • 교향곡 3번 3악장 Poco allegretto — 미세 루바토·프레이징.

Bruckner

  • 교향곡 7번 2악장 Adagio 클라이맥스 — 심벌즈 타격 유무 (Haas vs. Nowak 판본 논쟁).
  • 교향곡 8번 3악장 Adagio — 긴 호흡 프레이징, "Bruckner Pause".
  • 교향곡 9번 3악장 Adagio 종결부 — 불협화 클라이맥스 빌드업.

비교 음원 후보

iTunes Store에서 DRM-free AAC 개별 구매 권장 (Apple Music 스트리밍은 FairPlay DRM 보호로 분석 불가).

작품 지휘자 A (대조군) 지휘자 B (대조군) 비교 포인트
Mahler 5번 Adagietto Bernstein / VPO Boulez / VPO 극단적 템포 차 (느림 ↔ 빠름)
Brahms 4번 4악장 C. Kleiber / VPO Klemperer / Philharmonia 변주별 아고긱
Bruckner 7번 2악장 Karajan / BPO Celibidache / MPO 클라이맥스 빌드업, 심벌즈
Brahms 1번 4악장 Furtwängler / BPO Toscanini / NBC 도입부 템포 형성
Mahler 9번 4악장 Bernstein / BPO Karajan / BPO 종결부 소멸 처리
Bruckner 8번 3악장 Wand / NDR Celibidache / MPO "Bruckner Pause"

무료·합법 보조 음원

분석 워크플로우 검증 및 비교군 확장 목적.

  • Internet Archive (archive.org) — 퍼블릭 도메인 역사 녹음.
    • Mengelberg / Concertgebouw — Mahler 5번 Adagietto (1926)
    • Bruno Walter / VPO — Mahler 9번 (1938)
    • Furtwängler / BPO — Brahms 4번 (1948), Bruckner 7번 (1949)
  • Musopen (musopen.org) — CC 라이선스 음원.
  • IMSLP (imslp.org) — 악보 및 일부 퍼블릭 도메인 녹음.

클래식 심포니 청취 시 감정 카테고리

Atlas 모션·표정 매핑의 타깃 감정 공간 정의. 음악심리학에서 가장 표준적으로 사용되는 GEMS (Geneva Emotional Music Scale) 9개 범주(Zentner, Grandjean & Scherer, 2008)를 1차 분류로 채택하고, 연속 매핑을 위해 Russell 원형 모델(1980, valence × arousal 2D)을 보조 좌표계로 사용함.

1차 범주: GEMS 9 (이산적 분류)

범주 한국어 핵심 정서 심포니 대표 악구
Wonder 경이 감탄·경외·놀라움 Mahler 8번 1악장 도입부, Bruckner 8번 4악장 코다
Transcendence 초월 영적 고양·황홀 Mahler 9번 4악장 종결, Bruckner 7번 2악장 클라이맥스
Tenderness 애정 사랑·다정함·친밀함 Mahler 5번 Adagietto (빠른 해석), Brahms 3번 3악장
Nostalgia 향수 그리움·회상·아련함 Brahms 4번 1악장 도입부, Mahler 4번 3악장
Peacefulness 평온 안온·고요·정적 Brahms 2번 2악장, Bruckner 6번 Adagio
Power 위압·웅장·압도 Bruckner 8번 1악장 클라이맥스, Mahler 6번 1악장
Joyful Activation 활기 흥분·기쁨·약동 Beethoven 7번 4악장, Brahms 4번 3악장 Allegro giocoso
Tension 긴장 불안·예측 불가·전율 Mahler 6번 4악장 망치 타격, Shostakovich 5번 1악장 전개부
Sadness 비애 슬픔·우울·애수 Mahler 5번 Adagietto (느린 해석), Tchaikovsky 6번 4악장

2차 좌표계: Russell 원형 모델 (연속 매핑)

Atlas 모션 파라미터의 부드러운 보간을 위해 2차원 연속 공간으로 재투영함.

  • Valence (정서가) — 부정 ↔ 긍정 축
  • Arousal (각성도) — 저에너지 ↔ 고에너지 축
                  High Arousal
                       │
        Tension ───────┼─────── Joyful Activation
       (− valence)     │       (+ valence)
                       │
   Low Valence ────────┼──────── High Valence
                       │
        Sadness ───────┼─────── Tenderness
        Nostalgia      │       Peacefulness
                       │
                  Low Arousal

GEMS의 Wonder·Transcendence·Power는 valence·arousal 모두 높은 영역에 분포하며, 카타르시스적 정점에 해당함.

Atlas 모션 매핑 가이드 (제안)

감정 차원 신체 파라미터 표정 파라미터
Valence (+) 어깨 펴짐, 가슴 열림, 시선 위 입꼬리 상승, 눈매 부드러움
Valence (−) 어깨 처짐, 몸 웅크림, 시선 아래 미간 좁힘, 입꼬리 하강
Arousal (+) 동작 속도·진폭 증가, 말단(손끝) 강조 눈 크게, 호흡 빠름
Arousal (−) 동작 속도·진폭 감소, 호흡 길게 눈 반쯤 감김, 정적
Tenderness 특화 손이 가슴 쪽으로 수렴 미소, 시선 살짝 아래
Power 특화 자세 곧음, 발 단단히 디딤 결연한 시선
Tension 특화 근육 긴장, 미세 떨림 동공 확대, 굳은 표정
Transcendence 특화 시선 상방, 팔 위로 펼침 눈 감김, 입 살짝 벌림

참고 문헌 (감정 분류 관련)

  • Zentner, M., Grandjean, D., & Scherer, K. R. (2008). Emotions evoked by the sound of music: Characterization, classification, and measurement. Emotion, 8(4), 494–521.
  • Russell, J. A. (1980). A circumplex model of affect. Journal of Personality and Social Psychology, 39(6), 1161–1178.
  • Hevner, K. (1936). Experimental studies of the elements of expression in music. American Journal of Psychology, 48(2), 246–268.
  • Juslin, P. N., & Västfjäll, D. (2008). Emotional responses to music: The need to consider underlying mechanisms. Behavioral and Brain Sciences, 31(5), 559–575.
  • Eerola, T., & Vuoskoski, J. K. (2013). A review of music and emotion studies: Approaches, emotion models, and stimuli. Music Perception, 30(3), 307–340.

분석·시각화 파이프라인

audio/*.mp3
   ↓ analysis/extract_features.py     (Stage 1-1) ✅ 완료
data/features/*.json                   (RMS, centroid, tempo, onsets)
   ↓ analysis/map_emotion.py           (Stage 1-2) ✅ 완료
data/emotion/*.json                    (V, A, GEMS label per frame)
   ↓ analysis/generate_motion.py       (Stage 1-3) ✅ 완료
data/motion/*.json                     (12 joints + 3 face + breath, 10 Hz)
   ↓ web/index.html, player.js         (Stage 2)   ⏳ 진행 중
HTML5 Canvas 애니메이션 (30 fps cubic spline 보간)

세부 가정·공식·검증 결과는 analysis/README.md 참조.

참고 문헌

  • Bowen, J. A. (1996). Tempo, duration, and flexibility: Techniques in the analysis of performance. Journal of Musicological Research, 16(2), 111–156.
  • Cook, N. (2013). Beyond the Score: Music as Performance. Oxford University Press.
  • Sapp, C. S. (2008). Hybrid numeric/rank similarity metrics for musical performance analysis. ISMIR Proceedings.
  • Repp, B. H. (1992). Diversity and commonality in music performance: An analysis of timing microstructure in Schumann's "Träumerei". JASA, 92(5), 2546–2568.
  • Luck, G., & Toiviainen, P. (2006). Ensembles' synchronization with the conductor's gestures: An automated feature-extraction analysis. Music Perception, 24(2), 189–200.
  • Wöllner, C. (2008). Which part of the conductor's body conveys most expressive information? A spatial occlusion approach. Musicae Scientiae, 12(2), 249–272.

디렉토리 구조

AtlasGroove/
├── README.md
├── CLAUDE.md                              # LLM 작업 지침
├── audio/
│   ├── README.md                          # 음원 메타데이터·예측·실측
│   ├── Bernstein(1973)_*.mp3
│   └── Mengelberg(1926)_*.mp3
├── analysis/
│   ├── README.md                          # 파이프라인 설계·가정·검증
│   ├── extract_features.py                # Stage 1-1
│   ├── map_emotion.py                     # Stage 1-2
│   └── generate_motion.py                 # Stage 1-3
├── data/
│   ├── features/                          # Stage 1-1 산출
│   ├── emotion/                           # Stage 1-2 산출 (V·A·GEMS)
│   └── motion/                            # Stage 1-3 산출 (관절·표정·호흡)
└── web/                                   # Stage 2 (예정)
    ├── index.html
    ├── player.js
    └── atlas.js

라이선스·저작권 주의사항

  • 상업 음원은 개인 학술 분석 목적으로만 사용. 결과물 공유 시 음원 직접 포함 금지.
  • 시각화 결과(파라미터 곡선, 애니메이션)는 자체 생성물로서 자유 배포 가능하나, 음원과 동기화된 데모는 페어 유즈 범위 내에서 제한적 공개.
  • 퍼블릭 도메인 역사 녹음은 자유 활용 가능.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages