Skip to content

小節の頭への吸着・インストールの案内・自動テスト・記事 5 本を追加 - #4

Merged
ktkwmr merged 3 commits into
mainfrom
claude/serene-keller-or9gpn
Oct 25, 2026
Merged

ktkwmr merged 3 commits into
mainfrom
claude/serene-keller-or9gpn

Conversation

@ktkwmr

@ktkwmr ktkwmr commented Oct 25, 2026

Copy link
Copy Markdown
Owner

変更内容

1. 小節の頭(1 拍目)への吸着

  • 小節の頭は、拍ごとの「コードの変わり具合(クロマの差)」と「低音(ベース・キック)の強さ」から推定します。キックが 1・3 拍目だけだと 1 と 3 の区別がつかないので、コードの変わり目を重く見ています。
  • 波形では、小節の頭を長い線で表示します。
  • 「小節の頭に合わせる」をオンにすると、A・B が小節の頭に吸い付き、◀ ▶ は 1 小節ずつ動きます。ループの表示も「2 小節」のようになります。
  • 1 小節の拍数(2〜7)と小節の頭のずらし(◀ ▶ で 1 拍ずつ)は曲ごとに保存します。
  • 「½・×2」「拍に合わせる」も合わせて、設定に新しく作ったグループ「拍と小節」にまとめました。波形の下の行にはテンポの表示だけを残しています。

2. インストールの案内(ベースライン §3-7)

  • 一度ファイルを開いた人にだけ表示します。アプリとして起動中のとき、閉じたあとは出しません。
  • Chrome・Edge では、ブラウザがインストールできると知らせてきたときに「インストール」ボタンを出します。
  • iPhone・iPad では、「共有 → ホーム画面に追加」の案内を 1 回だけ出します。

3. 自動テスト(ベースライン §9-9)

  • tests/analysis.test.mjs(13 件):テンポ、拍の位置(±6 ms 以内)、拍がない音を「拍なし」と判定すること、小節の頭(4 拍子と 3 拍子。1〜3 拍前から始まる曲も含む)。index.html の // BEGIN analysis 〜 // END analysis の部分をそのまま Node で実行するので、アプリとテストの中身がずれません。
  • tests/e2e.mjs(24 件):Playwright で、吸着、タップ移動、長押し、ピンチ、再生速度、出力の音程(440 → 493.9 Hz など)、自動スピードアップ、カウントイン、保存と復元、日本語ページ、iPhone での案内、CSP 違反・エラーが 0 件であることを確かめます。
  • .github/workflows/test.yml:PR と main への push のたびに、上の 2 つと生成ファイルの --check を実行します。
  • 合成音源は tests/signals.mjs で作っています(テンポ・拍・小節の頭が分かっている、ここで作った音です)。

4. 記事 5 本(日英)

ページ 内容
/guide/ 使い方ガイド。画面写真(プレイヤー・設定・スマホ)と番号付きの説明
/learn-by-ear/ 耳コピのやり方(短くループ → 遅くする → 歌う → 探す → つなげて速くする)
/speed-up-practice/ 少しずつ速くする練習法。BPM の換算表と、70% → 100% の周回数・時間の表
/change-key/ キー変更の使い方。半音下げ・全音下げ・カポ・歌いやすいキー、キーの早見表
/faq/ よくある質問 12 問
  • 表は scripts/pages/practice.mjs で計算しています。アプリの SPEED_MIN などは index.html から読み込みます(ベースライン §10-3)。
  • 記事への入口として、⚙ メニューの「ガイド・記事」、使い方ダイアログの最後のリンク、アプリ下の説明のガイド一覧を足しました。
  • スマホ幅 390px で全 10 ページを確かめ、横のはみ出し・エラー・CSP 違反はいずれも 0 件でした。

記事の確認のお願い(ベースライン §10-7)

記事は公開前に人間の確認が必要なので、この PR はマージせずに確認を待ちます。プレビュー URL は、Cloudflare のボットのコメントにあるものの末尾に /looptrainer/ を付けて開いてください。

