MyGo 云音乐
Go와 MyGo로 만든 서드파티 네이버 클라우드 뮤직 데스크톱 클라이언트
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
This project is humbly dedicated to Shri Mataji Nirmala Devi.
May the auspicious grace of Shri Ganesha remove all obstacles,
and may the devoted energy of Shri Hanumana carry Her words
to the hearts of Ukrainian-speaking seekers,
bringing joy to our Holy Mother.
Sahaja Yoga lecture subtitle translation and optimization toolkit.
Translates English subtitles from amruta.org lectures into Ukrainian, with automated quality optimization via GitHub Actions.
Download is done locally (amruta.org is behind Cloudflare). Everything else runs in GitHub Actions via subtitle-pipeline.yml.README 전문 보기 ↗This project is humbly dedicated to Shri Mataji Nirmala Devi. May the auspicious grace of Shri Ganesha remove all obstacles, and may the devoted energy of Shri Hanumana carry Her words to the hearts of Ukrainian-speaking seekers, bringing joy to our Holy Mother.
Sahaja Yoga lecture subtitle translation and optimization toolkit.
Translates English subtitles from amruta.org lectures into Ukrainian, with automated quality optimization via GitHub Actions.
1. [Local] Download source materials from amruta.org
2. [GitHub Actions] Whisper speech detection (word-level timestamps)
3. [GitHub Actions] Translate EN→UK (Claude agent + glossary)
4. [GitHub Actions] Review translation (2+1: Language + SY Domain + Critic)
5. [GitHub Actions] Build subtitles (Claude agent: semantic alignment → mapping → SRT)
6. [GitHub Actions] Validate SRT quality (text, CPL, CPS, overlaps, gaps)
Download is done locally (amruta.org is behind Cloudflare). Everything else runs in GitHub Actions via subtitle-pipeline.yml.
talks/ Per-talk directories
{date}_{slug}/
meta.yaml Talk metadata (title, date, videos list)
transcript_en.txt English transcript (full talk)
transcript_uk.txt Ukrainian translation (full talk)
review_report.md Translation review report
{video_slug}/ Named video subdirectory (e.g., Talk, Bhajan)
source/ Original materials (EN SRT, whisper JSON)
work/ Build intermediates (timecodes.txt — LLM output)
final/ Output (uk.srt, report.txt, build_report.txt)
tools/ Python modules (see ARCHITECTURE.md for full list)
download.py amruta.org downloader (local only, multi-video + batch)
build_map.py / build_srt.py Subtitle builder (prepare → LLM timecodes → assemble)
validate_subtitles.py SRT validation (text, CPL, CPS, overlaps, gaps)
optimize_srt.py SRT timing optimizer (run from main pipeline)
sync_*.py Transcript ↔ SRT sync (PR workflow)
templates/ Agent templates (language review)
glossary/ SY terminology dictionary (EN → UK, see glossary/README.md)
# Single talk (date/slug auto-extracted from URL):
python -m tools.download \
--url "https://www.amruta.org/1993/09/19/ganesha-puja-cabella-1993/"
# English + Ukrainian transcripts in one go (folder/meta come from the EN page):
python -m tools.download \
--url "https://www.amruta.org/1984/08/11/raksha-bandhan-and-maryadas-hounslow-1984/" \
--langs en,uk
# Batch mode:
python -m tools.download --manifest queue.yaml
The downloader automatically:
{date}_{slugify(page_title)} — the same convention as the
SPA add-talk flow (single-source slugify in tools/talk_slug.py)Talk/, Bhajan/)transcript_<lang>.txt (one per --langs, default the URL's language)
and meta.yamlamruta.org auth (the WordPress session cookie) is documented in
docs/amruta-auth.md.
git add talks/{date}_{slug}/
git commit -m "Add {talk title}"
git push
# Trigger the full pipeline (whisper + translate + review + build):
gh workflow run subtitle-pipeline.yml -f talk_id={date}_{slug}
The pipeline runs all steps automatically and commits results back to the repo.
Validation runs inside the pipeline itself (the Validate step checks
text preservation, overlaps, gaps, CPS limits and structural issues before
anything is committed) and again in sync-subtitles.yml for PR edits.
There is no separate push-triggered Validate workflow; to re-check an SRT
by hand run python -m tools.validate_subtitles.
To fix Ukrainian text after the pipeline ships subtitles, edit
transcript_uk.txt (or final/uk.srt) on a branch and open a PR.
sync-subtitles.yml runs the reverse-then-forward sync and validates
automatically (text-only swaps — edits that change block structure
need a full pipeline rebuild; approximate re-timing is banned).
Create a queue.yaml file (gitignored):
talks:
- url: https://www.amruta.org/1993/09/19/ganesha-puja-cabella-1993/
- url: https://www.amruta.org/1985/06/16/some-talk/
slug: short-slug # optional override
Run: python -m tools.download --manifest queue.yaml
| Parameter | Target | Hard Limit |
|---|---|---|
| CPS (chars/sec) | ≤15 | ≤20 |
| CPL (chars/line) | – | ≤84 |
| Lines per block | 1 (single-line mode) | 1 |
| Min duration | ≥1.2s | ≥1.2s |
| Max duration | ≤7s (optimizer CLI) | ≤21s |
| Min gap | ≥80ms (2 frames @24fps) | ≥80ms |
MIT