MIDI 파일의 악보 정보(tempo, velocity, note density, interval, chroma)를 heuristic하게 분석하여 5축 감정 값을 계산한다.
| Axis | Score Range | Key Heuristics | ||
| Serenity | 0-100 | Slow tempo (-30), low vel_stdev (-15), low NPM (-15), consonant (-10), major (-10), legato (-10) | ||
|---|---|---|---|---|
| Warmth | 0-100 | Medium tempo (-20), rich vel_stdev (-15), moderate NPM (-10), consonant (-15), major (-10) | ||
| Transcend | 0-100 | Slow tempo (-15), wide vel_stdev (-15), long duration (-15), multi-track (-15), wide range (-10), minor (-10) | ||
| Tension | 0-100 | High vel_mean (-15), dissonant (-15), minor (-15), high NPM (-10), extreme tempo (-10), complex (-10) | ||
| Joy | 0-100 | Fast tempo (-20), major (-15), consonant (-10), high vel_mean (-10), staccato (-10) |
| Op | Meaning | Formula | ||
| Project | 투영 (작품의 감정 강도) | min(100, 60 + gate_score // 5) | ||
|---|---|---|---|---|
| Mirror | 미러링 (듣는 이의 공명) | min(100, 50 + tempo_bpm // 4) | ||
| Manipulate | 조작 (감정 유도력) | min(100, 30 + track_count * 8) |
협화음 판별 (interval class 기준):
Chroma class 3(Eb, minor 3rd) vs 4(E, major 3rd) 비율로 minor/major 판단.