MyGo 云音乐
用 Go 与 MyGo 写成的第三方网易云音乐桌面客户端。原生界面,没有 WebView;边下边播,无损与 Hi-Res,逐字歌词与「律动」,刘海播放器。
Translation pending
Noodle Pads: a kid-sized music studio in the browser. Tap pads, make beats, record your own sounds.
MediaJavaScript · CSSGitHub @pdxfixitOnlineOwner 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
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗A music studio anyone can pick up: kids, families, and grown-ups who love music but don't have the time for a pro studio. It starts as a soundboard: tap a pad, make a noise, annoy your family. Every next tool is one tap away, so you learn by goofing around, never by lessons: record your own sounds, add silly voices, make beats and whole songs. Goofing around counts as much as finishing a song. Everyone in the family gets a board of their own.
Play it at https://noodlepads.com, on a phone, a tablet or a computer. Nothing to install. No ads. No required account. No social feed. No AI makes the music for you. What we measure is only to make the app better.
The bar at the bottom has two sides: 🎉 Play (Pads and Live) and 🛠️ Make (Beats and Song).
Every part in detail: docs/guide.md. What each release added: CHANGELOG.md.
Plain HTML, CSS and JavaScript modules: no build step and no dependencies. You need just and Python 3 to run it, and Node.js for the tests.
git clone https://github.com/pdxfixit/noodlepads.git
cd noodlepads
just serve
Then open http://localhost:8765/. Run just in the repo's folder: from
anywhere else it finds a different justfile. just serve prints a Wi-Fi
address too, for a phone or tablet on the same network. Recording needs
https or localhost (browsers only allow the microphone there); the live
site is https, and just phone <serial> forwards the dev server to an
Android phone on adb (not yet tried on a real device).
Without a cloud behind it, the app says "The cloud isn't reachable from here" and everything else works.
just test
A syntax check, then Node's built-in test runner; nothing to install. Judge
it by the exit code. A test file whose report the runner cut short runs again
alone, and counts. The tests have no browser: just look checks every
screen width in a headless Chrome and saves screenshots.
Everything needed to keep Noodle Pads going has a just recipe, no agent
required. Run them in this repo's folder; just lists them all, and
just doctor checks this Mac first. Recipes that change the live site or
the cloud database show what they would do, or ask, before they do it.
| Task | Recipe |
|---|---|
| Is this Mac ready? | just doctor (tools, flarepress at ~/src/flarepress, ~/.config/noodlepads/cloud.json, the Keychain token) |
| Run it here | just serve; on an Android phone just phone <serial>, undone by just phone-off <serial> |
| Test | just test (judge by the exit code); just stress for a test that fails only sometimes |
| Look at every screen width | just look (--wide adds the big screens; just look --help lists views) |
| Deploy | GitHub deploys every push to main (.github/workflows/deploy.yml); from the Mac, just deploy (asks first). just deploy-check and just deploy-plan change nothing |
| What is live, and roll back | just live; just rollback prints the steps; just live-check is the daily check |
| Check the live cloud | just deploy-checks runs just cloud-smoke and just cloud-e2e (each makes and deletes its own test profile), and just taps on the live site |
| Check a finger's taps sound | just taps: a phone in headless Chrome taps 🔊 Pads, 🎤 Live and 🧸 Kids, fresh, after 🛠️ Make and back, and after a freeze and thaw; each must sound |
| Back up the cloud database | just cloud-backup (a .sql file in ~/.local/state/noodlepads/backups/) |
| Look in the cloud database | just cloud-profiles, just cloud-stats, just cloud-sql "SELECT …", or any wrangler command with just cloud-db … |
| Change the cloud database | just cloud-migrate (then --yes; the deploy runs it too, so by hand only for a drop); just cloud-prune (then --yes); just cloud-reset-pin "<fun name>" (then --yes: a random PIN, shown once); just cloud-schema for a new, empty database only |
Agents use the rest: just setup (the git hooks, once per clone), just ship, just land, just land-continue, just ci-wait (waits for a commit's GitHub runs), just policy (copies
docs/privacy-policy.md to the privacy site's repo once a change to it is on main; --dry-run stops before landing),
just archive-agent, just prove, just version (the release in
web/version.js, bumped with every change to web/), and the steps a deploy runs itself
(just stamp, just deploy-verify).
Deploying uses flarepress and the site
folder site/: docs/deploy-cloudflare.md.
| Doc | What it holds |
|---|---|
| docs/guide.md | How the app works: every screen, and how sounds, beats and songs are stored |
| docs/layout.md | The file map |
| docs/formats.md | The backup format, field by field |
| AGENTS.md | How to work on this repo, for people and coding agents: start, verify, ship, the rules |
| docs/how-to.md | Step by step: a bug fix, a stored-format change, landing, deploy and rollback |
| docs/decisions.md | Every rule decided so far, and why |
| docs/adr/ | Why the biggest decisions were made |
| CHANGELOG.md | What each release has |
The app links the full policy from ⚙️ Settings and Help. Here are the
plain words on the cloud (web/privacy.js; tests/privacy.test.mjs keeps
this copy the same and ties the claims to the code).
🔓 What's private (not much)
What the app sends about how it is used, and how long it is kept, is in the full policy, shared by every pdxfixit app: Privacy policy.
MIT.
| Bring problem reports and metrics home |
python3 ~/src/telemetry/telemetry.py pull: the telemetry runner (pdxfixit/telemetry) harvests them, and this copies its store to ~/.local/state/telemetry/telemetry.sqlite3 |
| Problem reports | just logs, --errors, --digest read them from that copy |
| Move the old Mac archives into the runner (once) | just runner-export all LOGS METRICS OUT (both in the one file to import), just runner-export check FILE (docs/how-to.md, "Retire the old Mac archives") |
| Has a council seat stopped finding things? | just council-tripwire (a seat whose last 10 reviews were all a plain pass; docs/council.md) |
| Make sounds and emoji lists | just placeholders, just emoji, just preset-loudness (how loud each preset plays on a phone; --fix evens them out), just kids-prompts (checks the recordings of 🧸 Kids' spoken prompts; --fix wires them in) |