TECH 으로 돌아가기
TECH HACKER NEWS 6분 읽기 34 READS

맥에서 음악을 '듣고' 배우는 노래 연습 앱, OnKey

맥에서 음악을 '듣고' 배우는 노래 연습 앱, OnKey
SOURCE IMAGE · HACKER NEWS

노래방 점수 앱이나 음정 교정 서비스는 새롭지 않다. 다만 대부분은 전용 반주 데이터베이스나 미리 정제된 음원 라이브러리에 의존한다. 최근 해커뉴스에 공개된 오픈소스 프로젝트 'OnKey'는 그 전제를 뒤집는다. 개발자 본인이 "노래를 못해서 어디서 음이 틀어지는지 보여주는 앱을 만들었다"고 소개한 이 도구는, 사용자가 스포티파이·애플 뮤직·브라우저의 유튜브에서 실제로 재생하는 음악을 그대로 듣고 멜로디를 학습한다. 앱 자체는 음악을 제공하거나 스트리밍·다운로드하지 않으며, 재생은 어디까지나 사용자의 음악 앱이 담당한다.

한 번 재생하면 곡을 '학습'한다

동작 방식은 두 단계로 나뉜다. 처음 어떤 곡을 틀면 OnKey는 가사를 띄워주고, 곡이 끝나는 시점에 그 노래의 보컬 멜로디를 맥 안에서 학습한다. 이 과정에서 먼저 리드 보컬을 반주에서 분리하고, CREPE라는 음정 추적 모델이 원곡 가수의 피치를 따라가며, 'GAME' 노트 모델이 이를 음절당 한 마디 단위의 악보로 변환한다. 두 번째 재생부터는 앱이 음악 자체의 소리만으로 현재 재생 위치를 찾아내고, 사용자의 목소리를 실시간으로 추적한다. 노트가 화면 앞으로 흘러오고 그 위에 사용자의 피치가 겹쳐 그려지며, 곡이 끝나면 각 줄별 리포트가 포함된 점수가 나온다.

채점 방식에는 실사용을 배려한 장치가 들어 있다. 한 옥타브 낮춰 불러도 정답으로 인정되고, 박자가 살짝 늦는 것은 감점하지 않는다. 음역대가 맞지 않아 낮게 부르는 경우가 흔한 아마추어 환경을 감안한 설계로 볼 수 있다.

로컬 처리를 전제로 한 프라이버시 구조

기술적으로 눈에 띄는 대목은 처리 전 과정이 기기 안에서 끝난다는 점이다. OnKey는 들은 음악을 저장하지 않고 재생되는 동안 메모리에서만 분석하며, 사용자의 녹음과 학습한 곡 데이터는 모두 맥에 남는다(스피커로 음악을 틀고 부른 녹음에는 음악 소리가 일부 섞일 수 있다고 명시한다). 계정이 없고, 분석 수집(애널리틱스)도, 크래시 리포팅도 없다고 밝힌다. 설정에서 Shazam, 가사, 업데이트 확인을 각각 켜고 끌 수 있고, 'Privacy' 문서에 앱이 보관·전송하는 항목이 정리돼 있으며, 릴리스에 포함된 모든 웹 주소는 scripts/release-hosts.txt에 나열된다.

설치 시에는 사용자의 목소리를 듣기 위한 마이크 권한과 음악 앱 소리를 듣기 위한 시스템 오디오 녹음 권한을 요청한다. 스포티파이·애플 뮤직을 따라가도록 허용할지도 묻는데, 'Listen only'를 고르면 재생 제어 연동 없이 소리만으로 곡을 따라간다. 문제 신고 기능은 오디오나 사용자 녹음 없이 수치와 로그만 담은 zip을 로컬에 생성해, 사용자가 원할 때 직접 첨부하도록 한다.

실무자가 참고할 만한 지점과 한계

이 프로젝트는 오디오 파이프라인을 로컬에서 조합하려는 개발자에게 하나의 레퍼런스가 된다. 보컬 분리에는 UVR의 MDX-Net Karaoke 2, 음정 추적에는 CREPE, 그 외 wav2vec 2.0과 GAME 모델이 쓰였고, 이들을 분리→피치 추적→악보화로 이어 붙여 '재생 중인 임의의 곡'을 다루게 만든 점이 핵심이다. 상용 반주 DB 없이 사용자의 재생 음원에서 바로 멜로디를 뽑아낸다는 접근은, 라이선스가 정제된 데이터셋에 묶이지 않는다는 실용적 이점이 있다. 라이선스는 MIT지만 수정본은 OnKey 이름과 아이콘을 쓸 수 없다는 조건이 붙는다.

실행 환경 제약은 분명하다. 애플 실리콘(M1 이상)과 macOS 14.2 이상이 필요하며, 윈도우나 인텔 맥은 대상이 아니다. 배포 빌드를 신뢰하지 않는다면 Xcode 커맨드라인 도구와 Rust·Node·Python 3를 갖춘 환경에서 직접 빌드할 수 있는데, 다만 새 곡 이름을 Shazam으로 조회하는 기능만은 개발자의 애플 서명이 필요해 자체 빌드에서는 동작하지 않는다. 스포티파이와 애플 뮤직은 재생 곡 정보를 스스로 알려주므로, 이 제약은 유튜브와 'Listen only' 모드에만 영향을 준다.

정리하면 OnKey는 '집에서, 권리가 있는 음악으로' 노래를 연습한다는 좁고 분명한 용도를 겨냥한 도구다. 재생 음원에 의존하므로 음질이나 분리 정확도가 환경에 좌우될 여지가 있고, 저작권 측면에서도 사용자 재생을 전제로 선을 긋고 있다. 상용 서비스를 대체한다기보다는, 로컬 오디오 처리와 프라이버시를 우선하는 설계가 어떤 모습일 수 있는지를 보여주는 사례로 읽는 편이 적절하다.

SOURCE · HACKER NEWS
원문 전체 보기 → https://github.com/dsmurrell/onkey
SHARE
NEXT · CHOOSE

변화를 읽었다면,
내가 만들 수익 구조를 고릅니다.

정보를 더 모으는 데서 멈추지 않고, 광고·외주·판매·중개·구독 중 내 상황에 맞는 출발점을 정해보세요.

21가지 수익 구조 살펴보기 →
처리 중...