Releases: countnine/musebase
Release list
Musebase 0.18.0
곡이 무엇에 대한 노래인지 앱에서 바로 볼 수 있습니다.
새로운 것
- 이 곡의 의미 — 트레이 메뉴의
이 곡의 의미…를 누르면 가사 서버가 만들어 둔 한국어 해설이 뜹니다.
출처(Genius · Last.fm · Wikipedia)는 눌러서 원문으로 갈 수 있습니다. 가사가 없는 곡에서도 열립니다.
가사 서버를 쓰지 않으면 안내 한 줄만 나옵니다 — 기존 기능에는 아무 영향이 없습니다.
고친 것
- 같은 곡을 아티스트 표기 차이로 두 번 받아오던 문제 —
A/B·A, B·A & B·A feat. B를
같은 곡으로 봅니다(서버 쪽 수정과 함께 동작).
가사 서버를 쓰는 경우
의미는 서버가 미리 만들어 둔 것을 읽기만 합니다. 만드는 것은 서버 관리자 화면에서 사람이
누를 때만 일어납니다(쿼타·비용을 통제하기 위해). 서버 설정은 src/Musebase.Server/deploy/README.md 참고.
🤖 Generated with Claude Code
Musebase for Android 0.6.0 (사이드로드)
곡이 무엇에 대한 노래인지 앱에서 바로 볼 수 있습니다.
새로운 것
- 이 곡의 의미 — 상단 아이콘 바의 ⓘ 를 누르면 가사 서버가 만들어 둔 한국어 해설이 뜹니다.
출처(Genius · Last.fm · Wikipedia)도 함께 표시됩니다. 가사 서버를 쓰지 않으면 보이지 않습니다.
고친 것
- 같은 곡을 아티스트 표기 차이로 두 번 받아오던 문제 —
A/B·A, B·A & B·A feat. B를
같은 곡으로 봅니다(서버 쪽 수정과 함께 동작).
설치
사이드로드용 APK입니다. 이전 버전이 설치돼 있고 서명이 달라 설치가 막히면 기존 앱을 지운 뒤 설치하세요.
🤖 Generated with Claude Code
Musebase for Android 0.5.0 (사이드로드)
Android 사이드로드용 프리릴리스입니다. 아래 APK를 받아 설치하세요 (Play 스토어 배포본 아님, 디버그 키 서명).
0.4.0 이후 변경
Spotify 광고 자동 뮤트 (이번 릴리스의 핵심, 기본 꺼짐)
설정 [광고 뮤트] 탭에서 켜면 Spotify 광고 구간에만 미디어 볼륨을 0으로 내리고,
곡이 돌아오면 되돌립니다. Spotify 앱은 전혀 건드리지 않습니다.
앱별 음소거가 아닙니다. 안드로이드에는 특정 앱의 볼륨만 조절하는 기능이 없어
기기 전체 미디어 볼륨이 내려갑니다 (그동안 다른 앱 소리도 함께 사라집니다).
설정 화면에도 같은 안내가 있습니다.
주요 동작:
- 광고 중 볼륨 키를 누르면 그 광고는 건드리지 않습니다. 볼륨을 두고 다투지 않습니다.
다음 광고가 시작되면 다시 내립니다 - 연속 광고 사이에도 음소거를 유지합니다. Spotify 광고는 보통 2개가 이어지는데,
그 사이에 볼륨이 잠깐 돌아오면 광고 소리가 새어 나옵니다 - 볼륨을 0으로 남기지 않습니다. 앱이 광고 도중 강제 종료돼도 다음 실행에서 되돌립니다.
광고 중 일시정지하고 자리를 떠도 5초 뒤 볼륨이 돌아옵니다 - 최대 뮤트 시간(기본 180초)을 넘기면 감지가 실패한 것으로 보고 강제로 되돌립니다.
실측된 광고 구간이 55~58초이니 이보다 짧게 잡지 마세요
가사 표시·번역·오버레이 동작은 그대로입니다. 광고 뮤트를 켜지 않으면 이전과 완전히 같습니다.
알려진 제한
- Spotify 전용입니다. 다른 앱이 광고 정보를 어떻게 내보내는지 확인된 바 없어
com.spotify.music에서만 동작합니다 - Windows판의 "음소거 중 MP3 재생"은 넣지 않았습니다. 미디어 볼륨 전체가 내려가므로
채우기 음악도 함께 사라집니다. 우회 방법은 기기마다 소리가 스피커로 새는 등 부작용이 있어
따로 검토가 필요합니다
실기기 검증
Galaxy SM-S947N / Android 16 / Spotify 9.1.68.1888 / 무료 계정에서 광고 구간을 여러 번
관측하며 만들었습니다. 광고 감지·음소거·복구, 강제 종료 후 볼륨 복구, 볼륨 키 개입,
연속 광고 처리를 확인했습니다.
아직 확인하지 못한 것: 최대 뮤트 시간 초과 시 강제 복구, Spotify 외 앱에서의 무반응,
그리고 이 Release 빌드 자체의 실기기 구동(검증은 Debug 빌드로 진행했고, 릴리스 APK를
만든 시점에 기기가 분리돼 있었습니다). 설치 후 첫 실행이 정상인지 한 번 확인해 주세요.
광고가 안 잡히면
adb shell setprop log.tag.Musebase VERBOSE 후 adb logcat -s Musebase:V의 ad-signals
줄을 보면 Spotify가 실제로 무엇을 내보내는지 알 수 있습니다
(삼성 기기는 이 설정 없이는 앱 로그가 아예 나오지 않습니다).
Musebase 0.17.0
Merge pull request #25 from countnine/chore/multi/release-0.17.0 release: windows 0.17.0 + android 0.4.0
Musebase for Android 0.4.0 (사이드로드)
Android 사이드로드용 프리릴리스입니다. 아래 APK를 받아 설치하세요 (Play 스토어 배포본 아님, 디버그 키 서명).
0.3.0 이후 변경
개인 가사 서버 연동 (이번 릴리스의 핵심)
여러 기기를 쓸 때 한 번 찾은 가사를 모든 기기가 함께 쓰도록 하는 기능입니다. PC에서 들은 곡을 폰에서 다시 들어도 가사 검색과 유료 번역을 반복하지 않습니다.
- 설정 → [재생 소스] 탭 아래쪽 "개인 가사 서버"에 주소와 토큰을 넣으면 됩니다(저장 즉시 반영)
- 조회 순서는 로컬 캐시 → 서버 → 제공자 검색. 로컬에 없는 곡만 서버로 갑니다
- 서버에서 받은 가사는 번역까지 함께 오고, 로컬 캐시로 승격되어 다음부터는 오프라인에서도 뜹니다
- 주소를 넣지 않거나 서버에 못 붙으면 동작이 이전과 똑같습니다 — 2.5초 타임아웃 뒤 평소대로 검색하고, 연속 실패 시 60초간 서버를 건너뜁니다(느려지지 않습니다)
- 주소는 반드시
https://를 쓰세요(Android는 평문 http를 차단합니다). Tailscale 등으로 서버에 닿을 수 있어야 합니다
서버는 직접 준비해야 합니다 — 설치·운영은 저장소의 src/Musebase.Server/deploy/README.md, 사용법은 docs/lyrics-server-guide.md를 보세요.
기타
- 0.3.0에서 넣은 전체 가사 스크롤·재생 컨트롤·버블 모드·가사 검색·오버레이 스타일 등은 그대로입니다.
설치 후 첫 실행 시 권한 3가지
- 알림 접근 — 재생 중인 곡 감지에 필요(설정 → 알림 접근에서 Musebase 켜기)
- 알림 표시 — 곡명·번역 상태 알림에 필요(Android 13+)
- 다른 앱 위에 표시 — 가사 오버레이에 필요
🤖 Generated with Claude Code
Musebase 0.16.0
Merge pull request #20 from countnine/chore/multi/release-0.16.0 release: windows 0.16.0 + android 0.3.0
Musebase for Android 0.3.0 (사이드로드)
Android 사이드로드용 프리릴리스입니다. 아래 APK를 받아 설치하세요 (Play 스토어 배포본 아님, 디버그 키 서명).
0.2.0 이후 변경
메인 화면 개편
- 전체 가사 스크롤 — 곡의 모든 줄을 보여 주고 현재 줄을 흰색·굵게 강조하며 화면 가운데로 자동 스크롤(Apple Music 가사 방식). 손으로 스크롤하면 5초간 자동 스크롤을 양보합니다.
- 재생 컨트롤(이전/재생·정지/다음) — 재생 앱이 지원하는 버튼만 활성화됩니다.
- 나머지 기능은 우상단 아이콘 바로: 가사 검색 · 틀린 가사 표시 · 오버레이 토글 · 위치 이동 · 설정 · 앱 종료
- 권한은 빠졌을 때만 배너로 안내(다 갖춰지면 사라져 가사 공간이 됩니다).
- 번역이 완료되면 화면의 가사가 즉시 번역본으로 교체됩니다.
가사 관리
- 가사 검색·선택 — 제목/아티스트로 4개 제공자를 동시 검색해 품질 순 후보를 보여 주고, 미리 본 뒤 적용합니다.
- 틀린 가사로 표시 — 잘못 잡힌 가사를 지우고 이후 표시하지 않습니다.
오버레이
- 기본 위치가 제스처 바·내비게이션 바를 피해 잡힙니다.
- 위치 이동 — 알림바 "위치 이동" 또는 앱 아이콘으로 드래그 이동(세로 모드는 가로 가운데 고정, 높이만 조절). 위치는 비율로 저장돼 회전해도 화면 밖으로 나가지 않습니다.
- 버블(플로팅) 모드 — 작은 원을 탭하면 가사가 펼쳐지고 다시 탭하면 접힙니다. 길게 누르면 퀵 메뉴(앱 열기 · API 번역 토글 · 위치 이동 · 앱 종료), 드래그하면 가장자리에 붙고 하단 포켓(✕)에 놓으면 오버레이가 꺼집니다. 접혀 있어도 새 가사 줄이 나오면 잠깐 펼쳐 보여 줍니다.
- 페이드 인/아웃, 간주 등 빈 구간에서는 표시하지 않습니다(글자 없는 카드가 뜨던 문제 수정).
- 알림 본문을 터치하면 앱이 열립니다.
설정
- 기능별 탭으로 분리: 재생 소스 / 번역 / 오버레이
- 오버레이 스타일 — 글자 크기, 모서리, 배경 표시·불투명도, 색 4종(팔레트에서 선택 또는 직접 입력), 페이드, 글자 단위 카라오케, 대상 언어 번역만 표시 (Windows판과 같은 항목)
- 선호 음악 앱 다중 선택 — Spotify·Apple Music·삼성 뮤직 등 설치된 음악 앱 중에서 고르면 그 앱들만 인식합니다(팟캐스트·YouTube 영상 차단). 비우면 자동.
기타
- 앱 완전 종료 — 오버레이·재생 감지·알림 리스너 바인드까지 정리합니다. 앱을 다시 열면 권한 재설정 없이 그대로 복구됩니다.
설치 후 첫 실행 시 권한 3가지
- 알림 접근 — 재생 중인 곡 감지에 필요(설정 → 알림 접근에서 Musebase 켜기)
- 알림 표시 — 곡명·번역 상태 알림에 필요(Android 13+)
- 다른 앱 위에 표시 — 가사 오버레이에 필요
🤖 Generated with Claude Code
Musebase 0.15.0
Merge pull request #19 from countnine/chore/windows/release-0.15.0 Release windows-v0.15.0
Musebase for Android 0.2.0 (사이드로드)
사이드로드용 APK입니다(디버그 키 서명 — Play 스토어 배포본이 아닙니다).
0.1.0 이후 추가된 것
- 다른 앱 위 가사 오버레이 + 글자 단위 카라오케 — 재생 중일 때만 하단에 표시, 터치는 완전 통과
- 설정 화면 — 재생 소스 · 번역 엔진 · API 키 · 대상 언어를 앱에서 바로 변경(재시작 불필요)
- 번역 엔진 선택 — MyMemory(무료·무키) / DeepL / Google Cloud Translation / 끄기.
키 입력란이 선택한 엔진을 따라가고, 엔진을 바꿔도 입력값은 엔진별로 보관됩니다 - API 번역 사용 토글 — 끄면 새 번역 요청 없이 캐시된 번역만 표시(유료 API 사용량 차단),
다시 켜면 재생 중인 곡부터 즉시 번역 - 선택 엔진 실패 시 무료(MyMemory) 자동 전환 옵션(기본 꺼짐)
- 재생 소스 선택 — 자동 감지 / 특정 앱 고정. 자동 모드에서는 영상·브라우저 앱(YouTube·크롬 등)을 기본 제외해
음악이 아닌 영상에 엉뚱한 가사가 뜨는 것을 막습니다(YouTube Music은 음악 앱이라 항상 포함) - 알림바에 곡명 + 가사/번역 상태 표시와 "번역 끄기/켜기" · "정지" 액션
설치 · 첫 실행
- APK 설치(출처를 알 수 없는 앱 허용 필요) → 앱 실행
- 알림 접근 권한 허용(재생 감지) — 버튼으로 시스템 설정 열기
- 알림 표시 권한 허용(Android 13+) — 없으면 곡명·상태 알림이 뜨지 않습니다
- 오버레이 권한 허용 후 "가사 오버레이 켜기"
가사·번역 캐시는 앱 내부(FilesDir/translations.db)에 저장되며, API 키도 앱 private 영역에 저장됩니다
(디스크 암호화는 아닙니다 — 루팅/백업 추출 시 노출 가능).
Musebase 0.14.0
Merge pull request #16 from countnine/chore/windows/release-0.14.0 Release windows-v0.14.0