OnKey
좋아하는 노래를 부르는 법을 배우세요. · singonkey.app
2026년부터 샤워실 가수들을 스스로로부터 구하고 있습니다.
<p align="center">
<a href="https://singonkey.app"><img src="https://media.singonkey.app/onkey-lane-2.gif" width="800"
alt="OnKey의 노래 레인: 음표 막대가 재생 헤드 쪽으로 스크롤되고 가수의 피치가 그 위에 그려지며, 음에 맞으면 녹색입니다."></a>
<br><sub>한 번의 연주로 OnKey가 학습한 노래를 따라 부르는 나 자신. <a href="https://singonkey.app">사운드가 포함된 전체 데모</a>.</sub>
</p>
OnKey는 Mac용 무료 오픈 소스 노래 트레이너입니다. Spotify, Apple Music 또는 YouTube에서 브라우저로 노래를 재생하고 따라 부르세요. 처음에는 가사를 얻게 되며, 노래가 끝나면 OnKey가 가수의 멜로디를 학습합니다. 그 후에는 음표들이 당신 쪽으로 스크롤되고, 당신의 피치가 그 위에 그려지며, 모든 라인에 대한 보고서와 함께 점수를 받게 됩니다.
OnKey는 음악을 제공하거나 스트리밍하거나 다운로드하지 않습니다. 사용자의 자체 음악 앱이 재생합니다.
설치 (Install)
Apple Silicon (M1 이상) 및 macOS 14.2 이상을 갖춘 Mac이 필요합니다.
OnKey.dmg 다운로드 (최신 릴리스에서)를 다운로드하고, 열어서 OnKey를 응용 프로그램 폴더로 드래그하세요.
설정 과정에서는 당신의 목소리를 듣기 위한 마이크와 음악 앱을 듣기 위한 시스템 오디오 녹음을 요청합니다. 또한 OnKey가 Spotify 및 Apple Music을 추적할 수 있는지 묻는데, **듣기 전용(Listen only)**을 선택하면 소리만으로 노래를 따라갑니다.
시작하기에서 과정을 안내하며,FAQ에서는 일반적인 질문에 답변합니다.
작동 방식 (How it works)
노래가 끝나면 OnKey는 Mac에서 이를 학습합니다: 하나의 모델이 리드 보컬을 음악으로부터 분리하고, CREPE가 가수의 음높이를 추적하며, GAME 노트 모델은 이를 음절당 한 마디로 변환합니다. 나중에 재생할 때는 음악 자체로부터 위치를 찾고 사용자의 목소리를 실시간으로 추적합니다. 옥타브를 낮춰 노래해도 계산되며, 약간 늦는 것은 페널티가 없습니다.
How it works와 Scoring에서 자세한 내용을 확인할 수 있습니다.
개인정보 보호(Privacy)
OnKey는 듣는 음악을 절대 저장하지 않습니다. 재생되는 동안 메모리에서 소리를 분석합니다. 녹음 파일과 학습된 노래는 Mac에 남아 있습니다 (스피커를 통해 부른 버전에는 일부 음악이 포함될 수 있습니다). 계정, 분석 데이터(analytics), 충돌 보고서(crash reporting)가 없습니다.
다음 요청은 전송됩니다:
- Shazam (Apple): 노래를 식별하기 위해 음악 앱 소리의 짧은 시그니처(signature)가 전송되며, 오디오나 마이크는 절대 아닙니다. OnKey는 음악 앱이 무엇을 재생하는지 알려주지 않을 때 학습하지 않습니다.
- LRCLIB: 가사를 가져오기 위한 노래의 아티스트, 제목, 앨범 및 길이 정보입니다.
- iTunes Search and Lookup (Apple): 커버 이미지와 노래 길이를 위해 아티스트 및 제목 또는 Shazam이 반환한 ID가 사용됩니다. 커버 이미지는 Spotify, Apple 또는 YouTube의 이미지 호스팅 서비스에서 가져옵니다.
- GitHub: 출시 후 1분 뒤에 새 버전 확인 및 하루 한 번 다운로드를 위한 체크입니다.
설정(Settings)에는 Shazam, 가사, 업데이트 확인을 위한 스위치가 있습니다. Privacy에서는 OnKey가 보관하고 전송하는 모든 것을 나열하며, scripts/release-hosts.txt에는 릴리스에 포함된 모든 웹 주소가 나열되어 있습니다.
OnKey 공정하게 사용하기
OnKey는 집에서, 그리고 플레이할 권리가 있는 음악으로 연습하기 위한 것입니다. 다음 사항을 지켜주세요:
- 학습한 내용은 본인만 보관하세요. 각 노래 멜로디의 전사본(transcription)은 연습용이므로 공유하거나 게시하지 마세요.
- 녹음본(take)을 공유하려면 해당 페이지의 공유(Share) 기능을 사용하세요. 이 기능은 음악이 없는 본인의 목소리와 음정선(pitch line)으로 짧은 동영상을 만들며, 여기에 라이선스가 부여된 인스타그램 자체 음악 라이브러리의 노래를 추가할 수 있습니다. 헤드폰으로 녹음하는 것이 가장 좋습니다: 스피커로 부르면 노래의 일부가 녹음됩니다. 배경 음악이 재생되는 화면 녹화본을 게시하지 마세요.
- 바나 이벤트에서는 라이선스가 있는 노래방 서비스를 이용하세요. OnKey의 가사는 무료 커뮤니티 데이터베이스에서 가져온 것입니다.
- 음악을 저장하기 위해 OnKey를 수정하지 마세요.
권리 보유자는 [email protected] 또는 LEGAL.md로 연락할 수 있습니다.
도움말
앱에서 문제 신고(Report a problem) 기능을 사용하세요 (설정, 도움말 메뉴 또는 녹음본 페이지). 이 기능은 Mac에 오디오나 본인의 녹음이 없는 숫자와 로그 파일의 zip 파일을 저장하며, 원한다면 issue에 첨부할 수 있습니다. 문제 해결(Troubleshooting)에는 일반적인 문제가 다루어져 있습니다. 질문이나 박자가 맞지 않는 노래가 있나요? OnKey의 Discord에서 문의하거나, [email protected]으로 이메일을 보내세요.
소스 코드에서 빌드하기
제가 만든 버전을 신뢰하지 못한다면, 직접 구축할 수 있습니다. Apple Silicon Mac에 Xcode command line tools, Rust, Node, Python 3이 필요합니다:
git clone https://github.com/dsmurrell/onkey && cd onkey
npm install && npm --prefix ui install
python3 -m venv .venv && .venv/bin/pip install -r scripts/requirements-models.txt
...
귀하의 빌드는 자체 Mac에서 실행됩니다. 단지 할 수 없는 한 가지는 새로운 노래를 식별하기 위해 Shazam에 요청하는 것입니다. 이 기능은 저의 Apple 서명이 필요합니다. Spotify와 Apple Music은 스스로 재생 중인 것을 알려주기 때문에, 이는 YouTube와 Listen만 영향을 받습니다. [CONTRIBUTING.md]에는 세부 정보, 테스트 및 릴리스의 체크섬을 확인하는 방법이 나와 있습니다. 제 릴리스는 저의 Apple Developer ID로 서명되었으며 Apple에 의해 공증(notarised)되었습니다 (spctl -a -vv /Applications/OnKey.app가 누가 서명했는지 보여줍니다).
라이선스 및 크레딧 (Licence and credits)
MIT. LICENSE를 참조하십시오. 수정된 버전은 OnKey라고 불리거나 그 아이콘을 사용할 수 없습니다. 만약 OnKey의 코드를 기반으로 빌드한다면, 여기로 연결되는 출처 표기(credit)가 감사하게 받아들여집니다.
OnKey는 CREPE, GAME, wav2vec 2.0 및 UVR의 MDX-Net Karaoke 2를 사용하여 노래를 학습합니다. credits에는 각각이 나열되어 있으며, THIRD_PARTY_NOTICES.md에 전체 공지 사항 및 라이선스 텍스트가 있습니다.
<img src="https://raw.githubusercontent.com/dsmurrell/onkey/HEAD/site/public/dsmurrell.png" alt="" width="16" height="16"> OnKey는 Daniel Murrell이 제작했습니다.