utoroのJS解説

JavaScriptプログラムの解説。動作条件の説明があるので先頭から読んでください。

リズムも鳴らそう

2段キーボードがとりあえずできあがったので、次は伴奏のリズムを鳴らしてみます。これもJazz-Pluginのサイトにあるサンプルを元にして増設します。まずは下記のリンクを右クリックして別ウインドウで開いてください。

サンプル6(リズムを鳴らす)

下にある「Play」ボタンを押すとメトロノームサウンドでリズムが鳴ります。2、3、4拍子が選べてテンポも変えることができます。練習だけならこれでも十分ですね。

ソースを見てみましょう。html部分はまあオーソドックスな感じです。JSのほうは短いながらも内容は濃いです。

function play()では、「Play」ボタンの表示を「Stop」と切り替えています。function tick()が実際のリズム演奏部分で、countが0のときだけメトロベルを鳴らし、ほかはメトロクリックを鳴らします。intervalの長さだけ待機して、再びtick()を繰り返しループします。ループからの脱出はfunction play()内でclearTimeout()が実行されることにより、演奏をストップします。

changebeat()で2〜4拍子を切り替え、changetempo()ではintervalという変数の値を変えることでfunction tick()の繰り返し実行の周期をコントロールしています。

これでシンプルなメトロノームをバックに演奏できるようになりました。