Releases: onpe5679/Everyric2
Release list
engine-v0.3.0
everyric2 엔진 0.3.0
정렬기가 통째로 바뀌었어요. 상업적으로 쓸 수 없는 모델(MMS, CC-BY-NC)이 핵심 정렬을
맡고 있던 걸 걷어내고, 새 정렬 스택(OWSM-CTC v4 1B · omniASR-CTC 앵커 + BS-PolarFormer
분리기 + 2패스 정밀화)으로 갈아탔습니다. 정렬 품질이 올라갔고, 라이선스 구성도 훨씬
깨끗해졌어요.
자체 호스팅 중이시면 §업그레이드를 꼭 보고 올려 주세요 — 이번 버전부터 서버와 워커를
반드시 함께 재기동해야 합니다.
무엇이 달라졌나
정렬 스택 전면 교체
| 이전 | 지금 | |
|---|---|---|
| 정렬 음향모델 | facebook/mms-1b-all |
OWSM-CTC v4 1B + omniASR-CTC-300M |
| 보컬 분리 | htdemucs | BS-PolarFormer(fp16) |
| 2패스 정밀화 | 없음 | omniASR 재사용 |
곡마다 세 단계 중 필요한 만큼만 씁니다 — 대부분은 fast(분리 없이 앵커만)에서 끝나고,
정렬 신뢰도가 낮으면 자동으로 medium/heavy로 올라가 분리·정밀화를 태웁니다. 사용자가
직접 「분석 깊이 올리기」로 요청할 수도 있어요.
분리를 함께 태운 조합은 앵커만 썼을 때보다 +26.7pp 좋아졌습니다. 그래서 medium/heavy
에서는 분리를 필수로 두고, 자산이 없으면 조용히 낮은 품질로 떨어지는 대신 명시적으로
실패하게 했어요.
속도
같은 엔진을 쓰는 두 번째 곡부터 모델을 다시 안 올립니다(웜 캐시). 짧은 곡에서는 이
적재 시간이 전체의 40%를 넘기도 했어요. 다만 heavy 깊이의 OWSM은 매번 별도 프로세스를
띄우는 구조라 이 혜택을 못 받습니다(§알려진 한계).
정직해진 표시
- fast로 도는 곡에 「보컬 분리」 단계가 뜨던 것 — 실제로 안 하는 작업이었습니다. 이제
실제로 분리할 때만 표시돼요. - 남은 시간(ETA)이 분석 깊이가 올라가는 순간 그에 맞게 다시 계산됩니다.
- 저장 기록의 엔진 이름이 실제 사용 엔진으로 남습니다(예전엔 신 스택으로 돌아도
ctc로
적혔어요).
새 기능
- 남은 횟수 API — 싱크 생성·초기화·커버 잇기·정렬 업그레이드 각각의 잔여와 회복
시각. 정렬 업그레이드는 생성과 별도 예산(기본 10회/24시간)입니다. - 공지 다국어 — 공지에 언어별 본문을 실을 수 있고, 없으면 기본 언어로 표시됩니다.
- 가사 출처 정확도 — 같은 곡의 롱/숏 버전을 영상 제목으로 가려내고, 동명이곡 오채택도
줄였습니다.
라이선스
이번 교체의 직접 동기입니다. 이전 스택의 핵심 정렬 모델이 비상업 라이선스였어요.
| 구성요소 | 모델 | 라이선스 | 상업 사용 |
|---|---|---|---|
| 정렬 앵커(주력) | facebook/omniASR-CTC-300M |
Apache-2.0 | 가능 |
| 정렬 앵커(heavy 전용) | espnet/owsm_ctc_v4_1B |
CC-BY-4.0 | 판단 필요(아래) |
| 보컬 분리 | BS-PolarFormer fp16 (ZFTurbo MSST) | MIT | 가능 |
| 영어 발음 사전 | CMU Pronouncing Dictionary(동봉) | BSD 계열 (Carnegie Mellon) | 가능 |
| 중국어 발음 | pypinyin |
MIT | 가능 |
이전 스택: 정렬 모델 facebook/mms-1b-all이 CC-BY-NC-4.0(상업 부적합), 분리기
htdemucs는 가중치 라이선스가 불명확한 상태였습니다.
솔직하게 적으면 — "이제 완전히 자유롭다"는 과장입니다. 가장 위험했던 MMS는 확실히
해소했고, 주력 앵커(omniASR)는 깨끗합니다. 다만 heavy 깊이에서만 쓰는 OWSM은 가중치
자체는 CC-BY-4.0으로 허여됐지만 훈련 데이터에 NC/ND 코퍼스가 섞여 있어(논문 부록에
명시) 「가중치가 데이터 제약을 물려받는가」라는 미확정 영역이 남습니다. 판단이 필요한
영역으로 남겨 둡니다.
멜로디 추출(RMVPE/FCPE)은 이번 교체 대상이 아니고, 가중치 출처 확인이 여전히 미해결로
남아 있습니다.
참고: 이 배치 중간에 영어 발음용으로 GPL-3.0 패키지가 잠깐 들어왔다가, 태그 전에
제거했습니다. CMU 사전 데이터 자체는 BSD 계열이고 GPL은 그걸 감싼 패키지만의
선택이라, 원본 데이터를 리포에 동봉하고 파서를 직접 구현하는 쪽으로 바꿨어요. 사전
전체 126,052개 표제어를 대조해 결과가 한 건도 달라지지 않은 것을 확인했습니다.
업그레이드
준비물부터 확인하세요
새 정렬 스택은 자산 세 가지가 서버에 있어야 합니다(자동으로 안 받아옵니다):
- BS-PolarFormer 체크포인트 + MSST 벤더 소스(핀 커밋 일치 필요)
audio-separator+PoPE-pytorch—uv sync --extra separator로 설치- OWSM 전용 격리 환경(
.venv-owsm) — ESPnet이 메인 환경과 버전 충돌
셋 다 없어도 fast 깊이(대부분의 곡)는 정상 동작하고, medium/heavy로 올라가는 곡만
명시적으로 실패합니다. 준비가 안 됐으면 환경변수로 구 스택 임시 운영도 가능해요
(EVERYRIC_ALIGNMENT_ENGINE=ctc + EVERYRIC_AUDIO_SEPARATOR_BACKEND=htdemucs).
순서
# 1. DB 백업 — 스키마 변경(공지 다국어 컬럼)이 서버 기동 시 자동 적용됩니다
cp everyric2.db everyric2.db.bak
# 2. 코드·의존성
git pull && uv sync --extra separator
# 3. 서버와 워커를 함께 재기동 (아래 주의)
sudo systemctl restart everyric2
sudo systemctl restart everyric2-worker
# 4. 확인
.venv/bin/python scripts/verify_deploy.py <서버URL>롤백
새 필드는 전부 선택적이고 컬럼도 nullable이라, 구버전 코드로 되돌려도 DB는 되돌릴
필요가 없습니다 — 구코드는 새 컬럼을 그냥 무시해요. git checkout <이전 태그> 후
uv sync --extra separator를 다시 돌리고, 서버·워커를 함께 재기동하면 됩니다.
되돌리는 지점에 따라 두 가지가 딸려 옵니다: 발음 사전 동봉 이전으로 가면 GPL 패키지가
다시 설치되고, 더 이전으로 가면 중국어 발음도 함께 빠집니다. 둘 다 롤백의 의도된
부작용이지 새 결함은 아닙니다. 자세한 절차는 deploy/DEPLOY.md §10을 보세요.
알려진 한계
- heavy 깊이는 여전히 느립니다. OWSM은 호출마다 격리 환경을 새로 띄우는 구조라 웜
캐시가 안 먹습니다(적재만 9초 남짓). 상주 프로세스로 바꾸는 건 별도 과제로 남겼어요. - OWSM 라이선스는 위에 적은 대로 판단이 필요한 영역입니다.
- 중국어 발음 표기는 실제 곡으로 검증하지 못했습니다 — 중국어 원문 곡 싱크가 아직
없어서, 유입되면 그때 확인합니다. - 정렬 세부 지표(전체 평균 처리 시간, 붕괴 곡 비율 등)는 인용할 수 있는 측정 기록이
없어 적지 않았습니다.
함께 나간 변경
진행 표시 정직화 · 가사 출처 판별 개선 · 남은 횟수 API · 공지 다국어 · 발음 표기 의존성
정리 · 엔진 웜 캐시 · 소스 배포판 크기 정상화(3.6GB → 1.5MB).
크롬 확장 쪽 변화는 chrome-v1.6.0에 있습니다 — 그 노트에서 "서버
업데이트 필요"라고 적힌 항목들의 실제 내용이 이 문서예요.
Full Changelog: chrome-v1.6.0...engine-v0.3.0
chrome-v1.6.0
Everyric Chrome 확장 1.6.0
1.5.5(2026-07-28) 이후 크롬 확장에 추가·개선·수정된 내용을 정리했다.
한국어
요약
- 새로 생겼어요: 영상 위 자막 표시, 다음 영상 정보 모듈, 분석 깊이 올리기 버튼, 별점·
오류 제보, 공지사항·내 기여·남은 횟수 페이지, 재생목록 전용 패널, 매칭된 가사 제목 표시 - 가라오케 레인을 메인 창에서도 켤 수 있고, 음절 표시·발음 타이밍 정확도가 크게 좋아졌어요
- PIP가 검색·설정·다른 영상 연결까지 메인 화면과 완전히 같은 기능을 갖췄고, 크로마키
스트리밍 모드도 추가됐어요 - 커버 잇기(다른 영상 싱크 연결) 매칭 정확도 개선, 디버그 패널 A/B 비교 개편
- 진행률·남은 시간(ETA) 표시가 더 정직해졌어요
- 커버 영상·동명이곡·롱숏버전 인식 정확도 개선
- 발음 표시, 재생목록, 안정성·보안 버그 다수 수정
신설
- 가라오케 레인, 메인 창에서도: 이전엔 PIP 전용이던 피아노롤 레인을 메인 화면에서도
모듈로 켤 수 있습니다. 좌측 컬럼 배치, 퀵 토글, 타이밍 안내 배너가 함께 생겼습니다. - 영상 위 자막 표시 + 다음 영상 정보: 유튜브 자막처럼 영상 위에 가사(+발음·번역)를
띄우는 모듈과, 다음 재생될 영상 정보를 보여주는 모듈이 새로 생겼습니다. - 분석 깊이 올리기 버튼: 결과의 분석 깊이(빠름/보통/정밀) 배지를 확인하고, 버튼
하나로 더 정밀한 재분석을 요청할 수 있습니다. - 별점 · 오류 제보: 별 하나 클릭으로 정렬 품질을 평가하고, 필요하면 별도 버튼으로
자세한 오류를 제보할 수 있습니다. - 공지사항 · 내 기여 · 남은 횟수 페이지: 헤더 아이콘으로 공지사항(다국어 지원)과
"내가 만든 곡" 기여 이력을 확인하고, 오늘 싱크 생성·초기화·커버 잇기·정렬 업그레이드
각각 몇 번 남았는지 볼 수 있습니다(정렬 업그레이드는 싱크 생성과 완전히 별도 예산으로
관리됩니다). - 재생목록 부착 패널: 전체 재생목록·이전/다음 곡·현재 곡 강조·서버에 싱크가 있는지
배지까지 한 패널에서 봅니다. - 매칭된 가사 제목 표시 + 즉시 제보: 자동으로 찾은 가사가 어느 곡인지 상단에
보여주고, 잘못 매칭됐으면 "이 가사가 아니에요"로 바로 제보합니다. - 그 외 신설: 설정 화면 범주별 정리 + 검색, 원문/번역이 줄마다 교차된 형식의 수동입력
가사 인식, 노래하는 구간에 가사창이 은은하게 빛나는 효과.
크게 좋아진 것
- PIP, 메인과 완전히 같은 기능으로: PIP 자체는 예전부터 있었지만 지금까지는 반쪽짜리
UI였습니다 — 검색·설정·오프셋 조정·다른 영상 연결이 PIP 창 안에서는 안 됐어요. 이제
전부 메인 화면과 똑같이 됩니다. 재생목록 같은 모듈은 창마다 따로 켜고 끌 수 있고,
크로마키 스트리밍 모드(배경 제거 + 글자 외곽선)로 방송 화면에도 바로 쓸 수 있습니다. - 가라오케 정확도: 음절이 사라지던 문제를 고쳐 부착률이 87.9%에서 97.4%로 올랐고,
발음 이중표시가 원문보다 빠르거나 늦게 채워지던 오차를 대폭 줄였습니다(실측 49곡 중
어긋나던 16%가 0%로). 조용한 구간에서 카운트다운이 잘못 뜨는 오탐도 28.3% 줄었습니다. - 진행 표시 · 남은 시간(ETA): 남은 시간이 초 단위로 실시간으로 줄어들고, 분석 깊이가
자동으로 올라갈 때도 바로 정확한 값으로 갱신됩니다. 실제로 하지 않는 "보컬 분리" 단계를
표시하던 것도 없앴습니다. - 곡 인식 정확도: 커버 영상·게임/개인 채널에 올라온 보카로 곡 오검출을 줄였고,
동명이곡·롱/숏 버전 오채택, "AC/DC"처럼 곡명 일부가 다른 단어에 잘못 걸리던 오탐을
고쳤습니다. - 커버 잇기 정확도: 다른 영상 싱크 연결(커버 잇기) 기능 자체는 예전부터 있었지만,
후보를 찾는 방식을 다시 설계했습니다 — 오디오 지문으로 후보를 찾고, 같은 쌍을 반복
제출하지 않도록 쿨다운을 걸고, 오탐을 유발하던 신호를 억제해 더 정확한 후보를 냅니다. - 디버그 패널 개편: 엔진 버전·분석 깊이를 한눈에 보고, 이전 결과와 지금 결과를
겹쳐 보는 A/B 비교, 서버에 남은 이전 세대와의 버전 비교까지 가능합니다.
고친 것
- 발음: IPA 표기 복원, 영어 곡 발음 중복 표시 제거, 일부 곡 위키 번역 반복 구간 누락,
생성 직후 번역이 안 뜨던 것, 붙여넣기로 만든 뒤 "번역이 안 붙었다"고 잘못 초기화를
권하던 것, 일부 배포 환경에서 영어·중국어 발음 표기가 아무 안내 없이 빠지던 것. - 재생목록: 다음 영상 카드가 안 눌리던 것, "재생목록에 속하지 않아요" 오탐, 생성
완료 직후 배지가 낡은 채로 남던 것. - 초기화: "재생성" 버튼을 "초기화"로 이름을 바꾸고, 이제 타이밍 오프셋·번역까지
완전히 함께 초기화됩니다. - 검색·설정을 열 때 화면 중간부터 보이던 것 — 이제 항상 맨 위부터 보입니다.
- 스트리밍 모드: 크로마키가 가사 목록에는 안 먹히던 것, 지금 부르는 줄만 외곽선이
사라지던 것, 외곽선 크기가 화면 배율과 안 맞던 것을 고쳤고, PiP 닫기 확인 화면에서
"항상 메인 창 유지"를 바로 켤 수 있게 했습니다. - 안정성: 확장 리로드 뒤 고아 탭이 멈추는 문제, 애니메이션 루프가 멈추는 무반응 2건,
로케일 파일 문제로 확장 자체가 로드 거부되던 회귀를 고쳤습니다. - 보안: 인증 키를 아예 안 보낸 요청이 통과되던 우회를 차단했습니다(X-API-Key).
참고
아래는 접속 중인 서버(everyric.moref.co 또는 자체 호스팅)가 구버전이면 그 기능만
조용히 빠질 뿐 다른 기능은 정상 동작합니다 — 진행 단계 정직화, 남은 횟수(쿼터) 표시
(커버 잇기·정렬 업그레이드 포함), 재생목록 존재 배지 즉시 갱신, 동명이곡·롱/숏 버전
오채택 방지, 공지사항 다국어 표시, 영어·중국어 발음 표기.
English
Summary
- New: on-video captions, next-up video info module, a depth-upgrade button, star-rating &
issue reports, a Notices/Contributions/remaining-quota page, a dedicated playlist panel,
and matched-lyrics title display - The karaoke lane can now run in the main window too, and syllable/pronunciation timing
accuracy improved substantially - PiP now does everything the main panel does — search, settings, linking another video's
sync — plus a new chroma-key streaming mode - Better matching accuracy for linking a cover to its original, and a debug-panel A/B
comparison overhaul - More honest progress/ETA display
- Better recognition for cover videos, same-title songs, and long/short versions
- Numerous fixes to pronunciation display, playlist behavior, stability, and security
New
- Karaoke lane, now in the main window too: the piano-roll lane that used to be
PiP-only can now run as a module in the main panel — with a left-side column, quick
toggles, and a timing-guide banner. - On-video captions + next-up video info: two new display modules — captions (with
pronunciation/translation) overlaid on the video like YouTube's own captions, and a
module showing what's playing next. - Depth-upgrade button: see the analysis-depth badge (fast/medium/heavy) on a result
and request a more thorough re-analysis with one click. - Star rating & issue reports: rate alignment quality with a single star click, or use
a separate button to report a detailed issue. - Notices, Contributions, and remaining-quota pages: check in-app notices (translated
into your language) and your "songs I made" history from header icons, and see how many
sync generations, resets, cover-links, and depth upgrades you have left today (depth
upgrades now run on a budget completely separate from sync generation). - Playlist attachment panel: the full playlist, previous/next songs, current-song
highlighting, and server sync-exists badges, all in one panel. - Matched-lyrics title display + instant report: the header now shows which song the
auto-matched lyrics came from, and a "these aren't the right lyrics" button reports it
immediately. - Also new: categorized/searchable settings, a manual-paste lyrics parser that handles
original/translation lines interleaved, and a soft glow on the lyrics panel during sung
sections.
Significantly improved
- PiP now does everything the main panel does: PiP itself isn't new, but until now it
was a stripped-down UI — search, settings, offset adjustment, and linking another video's
sync didn't work inside the PiP window. Now they all work exactly like the main panel.
Modules like the playlist can be turned on/off per window, and a new chroma-key
streaming mode (background removal + text outline) makes it usable directly in
broadcast layouts. - Karaoke accuracy: fixed dropped syllables, raising note-attachment coverage from
87.9% to 97.4%, and greatly reduced how far the dual pronunciation display could fill
ahead of or behind the original line (measured across 49 songs: 16% of lines were off,
now 0%). False-positive countdowns during quiet sections dropped 28.3%. - Progress display & ETA: the remaining time now counts down live, second by second,
and updates correctly the instant the analysis depth changes mid-job. Also removed a
stage label that claimed work (vocal separation) was happening when it wasn't. - Song-detection accuracy: reduced false detections for cover videos and Vocaloid songs
on gaming/personal channels, and fixed mismatches from same-title songs, long/short
versions, and substring false matches (e.g. "AC/DC" matching "AC"). - Cover-linking accuracy: linking a cover/instrumental video to its original isn't a
new feature, but candidate-matching was redesigned — it now finds candidates by audio
fingerprint, cools down repeated submissions of the same pair, and suppresses signals
that used to cause false matches. - Debug panel overhaul: see the engine version and analysis depth at a glance, compare
the current result against a previous one with an A/B ghost overlay, and compare against
older generations still stored on the server.
Fixed
- Pronunciation: restored the IPA option, removed duplicate pronunciation lines for
English songs, fixed missing repeated lines in some songs' wiki translations, fixed
translations not appearing right after generation completes, fixed a false "translation
didn't attach" prompt nudging users to reset after a manual paste, and fixed English/
Chinese pronunciation silently going missing on some deployments. - Playlist: fixed the next-video card not being clickable, a false "not part of a
playlist" message, and a stale sync-exists badge right after generation finished. - Reset: renamed "Regenerate" to "Reset," which now also fully clears the timing offset
and translations. - Fixed search/settings opening scrolled to the middle of the page instead of the top.
- Streaming mode: fixed chroma key not applying to the lyrics-list column, the
currently-sung line losing its text outline, and the outline size not scaling with the
display; also added a quick "always keep the main window" toggle on the PiP-close
confirmation screen. - Stability: fixed two freeze bugs (an orphaned tab after extension reload, and a dead
animation loop), and a regression where a broken locale file caused the extension to fail
to load entirely. - Security: closed a bypass that let requests through without an API key
(X-API-Key).
Note
The items below degrade gracefully on an older server — the feature is simply absent,
nothing else breaks: honest progress-stage labels, the remaining-quota display (incl.
cover-linking/depth-upgrade), instant playlist-badge refresh, same-title/long-vs-short
version disambiguation, translated notices, and English/Chinese pronunciation.
日本語
概要
- 新機能: 動画上の字幕表示、次の動画情報モジュール、解析深度アップグレードボタン、
星評価・不具合報告、お知らせ・貢献・残り回数ページ、再生リスト専用パネル、
マッチした歌詞タイトル表示 - カラオケレーンがメインウィンドウでも使えるようになり、音節表示・発音タイミングの精度が
大幅改善 - PiPが検索・設定・別動画の同期リンクまでメイン画面と完全に同じ機能に、配信向け
クロマキーモードも追加 - カバーをリンクするマッチング精度改善、デバッグパネルA/B比較の刷新
- 進行状況・残り時間(ETA)表示がより正直に
- カバー動画・同名異曲・ロング/ショート版の認識精度を改善
- 発音表示・再生リスト・安定性・セキュリティの不具合を多数修正
新機能
- カラオケレーンがメインウィンドウでも: これまでPiP専用だったピアノロール式レーンを
メイン画面でもモジュールとして表示できます。左側カラム配置・クイックトグル・タイミング
案内バナーも追加されました。 - 動画上の字幕表示 + 次の動画情報: YouTube自体の字幕のように動画の上に歌詞(+発音・
翻訳)を重ねて表示するモジュールと、次に再生される動画の情報を表示するモジュールが
新設されました。 - 解析深度アップグレードボタン: 結果の解析深度(fast/medium/heavy)バッジを確認し、
ボタン一つでより精密な再解析をリクエストできます。 - 星評価・不具合報告: 星をワンクリックで同期品質を評価でき、別ボタンから詳細な
不具合を報告できます。 - お知らせ・貢献・残り回数ページ: ヘッダーアイコンからお知らせ(多言語対応)と
「自分が作った曲」の貢献履歴を確認でき、今日の同期生成・リセット・カバーリンク・
深度アップグレードそれぞれの残り回数を確認できます(深度アップグレードは同期生成とは
完全に別予算で管理されます)。 - 再生リスト添付パネル: 再生リスト全体・前後の曲・現在の...
chrome-v1.5.5
Everyric Chrome 확장 1.5.5
한국어
- 권한 최소화 완성:
vocaro.wikidot.com호스트 권한을 제거했습니다 — 위키 조회(곡 페이지·수록곡 일람)가 백엔드 서버 프록시로 옮겨 갔습니다. 이제 설치 시 요구하는 사이트 접근은 기본 서버(everyric.moref.co) 하나뿐입니다(유튜브 2종은 가사 패널 주입용 content script). 기능 변화는 없습니다. - 곡 감지 개선: 게임 공식 채널·개인 채널에 올라온 보카로 곡(카테고리가 Gaming·People & Blogs인 MV)에서 패널이 자동으로 열리지 않던 문제를 고쳤습니다 — 카테고리는 양성 신호로만 쓰고, 제목의 보카로 가수명(初音ミク·MEIKO·歌愛ユキ 등)을 곡 신호로 인정합니다. 실브라우저 22곡 검증으로 확인했습니다.
- 번역 언어 안전장치(서버): 언어 라벨과 내용이 어긋난 번역이 저장·표시되던 사고를 차단했습니다(한국어 화면에 영어 번역이 뜨던 문제의 근본 수정).
- 참고: 자체 호스팅 서버는 이 버전과 함께 서버도 업데이트해야 vocaro 가사 폴백이 동작합니다(구버전 서버에서는 그 폴백만 조용히 꺼집니다).
English
- Minimal permissions, completed — the
vocaro.wikidot.comhost permission has been removed; wiki lookups (song pages and the song index) now go through the backend server proxy. Site access requested at install is now just the default server (everyric.moref.co) (the two YouTube entries are the content script that draws the lyrics panel). No functional change. - Better song detection — the panel now auto-opens on Vocaloid MVs uploaded to game or personal channels (category Gaming / People & Blogs), which were previously blocked by the category check; Vocaloid singer names in the title (初音ミク, MEIKO, 歌愛ユキ, …) now count as a song signal. Verified with a 22-song real-browser run.
- Translation language safeguard (server) — translations whose content doesn't match their language label are no longer stored or served (root fix for English text appearing on the Korean display).
- Note for self-hosters: update your server together with this version, or the vocaro lyrics fallback will be silently unavailable (everything else keeps working).
日本語
- 権限最小化の完成 —
vocaro.wikidot.comのホスト権限を削除しました。Wikiの参照(曲ページ・収録曲一覧)はバックエンドサーバーのプロキシ経由になりました。インストール時に要求するサイトアクセスはデフォルトサーバー(everyric.moref.co)のみです(YouTubeの2件は歌詞パネルを描画するcontent script)。機能の変更はありません。 - 曲検出の改善 — ゲーム公式チャンネルや個人チャンネルに投稿されたボカロ曲(カテゴリがGaming・People & Blogsの MV)でパネルが自動で開かなかった問題を修正しました。カテゴリは肯定シグナルとしてのみ使い、タイトルのボカロ歌手名(初音ミク・MEIKO・歌愛ユキなど)を曲のシグナルとして認めます。実ブラウザ22曲で検証済みです。
- 翻訳言語セーフガード(サーバー) — 言語ラベルと内容が一致しない翻訳の保存・表示を遮断しました(韓国語表示に英語が出る問題の根本修正)。
- セルフホスティングの場合はサーバーも合わせて更新してください(旧サーバーではvocaroの歌詞フォールバックのみ無効になります)。
Full Changelog: chrome-v1.5.4...chrome-v1.5.5
chrome-v1.5.2
Everyric Chrome 확장 1.5.2
한국어
- 진행 단계 표시 개선: 싱크 생성 진행 칩의 단계명을 표시 언어에 맞춰 보여줍니다(지금까지는 언어 설정과 무관하게 한국어로 표시). "다운로드" 표기를 **"오디오 준비"**로, "전사 정렬"을 **"가사 정렬"**로 바꿔 실제 동작(오디오 취득·정렬은 서버가 수행)을 정확히 반영합니다.
- 문서: 공개 서비스 운영 시 원작자 고지 요청(비구속)을 NOTICE·README에 명시.
English
- Progress stage labels — the generation progress chip now shows stage names in your display language (previously always Korean). "Download" is now "Preparing audio" and alignment is labeled "Aligning lyrics", accurately reflecting that audio acquisition and alignment happen on the server.
- Docs — a non-binding request to notify the original author when operating a public service is now stated in NOTICE/README.
日本語
- 進行段階表示の改善 — 同期生成の進行チップの段階名を表示言語に合わせて表示します(これまでは言語設定に関係なく韓国語でした)。「ダウンロード」は**「音源準備」に、整列は「歌詞アライメント」**に変更し、音源の取得・整列がサーバー側で行われる実際の動作を正確に反映しました。
- ドキュメント — 公開サービス運営時に原作者へ通知をお願いする(拘束力のない)要請をNOTICE・READMEに明記しました。
Full Changelog: ae-v2.2.0...chrome-v1.5.2
ae-v2.2.0
Everyric Studio for After Effects v2.2.0
크롬 확장 1.5.0이 연 다국어 번역·발음을 AE 패널도 따라갑니다. 한국어·영어·일본어 번역을 골라 받고, 발음은 한글·로마자·가나 중에서 원문에 맞는 표기로 봅니다.
새 기능
번역 언어 선택
싱크 탭에서 번역 언어를 한국어·English·日本語 중에 고릅니다. 서버는 이 곡에 어떤 언어가 준비돼 있는지 함께 알려주고, 이미 받아 둔 언어 사이는 재조회 없이 즉시 전환됩니다. 고른 언어의 번역이 아직 없으면 준비된 언어를 알려줍니다.
발음 표기 선택
발음 표기를 자동·한글·romaji·かな 중에 고릅니다. 자동은 번역 언어를 따릅니다 — 영어면 로마자, 일본어면 가나, 그 밖은 한글. 커팅 화면의 발음 참고 줄도 고른 표기로 나옵니다.
크롬 확장과 같은 규칙을 씁니다. 두 클라이언트가 같은 곡에서 서로 다른 표기를 보이지 않습니다.
알아두실 것
예전에 만들어진 싱크에는 로마자·가나 표기가 없습니다. 그 경우 발음 줄을 비웁니다 — 한글 독음을 대신 보여주지 않습니다. 로마자를 보려고 고른 사람에게 한글이 나오면 그게 더 나쁘기 때문입니다. 한글 표기를 고르면 예전 싱크에서도 그대로 보입니다.
곡을 새로 생성하거나 최근에 만들어진 싱크를 받으면 세 표기가 모두 들어옵니다.
설치
- 릴리스 에셋에서
Everyric-Studio-2.2.0.zxp다운로드 - aescripts ZXP Installer로 열기
- After Effects 재시작 → Window → Extensions → Everyric Studio
ZXP Installer를 쓸 수 없는 경우 Everyric-Studio-2.2.0-manual.zip을 받아 install.bat을 실행하세요.
요구 사항
| 용도 | 요구 사항 |
|---|---|
| 패널 (JSON 불러오기 · 타이포 생성 · 글자 커팅) | After Effects 2024(24.0) 이상 · Windows |
| 서버 싱크 가져오기 (선택) | 인터넷 연결 |
| 로컬 싱크 생성 (선택) | 패널 내 "엔진 설치" 버튼으로 자동 설치 (CPU 약 300MB / CUDA 약 2.5GB) |
알려진 제한
- Windows 전용입니다. macOS는 지원하지 않습니다.
- 자가 서명 인증서로 서명되어 있어 일부 환경에서 설치 시 경고가 표시될 수 있습니다.
- 로컬 JSON으로 불러온 싱크는 언어를 바꿀 수 없습니다(서버에서 받은 싱크만 전환됩니다).
Full Changelog: chrome-v1.5.1...ae-v2.2.0
chrome-v1.5.1
Everyric Chrome 확장 1.5.1
한국어
- 한도 안내 개선: 하루 생성 한도(익명 15건)에 도달하면, 이미 싱크가 등록된 곡(원곡·다른 커버)은 검색 화면 하단 **"다른 영상의 싱크 연결"**로 직접 이어 볼 수 있다는 안내를 함께 띄웁니다 — 잇기는 생성 한도와 별개입니다.
- 서버 정책: 싱크 잇기(연결)는 생성 한도에서 제외되고, 남용 방지를 위한 별도 한도(25건/일)만 적용됩니다.
English
- Better limit messaging — when you hit the daily generation limit (15 for anonymous users), the extension now tells you that a song which already has a sync (original or another cover) can be linked directly via "Link another video's sync" at the bottom of the search screen — linking doesn't count against the generation limit.
- Server policy — sync linking is excluded from the generation limit and has its own modest anti-abuse cap (25/day).
日本語
- 上限案内の改善 — 1日の生成上限(匿名15件)に達した場合、既に同期が登録されている曲(原曲や別のカバー)は検索画面下部の**「別の動画の同期をリンク」**で直接つなげられる案内を表示します — リンクは生成上限の対象外です。
- サーバーポリシー — 同期リンクは生成上限から除外され、乱用防止のための別枠上限(1日25件)のみが適用されます。
Full Changelog: chrome-v1.5.0...chrome-v1.5.1
chrome-v1.5.0
Everyric Chrome 확장 1.5.0
3개 언어 요약 — 설치·전체 사용법은 저장소 루트 README를 참고하세요.
한국어
- 다국어 번역·발음: 한국어·영어·일본어를 서로 번역 — 곡 원어와 같은 언어는 자동 생략되고, 발음은 원문에 맞춰 한글(hangul)·로마자(romaji)·가나(kana) 중 자동으로 골라 표시합니다.
- 언어 칩: 제목바에서 이 곡에 어떤 언어가 준비돼 있는지 한눈에 보고 클릭 한 번으로 전환합니다 — 재조회 없이 즉시 반영됩니다.
- 자막·위키 번역 자동 채택: 유튜브 수동 자막이나 가사 위키(vocaro·miraheze)에 이미 사람이 옮긴 번역이 있으면 재번역하지 않고 그대로 씁니다.
- 가라오케 개선: 음정 레인을 마우스 휠로 확대·축소하고, 계이름을 영어 표기(C5)로도 선택하며, 음정선 밝기를 페이더로 조절할 수 있습니다.
- 편의 개선: 한국어·영어 커버 영상("불러보았다"·cover 등)의 원곡 인식이 좋아졌고, 수동 가사 입력란이 클릭 없이 바로 열려 있습니다.
- 안정성: 응답을 gzip으로 압축하고 요청 타임아웃을 늘려(8초) 간헐적인 조회 실패를 줄였습니다.
English
- Multilingual translation & pronunciation — Korean, English, and Japanese translated into each other; a song already in your language skips translation automatically, and pronunciation is shown in Hangul, romaji, or kana, chosen automatically to match the original text.
- Language chips — the title bar shows which languages are ready for this song; one click switches, and it applies instantly without a re-fetch.
- Auto-adopted caption/wiki translations — when a manual YouTube caption or a lyrics wiki (vocaro/miraheze) already has a human translation, the extension uses it as-is instead of asking the server to re-translate.
- Karaoke improvements — zoom the pitch lane with the mouse wheel, switch note labels to English notation (C5), and adjust pitch-line brightness with a fader.
- Quality of life — cover videos titled in Korean or English ("불러보았다", "cover", …) now match their original song more reliably, and the manual lyrics paste box is open from the start — no extra click.
- Stability — gzip-compressed responses and a longer request timeout (8s) cut down on intermittent lookup failures.
日本語
- 多言語翻訳・発音表記 — 韓国語・英語・日本語を相互に翻訳します。曲の原語と同じ言語を選ぶと翻訳は自動的にスキップされ、発音は原文に合わせてハングル・ローマ字・かなの中から自動的に選ばれて表示されます。
- 言語チップ — タイトルバーでこの曲にどの言語が準備できているか一目で分かり、クリック一つで切り替えられます。再取得なしで即座に反映されます。
- 字幕・Wiki翻訳の自動採用 — YouTubeの手動字幕や歌詞Wiki(vocaro・miraheze)に既に人の手による翻訳がある場合、サーバーに再翻訳を頼まずそのまま採用します。
- カラオケ改善 — 音程レーンをマウスホイールで拡大・縮小、階名を英語表記(C5)にも切り替え、音程線の明るさをフェーダーで調整できます。
- 使い勝手 — 韓国語・英語のカバー動画(「불러보았다」「cover」など)の原曲認識が向上し、手動歌詞の貼り付け欄がクリックなしで最初から開いています。
- 安定性 — レスポンスをgzip圧縮し、リクエストのタイムアウトを延長(8秒)することで、断続的な取得失敗を減らしました。
Full Changelog: ae-v2.1.0...chrome-v1.5.0
ae-v2.1.0
Everyric Studio for After Effects v2.1.0
가사를 글자 사이에서 잘라 레이어를 나누는 커팅 모드가 들어갔습니다. 자동 분할이 못 맞추는 호흡을 손으로 확정하는 작업이고, 자르는 순간 타이밍까지 함께 맞춰집니다. 더불어 서버에 이미 만들어진 싱크를 영상 ID로 끌어오고, Python 런타임을 ZXP에 동봉해 설치를 줄였습니다.
새 기능
글자 커팅 (04번 탭)
타임라인에 올라간 텍스트 레이어를 골라 글자 사이를 누르면 그 자리에서 잘립니다. 잘린 자리를 다시 누르면 붙고, 경계를 좌우로 끌면 시각을 미세 조정합니다(Shift로 더 곱게).
정렬 결과가 이미 글자 단위 타이밍을 들고 있어서, 자를 자리를 고르는 순간 시각이 확정됩니다 — 분리와 타이밍 정렬이 한 동작입니다.
- 각 조각은 원래 그 글자가 있던 자리에 놓입니다. 한 줄이 왼쪽부터 차례로 채워집니다.
(«원래 위치 유지»를 켜면 전부 원본 자리에 겹쳐 둡니다.) - 조각은 제 시각에 나타나 줄이 끝날 때까지 남습니다. 앞 글자가 사라지지 않습니다.
(«차례로 교체»를 고르면 다음 조각이 앞 조각을 대신합니다.) - 조각은 원본의 복제라 폰트·색·자간·이펙트·마스크·부모 관계가 그대로 따라갑니다.
- AE에서 레이어를 고르기만 하면 패널이 따라옵니다. 버튼을 누를 필요가 없습니다.
- 글자마다 시각이, 줄 아래에 발음이 표시됩니다. 일본어 가사에서 어디를 끊을지 판단할 때 씁니다.
- 잠긴 레이어, Source Text 키프레임이 있는 레이어, 여러 줄 텍스트는 이유를 밝히고 거부합니다.
서버 싱크 가져오기
유튜브 주소나 영상 ID를 붙여넣으면 서버에 이미 만들어진 싱크를 번역·발음과 함께 받아옵니다. 조회 전용이며, 패널이 서버에 생성을 요청하지는 않습니다.
컴포지션별 싱크 저장
불러온 싱크가 컴포지션마다 저장됩니다. 패널을 닫았다 열어도 그대로 돌아오고, 컴포지션을 옮기면 그쪽 싱크로 갈아탑니다. 파일을 다시 고르거나 정렬을 다시 돌릴 일이 없습니다.
Python 런타임 동봉
ZXP에 Python 3.11이 들어 있습니다. 설치할 때 %LOCALAPPDATA%\Everyric로 복사해 쓰므로 패널을 업데이트해도 이미 깔린 엔진이 그대로 남습니다. 모델 캐시는 사용자 홈의 기본 HuggingFace 위치를 그대로 쓰기 때문에, 패널이나 엔진을 갱신해도 수 GB를 다시 받지 않습니다.
고친 것
- 후렴이 반복되는 곡에서 2절 레이어가 1절의 시각을 가져가던 문제. 텍스트가 같은 줄이 여럿이면 이제 시간이 겹치는 쪽을 잡습니다.
- 조각의 out 지점이 밀려나던 문제. AE에서
inPoint는 트림이 아니라 이동이라, 순서를 바로잡았습니다. - 생성 레이어에 인위적인 이름을 붙이던 것. AE 기본대로 텍스트 내용이 곧 레이어 이름이 됩니다. 생성물 식별은 레이어 코멘트가 맡습니다.
알아두실 것
- 가사 언어를 지원하는 폰트를 쓰세요. 폰트에 글자의 글리프가 없으면 폭을 잴 수 없어 조각을 제자리에 놓지 못합니다. 그 경우 조각을 옮기지 않고 경고를 띄웁니다. (예: 한글 전용 폰트로 일본어 가사를 다루는 경우)
- 자른 조각 사이에 남는 간격은 오차가 아니라 원본에도 있던 자간·공백입니다.
설치
- 릴리스 에셋에서
Everyric-Studio-2.1.0.zxp다운로드 - aescripts ZXP Installer로 열기
- After Effects 재시작 → Window → Extensions → Everyric Studio
ZXP Installer를 쓸 수 없는 경우 Everyric-Studio-2.1.0-manual.zip을 받아 install.bat을 실행하세요.
요구 사항
| 용도 | 요구 사항 |
|---|---|
| 패널 (JSON 불러오기 · 타이포 생성 · 글자 커팅) | After Effects 2024(24.0) 이상 · Windows |
| 로컬 싱크 생성 (선택) | 패널 내 "엔진 설치" 버튼으로 자동 설치 (CPU 약 300MB / CUDA 약 2.5GB) |
알려진 제한
- Windows 전용입니다. macOS는 지원하지 않습니다.
- 자가 서명 인증서로 서명되어 있어 일부 환경에서 설치 시 경고가 표시될 수 있습니다.
- 프로젝트를 저장하지 않은 상태에서는 컴포지션별 싱크 저장이 그 세션 동안만 유지됩니다.
Full Changelog: chrome-v1.3.2...ae-v2.1.0
chrome-v1.3.2
Everyric Chrome 확장 1.3.2
실사용에서 드러난 결함 묶음을 고칩니다. 가장 심각한 것은 자동 생성 자막이 정상 가사를 대체하고 그대로 영구 싱크로 저장되던 문제입니다.
무엇이 잘못됐었나
한 영상에서 이런 연쇄가 일어났습니다.
- 싱크 초기화를 누름 → 서버의 정상 싱크가 삭제됨
- 재조회가 서버·위키·LRCLIB 전부 미스 → 자막 폴백이 발동
- 그 영상에는 자동 생성(ASR) 자막만 있었고, 노래를 ASR로 받아 적은 텍스트가 가사 자리에 들어왔음
(縋って いつも縋って→すがっていつもすがって おち読も) - 그 상태에서 생성을 누르니 ASR 전사가 서버에 영구 싱크로 저장됨 — 모든 사용자에게 그 텍스트가 원문이 됨
- 자막 경로는 번역·발음을 아무도 만들지 않아 발음 0줄 / 번역 0줄
- 그런데도 알림은 "가사 싱크가 준비됐어요"
고친 것
- 초기화가 원문 가사를 잃지 않습니다. 초기화는 타이밍을 버리는 것이고 가사를 버리는 게 아닙니다. 지운 가사를 화면에 남겨, 자막 폴백으로 갈아타지 않고 그 가사로 바로 다시 생성할 수 있습니다.
- 자동 생성 자막으로는 싱크를 만들지 않습니다. 화면 표시는 그대로 두되(있으면 도움이 됩니다) 생성 버튼 대신 사유를 보여 줍니다. 노래에서 ASR 전사 정확도는 원문으로 쓸 수 없는 수준이고, 한 번 저장되면 모든 사용자의 원문이 됩니다.
- 자막으로 만든 싱크에도 번역·발음이 붙습니다. 서버가 가사를 조달하는 경로이므로 번역·독음도 서버가 만들어 붙입니다. 다운로드·보컬 분리와 겹쳐 돌기 때문에 체감 시간은 늘지 않습니다.
- 붙여넣은 가사가 버려지지 않습니다. 자막이 떠 있는 상태에서 정확한 원문을 붙여넣으면 자막이 대신 쓰였습니다. 이제 넘어온 텍스트로 판단합니다.
- 완료 알림이 결과를 봅니다. 잡이 끝났다는 사실만으로 "준비됐어요"라고 하지 않고, 발음·번역이 붙지 않았으면 무엇이 빠졌는지 말합니다.
디버그 모드
- 이 싱크가 언제 만들어졌는지 보여 줍니다 (
생성=2026-07-25 19:14 (17분 전)). 파이프라인을 고쳐도 이미 만들어진 싱크는 그대로이므로, 지금 보고 있는 것이 언제의 결과인지 알아야 고쳐졌는지 판단할 수 있습니다.
PiP 창
- 영상을 넘길 때 가라오케 모드가 풀리던 문제 — 검색을 시작할 때 띄운 패널이 화면을 점유한 채 남아, 싱크가 도착해도 음정 레인이 닫혀 있었습니다.
- 영상 표시가 이전 곡에 멈춰 있던 문제 — 미러는
captureStream이라 영상이 바뀌면 트랙이 끝납니다. 싱크가 없는 곡·조회 실패에서도 재부착하고, 광고↔본편처럼 엘리먼트는 그대로인데 소스만 바뀌는 전환도 따라갑니다. - 제목이 갱신되지 않던 문제 — PiP는 창을 열 때 한 번만 제목을 받았습니다. 창을 열던 순간 광고가 재생 중이었다면 광고 제목이 계속 남았습니다.
설치
Chrome은 웹스토어 외부 확장의 일반 설치를 막기 때문에 개발자 모드로 로드합니다.
- 아래 Assets에서
Everyric-Chrome-1.3.2.zip을 받아 압축을 풉니다. chrome://extensions접속 → 우상단 개발자 모드 켜기.- 압축해제된 확장 프로그램 로드 → 압축 푼 폴더 선택.
- 이전 버전을 이미 로드해 두셨다면, 같은 폴더 내용을 새 압축 해제본으로 바꾼 뒤 확장 카드의 새로고침 버튼만 누르면 됩니다.
- 서버 기능을 쓰려면 설정에서 API 키를 입력합니다. 서버 주소는 기본값이 채워져 있습니다.
서버 쪽에서 함께 바뀐 것 (새로 생성할 때 적용됩니다)
- 일본어 독음 정확도. 한자 독음을 사전 조회가 아니라 형태소 분석으로 얻습니다. 「今更止められない」가
야메라레나이로 나오던 오독이토메라레나이로 바로잡히고, 「縋って」도츠잇테가 아니라스갓테로 나옵니다. 문맥에 따라 갈리는 독음(涙を止める / 風が止む)도 구분합니다. 표시용 발음뿐 아니라 발음 음절 타이밍 정렬의 입력이기도 해서 가라오케 타이밍에도 영향이 있습니다. - 자막의 크레딧 줄이 가사로 정렬되지 않습니다. 업로더 자막이
Music & Lyrics : 40mP로 시작하면 그것이 첫 가사 줄로 정렬돼 「뮤우짓쿠 안도 레릿쿠스」라는 독음이 붙었습니다. 콜론이 든 진짜 가사(3:00 に会おう)는 그대로 둡니다.
이미 만들어 둔 싱크
이번 수정은 새로 생성·재생성할 때 적용됩니다. 자동 생성 자막으로 만들어진 싱크가 이미 있다면, 정확한 가사를 붙여넣어 다시 생성해야 원문이 바로잡힙니다.
Full Changelog: chrome-v1.3.1...chrome-v1.3.2
chrome-v1.3.1
Everyric Chrome 확장 1.3.1
1.3.0에서 발견된 가사창 조작 버그 두 건을 고친 릴리스입니다. 1.3.0의 변경 내용은 chrome-v1.3.0 노트를 참고하세요.
고친 것
- 줄을 클릭하면 한 줄 위가 잡히던 문제 — 줄 시작 시각으로 정확히 시크하면 브라우저가 그 지점 이하의 디코딩 가능한 위치로 붙습니다. 그래서 곡 시간이 줄 시작보다 살짝 앞에 떨어져 한 줄 위가 활성화됐습니다. 줄 안쪽으로 아주 조금 밀어 넣어 의도한 줄에서 시작하게 했습니다.
- 건너뛰었을 때 지나친 줄이 채워지지 않던 문제 — 카라오케 채움이 활성 줄에만 적용되는 구조여서, 앞으로 건너뛰면 지나친 줄들이 빈 채로 남았습니다(되감기 방향은 1.3.0에서 이미 고쳤습니다). 이제 채움 상태가 현재 재생 위치의 함수입니다 — 재생으로 지나왔는지 클릭으로 건너뛰었는지와 무관하게 같은 화면이 나옵니다.
설치
Chrome은 웹스토어 외부 확장의 일반 설치를 막기 때문에 개발자 모드로 로드합니다.
- 아래 Assets에서
Everyric-Chrome-1.3.1.zip을 받아 압축을 풉니다. chrome://extensions접속 → 우상단 개발자 모드 켜기.- 압축해제된 확장 프로그램 로드 → 압축 푼 폴더 선택.
- 이전 버전을 이미 로드해 두셨다면, 같은 폴더 내용을 새 압축 해제본으로 바꾼 뒤 확장 카드의 새로고침 버튼만 누르면 됩니다.
- 서버 기능(싱크 생성·저장된 싱크 조회)을 쓰려면 설정에서 API 키를 입력합니다. 서버 주소는 기본값이 채워져 있습니다.
Full Changelog: chrome-v1.3.0...chrome-v1.3.1