chrome-v1.3.0
·
346 commits
to master
since this release
Everyric Chrome 확장 1.3.0
실사용 피드백 26건을 정리한 릴리스입니다. PiP 창이 곡을 넘겨도 살아남고, 가사를 못 찾으면 유튜브 자막으로 자동 폴백하며, 서버 문제가 생기면 무엇이 잘못됐는지 화면에 말해 줍니다. 일본어 곡의 원문 글자 타이밍도 실측 기반으로 바뀌었습니다.
PiP 창
- 곡이 바뀌어도 창이 살아남습니다. 예전에는 재생목록을 돌리다 싱크 없는 곡이 나오면 PiP가 그냥 사라져서, 브라우저 창으로 돌아가 다시 띄워야 했습니다. 이제 창 안에서 검색·붙여넣기·싱크 생성 요청까지 그대로 할 수 있습니다 — 메인 가사창의 UI 조각을 PiP와 공유합니다.
- 재생 컨트롤 — 스페이스바로 재생/일시정지, 좌우 화살표로 5초 시크, 이전/다음 곡 버튼, 재생목록 목록(재생목록이 없는 페이지에서는 버튼이 숨습니다).
- 창 크기를 기억합니다. 위치는 브라우저가 관리하는 영역이라 확장이 지정할 수 없습니다(Document PiP 스펙에 위치 API가 없습니다). 다만 곡마다 창이 닫혔다 열리던 게 없어져서 위치도 훨씬 덜 흔들립니다.
- 다크/라이트 테마가 메인 창과 일치합니다. 예전에는 PiP가 테마 설정을 무시하고 늘 어두웠습니다.
- 세로 폭이 좁을 때 일본어 원문 아래가 잘리던 문제를 고쳤습니다.
- 가라오케 발음 표기를 노트 위 / 화면 하단 중에서 고를 수 있습니다.
가사 찾기
- 유튜브 자막 자동 폴백 — 어디에서도 가사를 못 찾으면 영상 자체 자막을 가사로 띄웁니다. 곡 언어를 자동으로 판정하고(자동 생성 자막의 언어가 원어라는 신호를 씁니다), 사람이 작성한 한국어 자막이 따로 있으면 번역으로 함께 보여줍니다. 자막을 직접 고르는 단계는 없어졌습니다.
- 가사를 못 찾으면 검색 링크 — 나무위키·구글·Genius로 곡 제목·아티스트를 넘겨 새 탭에서 찾을 수 있습니다. 스크래핑이 아니라 링크만이라, 클릭하면 사용자의 브라우저가 직접 방문합니다.
- 붙여넣기 출처 기록 — 어디서 가져온 가사인지 선택적으로 남길 수 있습니다.
- 파트 표기·주석 자동 제외 —
[Verse]·(Chorus)·1절·간주같은 줄을 걸러냅니다. 가사 안에 그 단어가 들어간 문장(후렴이 끝나면 너를 만나)은 지우지 않고, 몇 줄을 제외했는지 알려 줍니다. - 커버 자동 연결 — 같은 곡의 다른 영상을 처음 열면 서버가 후보를 찾아 반주를 비교하고, 같은 곡으로 확인되면 원곡 싱크를 오프셋을 맞춰 보여줍니다. 판정은 제목이 아니라 소리가 하고, 검증된 연결과 수동 연결이 구분돼 표시됩니다.
서버 문제가 생겼을 때
- 무엇이 잘못됐는지 말해 줍니다. 예전에는 API 키가 틀려도, 서버가 꺼져 있어도 화면에는 "가사를 찾지 못했어요"만 떴습니다. 이제 연결 불가·인증 실패·서버 오류·타임아웃을 구분해 사유와 원인 코드를 보여주고, [다시 확인]·[설정 열기] 버튼과 접히는 최근 요청 기록이 붙습니다. API 키는 화면·로그·URL 어디에도 노출되지 않습니다.
- 서버를 못 쓰면 되는 척하지 않습니다. 싱크 생성처럼 서버가 필요한 조작은 잠그고 이유를 알려 주되, 유튜브 자막 폴백이나 검색 링크처럼 서버가 필요 없는 기능은 계속 동작합니다.
재생 중 표시
- 다른 영상으로 넘어갈 때 상태가 확실히 초기화됩니다. 곡 인식에 실패하거나 서버가 잠깐 흔들릴 때, 이전 곡의 가사·노트·오프셋이 내부에 남아 있던 문제를 고쳤습니다.
- PiP 안 영상이 다음 곡으로 갱신됩니다.
- 되감기하면 하이라이트가 원복됩니다. 이전 줄을 클릭해 돌아가도 그 이후 줄이 "이미 부른" 노란색으로 남아 있던 문제를 고쳤습니다.
정확성 (서버 쪽 변경이지만 체감되는 것)
- 일본어 곡 원문 글자 타이밍 — 그동안 원문 글자 시각은 오디오를 직접 잰 값이 아니라 발음에서 되돌린 계산값이라, 여러 글자가 한꺼번에 점등했습니다. 이제 원문으로도 정렬해 실측 분포를 씁니다. 실측: 3글자 이상 동시 점등이 38
45%에서 01%로, 시간 폭이 0인 글자가 55~62%에서 2%대로 내려갔습니다. - 언어 판정 수정 — 라틴 문자가 많은 일본어 곡과 한영 혼용 곡이 영어 모델로 정렬돼 한글·가나를 아예 표현할 수 없던 문제를 고쳤습니다. 실측: 어떤 일본어 곡이 32/52줄만 정렬되고 오차 중앙 12.7초였던 것이 52/52줄·0.16초가 됐습니다.
- 번역·독음 — 응답을 순서가 아니라 원문 텍스트로 맞춰, 한 줄이 누락되면 이후 전체가 한 칸씩 밀리던 버그를 없앴습니다. 한국어 곡을 한국어로 다시 번역하던 문제, 곡 중간의 독음·번역이 비던 문제도 고쳤습니다.
- 싱크 생성이 빨라졌습니다 — 번역을 여러 배치로 나눠 동시에 요청하고, 번역을 기다리는 동안 오디오 다운로드와 보컬 분리를 함께 진행합니다.
디버그 모드
가라오케 뷰에 CTC 실측 타이밍 레인이 추가됐습니다. 원문 글자와 발음 음절을 시간축 두 줄로 그리고, 각 눈금 위에 그 글자·음절을 표시합니다. 색은 정렬 신뢰도이고, 시간 폭이 0인 글자는 막대 없이 눈금만 남아 뭉침이 바로 보입니다. 보정이 적용된 줄은 보정 전 위치를 흐린 점선으로 함께 보여줍니다.
설치
Chrome은 웹스토어 외부 확장의 일반 설치를 막기 때문에 개발자 모드로 로드합니다.
- 아래 Assets에서
Everyric-Chrome-1.3.0.zip을 받아 압축을 풉니다. chrome://extensions접속 → 우상단 개발자 모드 켜기.- 압축해제된 확장 프로그램 로드 → 압축 푼 폴더 선택.
- 유튜브에서 음악 영상을 열면 패널이 뜹니다 (툴바 아이콘으로 토글).
서버 기능(싱크 생성·저장된 싱크 조회)을 쓰려면 설정에서 API 키를 입력해야 합니다. 서버 주소는 기본값이 채워져 있습니다.
알려진 제약
- PiP 창 자체를 반투명하게 만들 수는 없습니다. Document PiP 스펙에 창 투명도가 없고, 관련 요청 이슈가 아직 열려 있습니다. 콘텐츠 배경만 투명하게 해도 그 뒤로 보이는 것은 데스크톱이 아니라 브라우저가 그리는 불투명한 배경입니다.
- 이전/다음 곡·재생목록 기능은 유튜브의 비공식 마크업에 의존합니다. 유튜브가 구조를 바꾸면 버튼이 조용히 비활성화됩니다(확장이 죽지는 않습니다).
Full Changelog: chrome-v1.2.1...chrome-v1.3.0