ESP32-S3 Bench Guide
ESP32‑S3 N16R8 벤치 가이드: 실시간 핀아웃, 강의, 시뮬레이터 및 벤치 로그
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
給弦樂學習者的平板練習工具。節拍器、調音器、計時器、樂譜檢視與練習紀錄整合在一個可離線使用的網頁 App 裡,不需要帳號、不需要伺服器,所有資料都留在自己的裝置上。 建議以平板直式使用 —— 版面是以譜架上的平板為前提設計的。 • 節拍器 — 可設拍號、細分拍(八分/三連音/十六分)、速度漸進模式,以及「靜音小節」(響 N 小節後刻意停 M 小節,訓練自己維持速度) • 調音器 — 即時音高偵測,顯示與標準音的音分偏差 • 計時器 — 倒數練習時間,結束後記錄練習時數與筆記,可指定這次練的是哪一首 • 練習歷程圖表、每日/每週目標 • 集點卡與徽章(每 30 分鐘練習 = 1 個音符) • 備份匯出/匯入 純前端 PWA,沒有後端也沒有資料庫。 • React 18 + TypeScript + Vite + Tailwind CSS 4 • 資料存在瀏覽器的 IndexedDB(透過 idb-keyval) • 音高偵測用自相關法(src/lib/pitch.ts) • 智能翻頁用 MediaPipe FaceLandmarker • vite-plugin-pwa 提供離線能力與安裝到主畫面README 전문 보기 ↗
給弦樂學習者的平板練習工具。節拍器、調音器、計時器、樂譜檢視與練習紀錄整合在一個可離線使用的網頁 App 裡,不需要帳號、不需要伺服器,所有資料都留在自己的裝置上。
線上版本:https://violinassistant.vercel.app
建議以平板直式使用 —— 版面是以譜架上的平板為前提設計的。
練習工具
樂譜
錄影與音準分析
紀錄與習慣
純前端 PWA,沒有後端也沒有資料庫。
idb-keyval)src/lib/pitch.ts)vite-plugin-pwa 提供離線能力與安裝到主畫面沒有使用任何 AI 服務或外部 API。這個專案最初是從 Google AI Studio 的模板建立的,但程式碼裡從來沒有呼叫過 Gemini 或其他任何服務 —— 如果你在舊版 README 看到 GEMINI_API_KEY 的設定說明,那是模板殘留,可以忽略。
需要 Node.js 20 以上。
npm install
npm run dev
常用指令:
| 指令 | 用途 |
|---|---|
npm run dev | 開發伺服器 |
npm run build | 正式建置 |
npm run check | 型別檢查 + ESLint + 單元測試(數秒) |
npm run check:all | 再加上 Playwright E2E(約 2 分鐘,會自己 build + preview) |
npm run test:e2e:ui | 以 UI 模式跑 E2E |
送出修改前請先跑 npm run check。
src/lib/*.ts 並附單元測試,元件只負責畫面與事件。這個專案吃過的虧就是邏輯埋在 useEffect 裡沒有任何方式驗證。package.json、src/App.tsx 的頁尾、src/components/UserGuide.tsx 的更新日誌。更完整的背景、資料模型與開發歷程見 開發歷程與交接紀錄.md。
所有樂譜、錄影與練習紀錄都只存在你自己的瀏覽器裡,不會上傳到任何地方。錄影與調音功能需要攝影機/麥克風權限,影像與聲音只在裝置本機處理。
唯一的對外連線是智能翻頁功能所需的 MediaPipe 模型檔(從 CDN 載入),其他功能離線皆可使用。
備份檔例外:「下載備份」會把樂譜照片與完整練習紀錄打包成一個檔案。那個檔案一旦分享出去或存到雲端,就離開了這台裝置 —— 分享前請確認對象與位置。