ESP32-S3 Bench Guide
ESP32‑S3 N16R8 벤치 가이드: 실시간 핀아웃, 강의, 시뮬레이터 및 벤치 로그
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Devanagari Quest — ヒンディー語(デーヴァナーガリー文字)学習アプリ 日本語の五十音表(「あいうえお」→「かさたなはまやらわ」→濁音・拗音)と同じ発想で、 デーヴァナーガリー文字を Step1〜12 で学ぶゲーム感覚のフラッシュカード学習アプリ。React + Vite、バックエンド不要。 Stepにロックは無く、どのStepからでも自由に始められる。 母音の基本形→長音・複合、子音は「かさたなはまやらわ」に相当する代表音を行を横断して先に一巡し、 そのあとで各行の有気音・濁音・鼻音を「代表音との重ね比較」付きで深掘りする構成。 代表音一巡は14字と多いため、破裂音+鼻音(前半7字)/半母音+摩擦音(後半7字)の2Stepに分けている。 Step4・5 で各行の基本子音(そり舌音・摩擦音も含む)を先に一巡してしまうので、 「文字を五十音のように一通り見渡してから、細部(有気音・濁音)を詰める」という進み方になる。 Step6〜10 の深掘りでは、新しく出てくる文字を必ず Step4/5 で覚えた代表音と「重ね比較」で結び付ける (例: Step6 の ख は क と重ねて「息が強くなった分だけ形が増える」ことを見せる)。README 전문 보기 ↗
日本語の五十音表(「あいうえお」→「かさたなはまやらわ」→濁音・拗音)と同じ発想で、 デーヴァナーガリー文字を Step1〜12 で学ぶゲーム感覚のフラッシュカード学習アプリ。React + Vite、バックエンド不要。 Stepにロックは無く、どのStepからでも自由に始められる。
npm install
npm run dev # http://localhost:5173
npm run build # dist/ を出力
母音の基本形→長音・複合、子音は「かさたなはまやらわ」に相当する代表音を行を横断して先に一巡し、 そのあとで各行の有気音・濁音・鼻音を「代表音との重ね比較」付きで深掘りする構成。 代表音一巡は14字と多いため、破裂音+鼻音(前半7字)/半母音+摩擦音(後半7字)の2Stepに分けている。
| Step | 内容 | 文字数 |
|---|---|---|
| 1 | 母音(基本) — 「あいうえお」に相当 अ इ उ ए ओ | 5 |
| 2 | 母音(長音・複合) — 基本形に線が増えるだけ आ ई ऊ ऐ औ | 5 |
| 3 | 特殊母音記号 ऋ अं अः | 3 |
| 4 | 子音・代表音① — 「か・た・な・ぱ・ま」行の破裂音+鼻音 क च ट त न प म | 7 |
| 5 | 子音・代表音② — 「や・ら・わ・さ・は」行の半母音+摩擦音 य र ल व श स ह | 7 |
| 6 | क行の深掘り ख ग घ ङ | 4 |
| 7 | च行の深掘り छ ज झ ञ | 4 |
| 8 | ट行の深掘り(そり舌・最難関) ठ ड ढ ण | 4 |
| 9 | त行の深掘り थ द ध | 3 |
| 10 | प行+摩擦音の深掘り फ ब भ ष | 4 |
| 11 | マートラ(母音記号) ★最重要 ा ि ी ु ू ृ े ै ो ौ ं ः | 12 |
| 12 | 頻出結合文字 क्ष त्र ज्ञ श्र | 4 |
Step4・5 で各行の基本子音(そり舌音・摩擦音も含む)を先に一巡してしまうので、 「文字を五十音のように一通り見渡してから、細部(有気音・濁音)を詰める」という進み方になる。 Step6〜10 の深掘りでは、新しく出てくる文字を必ず Step4/5 で覚えた代表音と「重ね比較」で結び付ける (例: Step6 の ख は क と重ねて「息が強くなった分だけ形が増える」ことを見せる)。
Stepにロックは無く、StepMapのどのカードからでも自由に始められる。★はStepクイズで 正答率80%以上を取った達成度の表示であり、次のStepを開放する条件ではない。
← → で移動、Space で反転。カード切替時に自動発音。src/data/pairs.js。
length — 母音の基本形→長音(अ→आ など)matra — マートラの長短(ि→ी など、子音 क に付けた音節で比較)derived — 子音の代表音→有気音/濁音/鼻音(क→ख/ग/घ など)lookalike — そり舌音 vs 歯音など、形も音も紛らわしい字同士src/lib/speech.js が次の順で再生を試みる。
speechSynthesis に hi-* の音声がある → Web Speech API(lang="hi-IN", rate=0.75)で再生/audio/<id>.mp3 を再生(devanagari-data.json の audioUrl)mp3 は同梱していない。安定させたい場合は public/audio/README.md の手順で 62 ファイルを配置する。
mp3 が無くても、hi-IN 音声を持つ環境(macOS / iOS / Android / Chrome の多く)では問題なく動作する。
src/data/devanagari-data.json の 1 エントリ:
{
"id": "ka",
"devanagari": "क",
"iast": "ka",
"ipa": "/kə/",
"kana": "カ",
"group": "velar",
"step": 4,
"speak": "क",
"series": "無声無気",
"note": "日本語の「カ」。息を強く出さない。5行それぞれの代表音のうち1つ目。",
"audioUrl": "/audio/ka.mp3"
}
マートラは追加で display(◌ा のような点線円つき表示)、matraFor、example / exampleRead、
position(付く位置)、keepInherent を持つ。
keepInherent はアヌスヴァーラ ं とヴィサルガ ः に付き、これらが固有母音 a を置き換えない
(क + ं = कं は kṃ ではなく kaṃ)ことを表す。音節合成は syllable()(src/data/steps.js)で行う。
Step番号を直接参照するコードは無く、マートラ・結合文字のStepは src/data/steps.js の
MATRA_STEP / CONJUNCT_STEP としてSTEPS配列から自動算出している(カリキュラムを組み替えても
コード側の修正が要らないようにするため)。
src/
├── data/devanagari-data.json 全62文字のデータ
├── data/steps.js Step メタ情報・検索ヘルパー・音節合成
├── data/pairs.js 重ね比較(GlyphDiff)のペア定義
├── data/popStages.js ポップの6ステージ定義(文字・半径・色)
├── lib/popEngine.js ポップ本体(matter-js 物理 + Canvas 描画)
├── lib/popFx.js ポップの演出(揺れ・浮き上がる得点・衝撃波・フラッシュ)とコンボ倍率
├── lib/popFinal.js ポップの最終形の進化段階(👑💎🌈)の定義と飾りの描画
├── lib/popStore.js ポップの進捗(Lv/経験値/ベスト/クリア)
├── lib/speech.js 発音(TTS + mp3フォールバック)
├── lib/quiz.js 出題生成(双方向4択・マートラ組み合わせ)
├── lib/srs.js 復習優先度スコア
├── lib/storage.js localStorage 入出力・連続日数・カリキュラム移行
├── hooks/useProgress.js 進捗ステート(XP/Lv/Stepクリア判定)
└── components/ HUD / StepMap / Flashcards / Quiz / MatraLab / GlyphDiff / SpeakButton / PopGame
vercel.json を同梱。Vercel にインポートすればそのままビルドされる(SPA なので全パスを /index.html に rewrite)。
matter-js、描画は Canvas。ステージは自由に選べる(ロックなし)。進捗は本編とは別に localStorage(devanagari-pop-v1)へ保存。devanagari-quest-v1)に Lv/XP・Stepクリア状況(★)・文字ごとの正誤回数・連続学習日数・最大コンボを保存。カリキュラム構成が変わった場合は文字ごとの正誤記録とXPを引き継ぎつつ、Stepのクリア状況だけをリセットし、その旨を一度だけ画面上部のバナーで知らせる(src/lib/storage.js の version によるマイグレーション)。