MyGo 云音乐
用 Go 与 MyGo 写成的第三方网易云音乐桌面客户端。原生界面,没有 WebView;边下边播,无损与 Hi-Res,逐字歌词与「律动」,刘海播放器。
Translation pending
MUS Voices — long-form AI narration studio.
Translation pending
MediaTypeScript · PythonGitHub @moneyuncovered88-dotOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Loading the full README. The saved excerpt is shown below.
MUS Voices (Money Uncovered Studio Voices) — a creator-first AI voice studio
for long-form narration: documentaries, explainers, shorts, and YouTube automation.
It turns long scripts into consistent, natural narration with smart chunking,
per-chunk regeneration, voice profiles, and a project-based workflow.
Planned domain: musvoices.com. See docs/MUS_VOICES_SAAS_PLAN.md
for the SaaS roadmap and gap analysis.Read the full README ↗MUS Voices (Money Uncovered Studio Voices) — a creator-first AI voice studio for long-form narration: documentaries, explainers, shorts, and YouTube automation. It turns long scripts into consistent, natural narration with smart chunking, per-chunk regeneration, voice profiles, and a project-based workflow.
Planned domain: musvoices.com. See docs/MUS_VOICES_SAAS_PLAN.md for the SaaS roadmap and gap analysis.
Status: core narration pipeline works end-to-end (auth, projects, voices, preprocessing, Chatterbox generation on GPU, assembly, downloads). Now evolving into a multi-plan SaaS — themes, collapsible sidebar, usage/plans/admin, and abuse protection are in progress.
Paste a script → pick a narrator voice → choose a documentary preset → generate a short preview → generate the full narration → watch real chunk-by-chunk progress → listen → fix one bad chunk → regenerate only that chunk → rebuild → download MP3 / WAV.
Browser
└─ Vercel / Next.js (App Router, TypeScript, Tailwind, shadcn-style UI)
└─ FastAPI backend (auth, projects, preprocessing, orchestration)
├─ Supabase Postgres (data, RLS)
├─ Supabase Storage (private buckets, signed URLs)
└─ RunPod Serverless GPU ← Chatterbox-Turbo (Phase 4+)
└─ generated audio → Supabase Storage → Browser
services/tts-worker) loads Chatterbox once per warm worker
and synthesizes audio. It scales to zero when idle to keep cost low.See docs/ARCHITECTURE.md for the full design.
| Layer | Choice |
|---|---|
| Frontend | Next.js 16 (App Router), TypeScript, Tailwind v3, Radix/shadcn-style components |
| Backend | Python 3.11+, FastAPI, Pydantic v2, supabase-py |
| Database | Supabase Postgres (SQL migrations + Row Level Security) |
| Storage | Supabase Storage (private buckets, signed URLs) |
| Auth | Supabase Auth (email/password) |
| GPU / TTS | RunPod Serverless + Resemble AI Chatterbox-Turbo (later phase) |
| Audio | FFmpeg (assembly / normalization, later phase) |
money-uncovered-voice-studio/
├─ apps/
│ ├─ web/ Next.js frontend (Vercel)
│ │ ├─ app/ App Router routes: (auth), (dashboard)
│ │ ├─ components/ UI kit + feature components
│ │ ├─ lib/ supabase clients, API client, utils
│ │ ├─ hooks/ data + debounce hooks
│ │ └─ types/ API + domain types
│ └─ api/ FastAPI orchestration backend
│ ├─ app/
│ │ ├─ api/routes/ projects, voices, pronunciations, config, health
│ │ ├─ preprocessing/ normalize, pronunciation, chunker, pipeline
│ │ ├─ services/ supabase, projects, voices, pronunciations, tts, presets
│ │ ├─ audio/ timeline math (FFmpeg assembly comes later)
│ │ ├─ schemas/ Pydantic request/response models
│ │ └─ utils/ slug / safe-filename
│ └─ tests/ pytest (pure logic)
├─ services/
│ └─ tts-worker/ RunPod GPU worker (Chatterbox) — Phase 4
├─ supabase/ (SQL migrations delivered separately, not committed)
├─ packages/shared/ shared-contract notes
├─ docs/ setup + architecture guides
├─ .env.example
└─ pnpm-workspace.yaml
npm i -g pnpm)Windows note: this repo is developed at a short path (e.g.
C:\mu-voice) and pnpm uses a hoistednode_modules(.npmrc: node-linker=hoisted) to avoid symlink-permission errors when Windows Developer Mode is off.
pnpm install
cd apps/api
python -m venv .venv
# Windows: .venv\Scripts\activate macOS/Linux: source .venv/bin/activate
pip install -e ".[dev]"
.env.example → .env (repo root) for the backend and worker tooling.apps/web/.env.local.example → apps/web/.env.local for the frontend.Fill in your Supabase values (see docs/SUPABASE_SETUP.md).
Leave TTS_PROVIDER=mock until the GPU worker phase.
The SQL migrations are not stored in this repo — they are provided directly by the project owner. Run them in the Supabase SQL Editor in order:
0001 schema → 0002 RLS → 0003 storage buckets → 0004 profile trigger
See docs/SUPABASE_SETUP.md for details.
# Terminal 1 — backend
cd apps/api
uvicorn app.main:app --reload --port 8000
# Terminal 2 — frontend
pnpm dev # http://localhost:3000
Open http://localhost:3000, create an account, and you're in the studio.
# Frontend
pnpm --filter web typecheck
pnpm --filter web lint
pnpm --filter web build
# Backend
cd apps/api
.venv/Scripts/python -m pytest # (Windows path shown)
.venv/Scripts/ruff check .
Full flow is documented in docs/VOICE_SETUP.md. In Phase 1
you can already: create an account, add a voice profile, create projects, paste and
auto-analyze scripts (word/char/duration/chunk counts), and manage your pronunciation
dictionary with live preview. Preview/full generation light up once the GPU worker
(Phase 4) and job engine (Phase 5) are in place.
docs/VERCEL_SETUP.mddocs/BACKEND_DEPLOYMENT.mddocs/RUNPOD_SETUP.mddocs/SUPABASE_SETUP.mdGPU_COST_PER_HOUR drives an informational cost estimate.SUPABASE_SERVICE_ROLE_KEY is server-side only — never shipped to the browser.See docs/TROUBLESHOOTING.md if something misbehaves.
Only upload narrator recordings you own or are licensed to use. The app records an explicit authorization confirmation with every voice. Do not clone the voices of celebrities, creators, or other people without permission.