特に見てほしい点(docs/article-review.md と同じ内容です):

  • A:「iPhone は消音モードでも音が出る(iOS 17 以降)」の iOS のバージョンを、実機で確認してほしい
  • B:画面写真の番号と一覧の対応
  • C:「速い 6/8 の曲は 1 小節を 2 拍に」(実際の曲では未確認)
  • D〜F:速度の目安の表、ベースの聞き取りのコツ、練習法の書き方に言い過ぎがないか
  • G:キー変更の向き(半音下げの録音に +1、カポ 2 の録音をカポなしで弾くなら −2 など)
  • H:「ロック・メタルには半音下げが多い」などの一般的な傾向の書き方
  • I:実際の曲での拍・小節の検出の当たり具合(合成音でしか確認していない)

機能(1〜3)もプレビューで試せます。

その他

  • プライバシーポリシーの「練習の設定」に、吸着の設定とインストール案内の表示状態を追記し、最終改定日を更新しました。
  • README・CLAUDE.md・docs/baseline-status.md を更新しました(3-7・9-1・9-9・10 を済みに。10-7 は確認待ち)。
  • マージ後に、トップページ(ktkwmr/ktkwmr.com)のカードにガイド記事の一覧を足す PR を出します(§2-16)。

Generated by Claude Code

- 小節の頭: 拍ごとのコードの変わり具合(クロマ)と低音から推定し、長い線で表示。「小節の頭に合わせる」で A・B を吸着、◀ ▶ は 1 小節ずつ。1 小節の拍数と小節の頭のずらしは曲ごとに保存。「½・×2」「拍に合わせる」と合わせて設定の「拍と小節」にまとめた
- インストールの案内(ベースライン §3-7): ファイルを開いたあとだけ。Chrome・Edge は「インストール」ボタン、iOS は「共有 → ホーム画面に追加」を 1 回だけ
- 自動テスト: tests/analysis.test.mjs(拍・テンポ・小節の頭。index.html の解析コードを Node で実行)、tests/e2e.mjs(Playwright。吸着・ループ・出力の音程・保存・ピンチ・CSP)、.github/workflows/test.yml
- 記事: 使い方ガイド(画面写真付き)・耳コピのやり方・少しずつ速くする練習法・キー変更の使い方・よくある質問(英日)。表は scripts/pages/practice.mjs で計算。⚙ メニュー・使い方・アプリ下の説明から記事へのリンク
- 確認の観点を docs/article-review.md に。README・CLAUDE.md・baseline-status・プライバシーの保存内容を更新

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Lgcwksu9gho4UzGNuCXc1M
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Oct 25, 2026 •

Copy link
Copy Markdown

🚀 Deploying Preview to Cloudflare 🚀

Preview URL: https://claude-serene-keller-or9gpn-looptrainer.acogist2000.workers.dev (commit f4f5311)

This URL reflects your latest Preview deployment

Preview Deployments by commit

Status Deployment URL Commit Updated (UTC) See this deployment's details
  • Build: Success ✅
  • Deployment: Success ✅

View logs ↗
https://e77fa3e0-looptrainer.acogist2000.workers.dev f4f5311 2026-10-25T02:24:05.577Z Visit the dashboard ↗
  • Build: Success ✅
  • Deployment: Success ✅

View logs ↗
https://5eb87412-looptrainer.acogist2000.workers.dev c2e85f8 2026-10-25T02:03:50.496Z Visit the dashboard ↗
  • Build: Success ✅
  • Deployment: Success ✅

View logs ↗
https://31eddc04-looptrainer.acogist2000.workers.dev cdf9211 2026-10-25T01:57:32.794Z Visit the dashboard ↗

…show the tempo at the current speed

The tempo next to the time now shows the tempo you hear when the speed is not 100%
(♩ ≈ 84 (original 120) at 70%). The guide, the speed-up article, the screenshots,
the README, and the tests follow.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Lgcwksu9gho4UzGNuCXc1M
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants