クムクムロボットで音を鳴らす
クムクムロボットには音を鳴らす命令として「~Hzの音を~秒鳴らす」というブロックがあります。
このブロックは指定したHzの音を指定した秒数鳴らす命令です。
Hzとは周波数のことで、1秒間に何回空気が震えるかを表した数のことです。
Hzの数値を大きくすれば音は高くなり、小さくすると音は低くなります。
今回はこのブロックを使ってクムクムロボットで音楽を奏でてみたいと思います。
音階について
Hzで音の高さを決めるので、音階もHzで指定をしなければいけません。
下の表を参考にドレミファソラシドの音を鳴らしてみましょう。
ド | レ | ミ | ファ | ソ | ラ | シ | ド |
261 | 293 | 329 | 349 | 392 | 440 | 491 | 522 |
オクターブの違う音階はインターネットなどで調べてみて、実際に音を鳴らして確認してみましょう。
音ブロックの使い方
この音を鳴らすブロックの使い方には少しコツが必要です。
次のようにブロックを繋げると音はどのようになると思いますか?
一見ドとレが1秒ずつなるようなプログラムに見えると思います。
しかしこのプログラムを動かしてみると、少しドの音が鳴ってすぐにレの音が1秒間なるという動きになります。
この原因はスクラッチでは繋げたブロックを上から順番に実行していきます。
このプログラムではドの音が1秒鳴るという命令を実行した後に、すぐレの音を1秒鳴るという命令を実行します。
その為、ドの音が1秒鳴り終わる前にレの音が鳴り始めたのです。
ではスクラッチで別の音を1秒ずつ鳴らすにはどうすればいいのか?
答えは次の命令を実行するまでプログラムに待つように命令をすれば良いのです。
そこで使うのが の中にあるというブロックです。
このブロックを使って、ドの音がが1秒鳴るという命令を実行した後に1秒待つように命令をします。
こうすることでドの音が鳴っている間にレの音が鳴るという事を防ぐことが出来ます。
音楽を奏でる
音を鳴らすブロックの使い方を理解出来たら、クムクムロボットで音楽を奏でてみましょう。
音を何秒鳴らすのか? 音の後に何秒待つのか? を工夫し、知っている曲や自分だけのオリジナルソングを作ってみよう。
コメント