MyGo 云音乐
用 Go 与 MyGo 写成的第三方网易云音乐桌面客户端。原生界面,没有 WebView;边下边播,无损与 Hi-Res,逐字歌词与「律动」,刘海播放器。
Translation pending
Open-source hip-hop flow analyzer. Every syllable on the beat grid, with density, syncopation, pocket and rhyme metrics.
MediaTypeScript · PythonGitHub @fatihserhatturanOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
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
See how a rapper rides the beat: a free app for macOS and Windows that maps every syllable to the beat grid, with rhyme groups, pocket timing and flow metrics. Runs 100% locally.
Taken from the repository README
Loading the full README.
Read the full README ↗noCap takes an audio file, isolates the vocals, transcribes every word with word-level timestamps, and aligns each syllable to a beat grid. The result is an interactive flow map — a piano-roll-style canvas where you can see and hear exactly how a rapper rides the beat.
It answers questions like:
You can also read the whole track as a lyric sheet, fix any word it misheard
(the flow map and metrics update with it), and export the lyrics as text or
synced .lrc.
Flow is the part of rap that is hardest to put into words. Producers, rappers and fans describe it by ear: "laid back", "on top of the beat", "double time". noCap makes it something you can point at, bar by bar.
Everything noCap needs is bundled, and analysis runs offline on your computer. The first time you open it, a short intro shows how to read the flow map; drop in an audio file, or press Try the demo to explore a sample verse first.
.dmg from Releases.Needs a Mac with Apple Silicon (M1 or later). The app is signed and notarized by Apple.
noCap-<version>-win-x64.7z.001 and .7z.002 from
Releases into the same folder
(the app is split in two because of GitHub's file size limit)..001 file with 7-Zip and extract it.noCap.exe from the extracted folder.Needs 64-bit Windows 10 or 11. An NVIDIA graphics card speeds up analysis; without one it runs on the processor, just slower. The Windows build isn't code-signed yet, so SmartScreen may warn you the first time: choose More info → Run anyway.
medium.en (MLX on Apple Silicon) with word-level timestamps.txt, synced .lrc or word-timed .lrcPress ? in the app to see this list at any time. Shortcuts are ignored while you are typing in a field or while a dialog is open.
| Group | Keys | Action |
|---|---|---|
| Playback | Space | Play / pause |
| Playback | Enter | Play selected bars |
| Playback | L | Loop selected bars |
| Playback | V | Switch mix / vocals |
| Navigation | ← → | Previous / next bar |
| Navigation | ⇧ + click | Extend selection |
| Navigation | ↑ ↓ | Scroll |
| Navigation | Esc | Clear rhyme focus, then selection |
| View | ⌘ + | Zoom in |
| View | ⌘ − | Zoom out |
| View | ⌘ 0 | Reset zoom |
| View | I | Show / hide inspector |
| View | 1 2 3 4 | Flow / Report / Lyrics / Library |
| View | ? | This list |
On Windows and Linux, use Ctrl in place of ⌘.
# 1. Clone
git clone https://github.com/fatihserhatturan/noCap.git
cd noCap
# 2. Python environment
python3 -m venv .venv
source .venv/bin/activate
pip install -e ".[dev,separator]"
pip install openai-whisper
pip install -e ".[apple]" # Apple Silicon only: GPU transcription via MLX
# 3. Frontend dependencies
cd frontend && npm install && cd ..
# 4. Run (Flask API + Vite dev server + Electron window)
cd frontend && npm run desktop:dev
The first time you analyze a track, Whisper will download the medium.en
model (~1.5 GB) into ~/.cache/whisper/. Subsequent runs use the cache.
On Apple Silicon, analysis runs on the GPU: Demucs uses MPS and, with the
apple extra installed, Whisper runs through MLX from the same checkpoint (same
DTW word timestamps, beam search). Anything that fails on the GPU falls back
to the CPU. NOCAP_WHISPER_BACKEND=mlx|torch|cpp and NOCAP_DEMUCS_DEVICE=cpu
pin a backend or device.
# Terminal 1 — backend
source .venv/bin/activate && nocap serve
# Terminal 2 — frontend
cd frontend && npm run dev
Open http://localhost:8765.
Produces a self-contained .dmg that requires no Python or model installation
on the target machine.
./scripts/build-desktop.sh
# → frontend/dist-app/noCap-0.3.0-arm64.dmg (Apple Silicon)
First build takes ~15 minutes (PyInstaller bundles torch + whisper + demucs). Subsequent builds that skip the backend are much faster:
./scripts/build-desktop.sh --skip-backend
Signing. When the Keychain holds a Developer ID Application certificate and a
notarytool profile named nocap-notary
(xcrun notarytool store-credentials "nocap-notary" --apple-id … --team-id …),
the build signs, notarizes and staples the app, so Gatekeeper opens it without a
warning. Without them it falls back to an ad-hoc signature (users confirm the app
once in Privacy & Security); --ad-hoc forces that fallback.
The library is one SQLite database plus a folder of audio files, in the standard per-user app-data location:
| Run | Folder |
|---|---|
| Installed app | ~/Library/Application Support/noCap/ |
Development (nocap serve, npm run desktop:dev) | ~/Library/Application Support/noCap-dev/ |
library.db tracks, analyses (compressed flow maps), bars, sections
audio/<track_id>/ mix.<ext>, vocals.wav
Set NOCAP_DATA_DIR to use another folder. To back up the library, copy the whole
folder while the app is closed; to reset it, delete the folder.
Tracks saved by earlier versions (~/.nocap_library/tracks) are copied in
automatically on first start; the old folder is left untouched and can be deleted
afterwards.
| Layer | Technology |
|---|---|
| Desktop shell | Electron 33 |
| Frontend | React 19, TypeScript, Pixi.js 8, Vite 6 |
| Backend | Python / Flask 3 |
| Library storage | SQLite (stdlib sqlite3, WAL) |
| Beat detection | librosa 0.11 |
| Transcription | openai-whisper (medium.en), MLX on Apple Silicon |
| Vocal separation | Demucs 4 (htdemucs) |
| Syllable/stress | CMU Pronouncing Dictionary |
| Packaging | PyInstaller + electron-builder |
nocap/
├── frontend/src/ # React UI — components, hooks, Pixi rendering
├── nocap/audio/ # Beat detection, transcription, vocal separation
├── nocap/analysis/ # Flow metrics, alignment, rhyme detection
├── nocap/pipeline/ # Orchestration layer
├── nocap/web/ # Flask API + SSE streaming
├── nocap/text/ # Lyric parsing, syllable analysis
├── nocap/library/ # Track persistence
└── scripts/ # Build automation
All source files are kept under 200 lines — see CODE_QUALITY.md.
python3 -m unittest -q
python3 scripts/check_line_limits.py
cd frontend && npm run typecheck && npm run build
Bug reports, ideas and pull requests are welcome.
good first issue are a good place to start. See Development to run it locally, and CODE_QUALITY.md for the house rules.If noCap is useful to you, a star helps other people find it.