ESP32-S3 Bench Guide
ESP32‑S3 N16R8 벤치 가이드: 실시간 핀아웃, 강의, 시뮬레이터 및 벤치 로그
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗A practice tool for chord progressions, laid out as a transit map of the twelve keys — see how they move, hear them, and drill them until they are automatic everywhere.
The twelve keys are stations on a network. Each curriculum step is a line across it; a day's workout is a departure that calls at the keys you have opened. That map is how you navigate and how the lessons are built. The circle-of-fifths wheel is still here — it is the terrain the network is drawn on — and it is where you explore chords, neighbours and voice leading.
A progression is the real unit of harmony, not the chords in isolation: a ii–V–I means something as a single shape, not three symbols to memorise separately. Roundel puts that shape in front of you — on the wheel and across the map — while the rest of it makes sure you can also hear it, recognise it on your own instrument, and find it again next week.
The playing curriculum follows one loop, worked from every direction: take a progression, hear it, drill it across all twelve keys, and apply it — recognising it as you play, or playing along with a generated rhythm section.
SEE → HEAR → DRILL → APPLY
No staff notation, anywhere, ever. Not as an option, a toggle or an advanced panel. Music is keyboard diagrams, the wheel itself, chord symbols, scale-degree numbers, Roman numerals, intervals and colour. If you read chord charts fluently and staves not at all, nothing here will ask you to.
Free software, AGPL licensed. Run it on your laptop, deploy it wherever you
like, change whatever you want. It is your own instance — no telemetry, and no
server anyone else controls. Invite-only accounts let a small trusted group
keep separate progress today; public registration and the paid hosted service
remain planned in ROADMAP.md.
Signing in for the first time opens a short tour that sets the instrument up before it explains anything, and hands you the sustain pedal as the way through the rest of it. No MIDI keyboard? Everything works with the on-screen one, and the tour takes that route instead.
Connecting a MIDI instrument needs Chrome, Edge or Firefox on a desktop.
Web MIDI does not exist in Safari — on iOS, iPadOS or macOS — and every iOS
browser is forced onto WebKit, so an iPad cannot drive the parts of this app
that listen to a keyboard. See DECISIONS.md for the detail.
Everything else works everywhere, including on a tablet: the wheel, the play-along charts, the on-screen keyboard.
Web MIDI also requires a secure context. localhost counts; a deployed
http:// origin does not, and will disable MIDI with no error message. Serve
over HTTPS.
| Layer | Choice |
|---|---|
| App | SvelteKit 2 · Svelte 5 (runes) · TypeScript · Tailwind 4 |
| Build | Vite 8 · @vite-pwa/sveltekit |
| Data | Postgres 15+ · Drizzle ORM · node-postgres |
| Audio | Tone.js — ear drills and backing tracks only |
| MIDI | Web MIDI API |
| Deploy | adapter-auto — Vercel, Netlify, Cloudflare, or Node |
| Tests | Vitest |
Your instrument makes its own sound, so the app never synthesises a piano voice for what you play. It only generates audio for ear drills, backing tracks and the metronome — which is why there are no sampled instruments to vendor and the whole thing is a few hundred kilobytes.
You need Node 22+ and a Postgres 15+. Docker gives you the second one.
git clone https://github.com/bparticle/roundel.git
cd roundel
npm install
cp .env.example .env # the defaults already match docker-compose
npm run db:up # start Postgres in Docker
npm run db:migrate # apply the schema
npm run db:seed # skills and chord charts
npm run account:create -- owner "Your name" "[email protected]"
npm run dev
여기까지가 README 앞부분입니다. 나머지는 원문에서 읽을 수 있습니다. README 전문 보기 ↗