尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证Draw lines, hear music: a drawing-to-sound web app with a singing text brush, pattern generator, generative drums and MIDI controller support.
翻译准备中
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
Draw lines, hear music. Sketchtone turns drawings into sound: left to right is time, higher is a higher note, thicker is louder. It is made for people who are not music producers, and it works with a mouse, a keyboard, a touch screen or a MIDI controller.
Try it: sketchtone.netlify.app · or open the demo sketch (it never replaces work you already have).查看完整 README ↗Draw lines, hear music. Sketchtone turns drawings into sound: left to right is time, higher is a higher note, thicker is louder. It is made for people who are not music producers, and it works with a mouse, a keyboard, a touch screen or a MIDI controller.
Try it: sketchtone.netlify.app · or open the demo sketch (it never replaces work you already have).
It is plain HTML, CSS and JavaScript, with no build step and no dependencies.
python3 -m http.server 5178
Then open http://localhost:5178. Opening index.html directly from the disk works too. MIDI needs Chrome or Edge.
Press ? in the app for the full list. The essentials:
| Keys | Action |
|---|---|
| Space | Play or pause (also on the canvas) |
| Home | Stop all sound, back to the start |
| Enter | Start or finish a line with the keyboard |
| Q | Time snap: off, 1/16, 1/8, 1/4 |
| C | Metronome |
| V P L R O T S E | Select, Pencil, Line, Rectangle, Ellipse, Text, Spray, Eraser |
| G | Patterns |
| [ ] | Quieter or louder lines |
| Alt + arrows | Nudge the selected line |
| Ctrl/⌘ C, V, D | Copy, paste, duplicate the selected line |
| Ctrl/⌘ Z, Shift Ctrl/⌘ Z | Undo, redo |
| 1 … 8, D | Pick a layer, the drum layer |
| W, Shift 1 … 8 | Perform tab, launch a scene |
| L (on a knob) | MIDI learn |
| Right-click, menu key, Shift F10 (on a knob) | Move by itself, link to MIDI |
| M, Shift S | Mute, solo the picked layer |
| + − | Faster, slower |
| Ctrl/⌘ S, Ctrl/⌘ E, Ctrl/⌘ , | Save a version, export, settings |
Every control has a label for screen readers, knobs behave as sliders, and changes are announced.
Everything stays in your browser: no account, no cookies, no analytics, no third parties. Fonts are served by the site itself, and a strict Content-Security-Policy blocks any other host. Exports and recordings are made on your computer. See the Privacy page in the app's settings for details.
| File | What it does |
|---|---|
js/app.js | Interface, canvas, tools, knobs, settings and export |
js/audio.js | Web Audio engine: voices, effects buses, live edits, offline WAV export |
js/shapes.js | Tools and item geometry, non-destructive transforms |
js/patterns.js | Pattern generator and line presets |
js/voice.js | Robot singing voice: letters to phonemes to formant filters |
js/drums.js | Generative drummer and synthesized kits |
js/fx.js | The 19 effects |
js/sounds.js | Presets, scales and panel definitions |
js/midi.js | Web MIDI input, knob mapping and setup |
js/knob.js | Accessible rotary knob |
The repository includes netlify.toml: connect the repository to Netlify and it publishes the app as is. Only index.html, styles.css, js/ and fonts/ go online.
Idea and design by Alessio Marcone. Built with Claude Code. All sounds are synthesized live with the Web Audio API. Type: Inter by Rasmus Andersson, included under the SIL Open Font License (fonts/Inter-LICENSE.txt).
MIT © 2026 Alessio Marcone