MyGo 云音乐
用 Go 与 MyGo 写成的第三方网易云音乐桌面客户端。原生界面,没有 WebView;边下边播,无损与 Hi-Res,逐字歌词与「律动」,刘海播放器。
Translation pending
Generative music you draw: falling balls hit your lines and shapes, and every hit becomes a note and a flash of light.
MediaTypeScript · CSSGitHub @shunyakoideOnlineOwner 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.
Drop, hit, glow, sound.
otosu is a generative music piece for the eye and ear: falling balls strike the lines and shapes you draw, and every hit becomes a note and a flash of light.
It aims to let anyone make music by feel, without playing an instrument, and to look good projected on a wall.Read the full README ↗English | 日本語
Drop, hit, glow, sound.
otosu is a generative music piece for the eye and ear: falling balls strike the lines and shapes you draw, and every hit becomes a note and a flash of light. It aims to let anyone make music by feel, without playing an instrument, and to look good projected on a wall.
Try it: https://otosu.shunyakoide.com
Needs Node.js 20.19 or later.
npm install
npm run dev
npm test # physics determinism, no tunneling, MIDI export, and more
npm run lint # Biome
npm run build # type check and production build (dist/)
Built with Vite, TypeScript, three.js and Tone.js. The physics (balls against line segments) is hand-written and deterministic: the same layout always plays the same music.
npm run build produces a static site in dist/; any static host works.
To use npm run deploy (Cloudflare Workers), first remove the routes line in wrangler.jsonc, which points at the author's domain. The site is then served at otosu.<your-subdomain>.workers.dev.
| Input | Action |
|---|---|
| Drag | Draw a line or shape (bigger shapes play lower notes; you hear the pitch softly as you draw) |
| 1–5 | Tools: line / pen (freehand) / circle / triangle / square. For shapes, drag outward from the center; the drag distance sets the size |
| Shift + drag | Draw a bumper (bounces balls hard) |
| Right-click (long-press on touch) | Shape menu: toggle the echo / rise / chord effects, or delete the shape |
| Space | Play / pause (pausing stops dropping new balls and lets the rest fade out) |
| M | Mute (built-in sound and MIDI output) |
| C | Clear all shapes |
| S | Copy the current layout as a URL (opening it plays the same music) |
| R | Start / stop recording a .mid file (saved when you stop) |
| F | Fullscreen |
| H | Hide the UI (for projection) |
| , | Open settings |
| Esc | Close the open popover |
The toolbar at the top of the screen has:
| Popover | Contents |
|---|---|
| motion | Motion on/off (move), shape rotation (spin), and emitter movement (sway) with its style (glide / step) |
| light | Glow, trail style, effects on hit (drip / flowers and their kind: mixed, sunflower, spider lily, daisy, meadow / readout / crosshair / notes / scope / stars), and the backdrop |
| sound | Rhythm (emitter periods), song (chord progression), and a soft chord that keeps playing underneath (hum) |
| settings | Stereo width, sound-to-light offset (light delay), resolution, quality (auto or fixed), MIDI, and the list of keys |
| scenes | Save and load layouts, export / import them as files, copy a link |
Each shape plays a different instrument.
| Shape | Sound |
|---|---|
| Line | Bell (melody) |
| Pen | Plucked tone (kalimba-like) |
| Circle | Soft kick to tom, tuned to the chord root; bigger circles are lower |
| Triangle | Metal (chime / singing bowl), long decay |
| Square | Wooden click (woodblock-like) |
The harmony shifts every 8 bars. Pick a song in the sound popover:
Line colors stay the same; only the pitches move. Your layout and settings are saved in the browser automatically and come back after a reload.
record .mid under MIDI in settings) to start recording. Recording begins on the next beat.otosu-<date>-<time>.mid is saved.connect under MIDI and allow access in the browser prompt (if no output is chosen yet, IAC is selected automatically when present).drums channel (10 by default). Recorded .mid files do the same.built-in. Use offset to compensate for DAW latency.