メトロノームは音楽の練習に欠かせないリズムキープの道具です。このツールはBPMをスライダーで直感的に設定でき、タップテンポ機能でリズムを叩くだけでBPMを自動計測できます。2/4・3/4・4/4・6/8の4種類の拍子に対応し、ブラウザだけで完結します。
BPMとテンポ記号の関係
BPM(Beats Per Minute)は「1分間に何回ビートを刻むか」を表す数値です。BPM60なら1秒に1回、BPM120なら0.5秒ごとにビートが来ます。
楽譜にはBPMの代わりにイタリア語のテンポ記号が書かれることが多く、Largoは「40〜60 BPM」、Andanteは「76〜108 BPM」、Allegroは「120〜168 BPM」が目安です。
ポップスやダンスミュージックでは「BPM128」のように数値で管理されることが多く、音楽制作ソフト(DAW)でもBPMは基本設定の一つです。
拍子(2/4・3/4・4/4・6/8)の違い
拍子は「1小節に何拍入るか」を決める記号です。4/4拍子なら1小節に4拍、3/4拍子なら3拍が基本単位になります。分母は音符の種類(4なら4分音符、8なら8分音符)を示します。
4/4拍子はポップス・ロック・ジャズで最もよく使われ、「1・2・3・4」と数えます。1拍目にアクセントがあります。
3/4拍子(ワルツ)は「1・2・3」の3拍で1小節。6/8拍子は8分音符が6つで1小節ですが、「1・2」の2大拍として感じるのが一般的です。
タップテンポの使い方
タップテンポはBPMを数値で指定するのが難しいときに便利な機能です。好きな曲を聴きながらビートに合わせてタップボタンを叩くと、タップ間隔の平均からBPMを自動計算します。
精度を上げるには4〜8回タップするのが目安です。3秒以上間隔が空くと計測がリセットされます。
ランニングのケイデンス(1分間の歩数)計測やダンスの振り付け確認にも活用できます。自分の動きのテンポをタップするだけでBPMがわかります。
Web Audio APIで実現する正確なタイミング
setIntervalやsetTimeoutはJavaScriptのシングルスレッドの影響でタイミングがずれることがあり、音楽用途には精度が不足する場合があります。
このツールはWeb Audio APIの「ルックアヘッド・スケジューラー」方式を採用しています。100ms先のビートをまとめてスケジュールすることで、タイマーの揺れに左右されない正確な音のタイミングを実現します。
視覚的なビートインジケーターはrequestAnimationFrameでオーディオ時刻と同期して更新しています。
練習への活用例
- スケール練習:遅いBPM(60〜80)でミスなく弾き、10 BPMずつ上げて目標速度まで持っていく
- リズム感強化:拍の裏(8分音符の2番目)に手を叩く練習でリズム感を鍛える
- 楽曲のBPM計測:好きな曲を聴きながらタップテンポで曲のBPMを確認する
- ダンス・振り付け:曲のBPMに合わせて動きを確認し、一定のリズムを身体に覚えさせる
- 作曲・DTM:「このサビは120 BPMが気持ちいい」とBPMを体感で確認する
※ 音はWeb Audio APIのオシレーター(正弦波)で生成しています。ヘッドフォン使用を推奨します。
※ ブラウザのオートプレイ制限により、スタートボタンを押した後にのみ音が鳴ります。
よくある質問
Q タップテンポがうまく計測できません。どうすればいいですか?
最低2〜3回でBPMが表示されますが、精度を上げるには4〜8回タップするのが目安です。3秒以上間隔が空くと計測がリセットされます。一定のテンポでリズミカルに叩いてください。
Q 音が出ません。どうすればいいですか?
ブラウザのオートプレイ制限により、スタートボタンを押した後にのみ音が出ます。スマートフォンの場合はミュートスイッチや音量設定を確認してください。
Q 6/8拍子では1拍目だけアクセントになりますか?
このツールでは各小節の1拍目(beatIndex=0)に高い音(アクセント)を入れています。6/8を「2大拍」として4拍目にもアクセントを入れたい場合は、BPMを半分にして6/8→4/4に近い感覚で使う方法もあります。
Q 再生中にBPMを変えられますか?
再生中はスライダーが無効になります。一度停止してBPMを変更し、再スタートしてください。タップテンポで変更した場合も、次の再スタート時に反映されます。
