utoroのJS解説

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

ドラムセットを替えよう

今回はドラムセットという「パワーセット」や「エレクトロニックセット」などのドラムの音のジャンルを丸ごと替える仕組みを作りましょう。ドラムセットは内蔵音源の仕様に左右されるので、機種によってはサウンドが切り替わらないものもあるかもしれません。ここではMacの内蔵音源で切り替わる9セットで解説しています。まずは下記のリンクを右クリックして別ウインドウで開いてください。

サンプル10(ドラムセットを替えよう)

「Play」ボタンをクリックし、プリセットならパターンナンバー3に切り替えてみてください。メトロノームだけだとサウンド変化がわからないので。「Drum Set」というセレクタを変更してみてください。スネアドラムの音などがかなり変わって聴こえると思います。

ソースを見ていきましょう。htmlはセレクタを1つ追加しただけです。ドラムパートはMIDIチャンネル10なので、ピアノパートにならってchangeSnd9()という名前で関数をコールします。

var drsetはドラムセットの名前、var dmapはそれらの値番号を定義しています。var current_snd9はいくつ目のドラムセットが選ばれているかの数、var true_snd9はそれの実際の値番号が入ります。

function changeSnd9()でドラムセットを切り替えますが、とりあえずセレクタの選択行からcurrent_snd9を取得し、それをもとにdmap配列からtrue_snd9を取得して、Jazz.MidiOut()の命令を実行しているというわけです。

ドラムセット切り替えは、ピアノパートのサウンド変更と同様、まだ自動保存の対象にはしていません。いずれページ全体を自動保存するときがくると思うので、そのときに対象にします。

これでドラムセットのサウンドを替えてリズムパターンを鳴らすことができるようになりました。