IUEM — 부르면 AI가 채점하고, 다음 곡을 골라 준다

AI(Suno)로 만든 곡을 노래방처럼 부르면 음정·박자를 재고 발성까지 진단해 코칭과 다음 곡을 주고, 리듬 게임으로 치면 판정이 바로 터진다. 이 사이트는 그 서비스를 만들며 실제로 막혔던 것과 넘은 방법을 남긴 기록이다.

문제와 극복 보기 프로젝트 소개


핵심 흐름

단계 하는 일 쓰는 것
1. 곡 준비 완성곡에서 보컬을 분리하고, 보컬에서 정답 음표를 뽑고, 가사 줄마다 시작 시각을 맞춘다 Demucs · librosa pyin · faster-whisper
2. 부른다 반주가 흐르고 정답 음표가 다가온다. 내 목소리가 선으로 그려지고 가사가 차오른다 Web Audio · YIN · Canvas
3. 채점한다 화면은 20ms 마다 판정하고, 제출하면 서버가 녹음을 정답 음표와 다시 맞춰 최종 점수를 낸다 같은 규칙의 TS / Python 채점기
4. 진단한다 같은 음높이 곡선을 한 번 더 읽어 어디가 어떻게 무너졌는지를 잰다 — 음정이 쏠린 방향, 고음·저음 중 약한 쪽, 음 잡는 시간, 편한 음역 순수 함수(도메인)
5. 다음 곡 그 약점을 피해 가는 곡을 고른다. 고음이 약하면 낮은 곡, 박자가 흔들리면 느린 곡 PostgreSQL · 규칙 기반 코칭

리듬 게임은 같은 원곡에서 박과 소리 시작점을 찾아 4키·7키 × 쉬움·보통·어려움 채보 6개를 자동으로 만든다.

지금 숫자로 보면

  • 실제 Suno 곡 7곡이 운영에서 돌아간다. 그중 5곡은 노래방 악보(정답 음표 + 가사 타이밍)까지 있다.
  • 브라우저 채점기와 서버 채점기는 같은 입력에서 1점 차 안으로 맞는다(같은 규칙, 서로 다른 언어).
  • 발성 진단이 심어 둔 결함을 되찾는다. 일부러 저음 −30센트·고음 −80센트로 부르게 하면 진단이 “평균 −52센트, 아래로 쳐짐 100%, 고음 0% / 저음 100%” 를 집어낸다.
  • 반주를 MP3 로 바꿔 곡 하나의 전송량이 40MB → 5.4MB (86% 감소).
  • 리듬 게임 7키 어려움(486노트)을 정확히 치면 1,000,000점 풀 콤보가 나온다.

기준 2026-09-30.