M.
音楽・オーディオ Web / PWA

Web Metronome

インストール不要・スマホ対応のブラウザ完結メトロノーム。振り子アニメーション、タップテンポ、スピードトレーナー、設定バンクに対応したPWA。

Web Metronome の画面。木目調の振り子メトロノームとBPM表示、再生ボタンが並んでいる

スマートフォンやPCのブラウザで使えるメトロノーム。アプリのインストールは不要で、URLを開くだけで楽器の練習に使える。木目調の振り子がテンポに合わせて揺れる見た目にこだわり、ホーム画面に追加すればオフラインでも起動できる。

主な機能

  • テンポ設定: BPMは30〜300。±ボタン、スライダー、直接入力のほか、振り子の重りをドラッグしても変えられる。タップテンポにも対応。
  • 拍子とアクセント: 2/4・3/4・4/4・5/4・6/8・7/8に対応し、1拍目を強調できる。
  • 音色: Click / Wood / Beep / Block の4種類。実際の録音素材を使っている。
  • 小節頭のベル: 1・2・4小節ごとに「チーン」と鳴らし、練習の区切りが分かるようにできる。
  • 設定バンク: 1〜5のボタンでテンポ・拍子・音色の組み合わせを切り替えられる。曲ごと・練習メニューごとに使い分けられ、変更は自動で保存される。
  • スピードトレーナー: 一定の小節ごとにテンポを自動で上げていく。
  • カウントインとシャッフル: 1〜2小節の予備拍と、スウィングのリズムに対応。
  • 練習を助ける機能: 画面フラッシュと拍数表示による視覚メトロノーム、対応端末での振動、画面スリープ防止、ダークモード。

使い方

  1. ページを開き、BPMを設定して再生ボタンを押す。
  2. 「拍子・音色」のパネルで拍子や音色、ベルの間隔を選ぶ。
  3. よく使う設定は1〜5のバンクに残しておき、次からはボタン1つで呼び出す。

技術構成

ビルド不要の素のHTML・CSS・JavaScriptで作り、GitHub Pagesで配信している。音はWeb Audio APIで鳴らし、Service WorkerとWeb App Manifestでオフライン起動とホーム画面への追加に対応した。効果音は BigSoundBank.com がCC0で公開している素材から単発の打撃音を切り出し、音色ごとの音量差が出ないようにピーク音量を揃えている。

工夫した点

メトロノームはリズムが少しでもずれると練習の役に立たない。ブラウザの setTimeout は、タブがバックグラウンドに回ると呼び出しが遅れることがある。そこで、AudioContextの時刻を基準に少し先の音まで予約しておく「先読みスケジューリング」で音を鳴らし、タイミングがぶれないようにした。振り子のアニメーションも毎フレームAudioContextの時刻を読んで描くので、見た目と音がずれない。

振り子は、実物のメトロノームと同じく、振り子が中央を通過する瞬間に音が鳴るように合わせた。端で止まる瞬間に鳴らすと、見た目のリズムと音が食い違って気持ち悪く感じる。この調整は実際に動かして目と耳で確かめながら詰めた。

開発の大部分はClaude Codeで進めた。先読みスケジューリングのような定番の手法はAIのほうから提案してくれて助かった一方で、cowbell.wav という名前のファイルの中身が実はドラムスティックの音だった、というミスはコードを読んでも見つからず、実際に音を聴いて初めて気づいた。コードは正しく動くのに、中身が名前と合っていない。AIと一緒に作るときは、こうした間違いを人が耳で確かめることが欠かせないと実感した。

よくある質問

スマホの画面が消えると止まりますか?

再生中は画面のスリープを防ぐので、練習中に画面が消えて止まることはない(対応ブラウザのみ)。

オフラインでも使えますか?

使える。一度開いてホーム画面に追加しておけば、電波のない場所でもアプリのように起動できる。

料金はかかりますか?

かからない。すべての機能を無料で使える。

曲のテンポが分からないときは?

タップテンポを使うと、曲に合わせてボタンを叩くだけでBPMを設定できる。

曲ごとに設定を切り替えたいときは?

1〜5の設定バンクに、テンポ・拍子・音色の組み合わせを残しておける。変更は自動で保存され、次からはボタン1つで呼び出せる。

音が鳴らないときは?

端末の音量とマナーモードを確認する。iPhoneではサイレントモードがオンだとブラウザの音が鳴らないことがある。画面フラッシュによる視覚メトロノームも使える。

同じカテゴリの制作物

Chordpernicus
音楽・オーディオ Web

Chordpernicus

既存のコード進行を機能和声を保ったままAIがリハーモナイズするWebアプリ。理論解説付きでMIDI試聴・DL可能。

  • #Claude API
  • #JavaScript
  • #MIDI
  • #Cloud Run
TaktKey
音楽・オーディオ Windows

TaktKey

全アプリのキー入力に打鍵音を付与するWindows常駐タスクトレイアプリ。8音色の物理DSPを搭載。

  • #C#
  • #WPF
  • #DSP
Chord Eureka
音楽・オーディオ Web

Chord Eureka

キーワードと気分を選ぶだけでAIがコード進行を生成。ピアノロール表示・MIDIエクスポート対応。

  • #Claude API
  • #Tonal.js
  • #midi-writer-js
  • #Express.js