どれ使う?プログラミング教育ツール

「micro:bit」で曲を演奏しよう~ “さくらさくら”のメロディをプログラミング!

 2020年度からついに小学校でプログラミング教育が実施されます。これに伴い家庭でも手軽にプログラミングを学習できるツールが多数登場していますが、どんなツールを使えばいいのか迷ってしまう方も多いのではないでしょうか? そこで本連載では家庭でのプログラミング教育にピッタリなお勧めツールを紹介していきたいと思います。

 突然の休校で家で過ごすことの多い長い休みが続いているお子さんが多いと思いますが、プログラミングは家の中で楽しめることのひとつです。今回は「micro:bit」を使って簡単なメロディを演奏するプログラムを作ってみましょう。「micro:bit」は小さな基板ひとつ分のマイクロコンピューターですが、プログラミングのアプリは無料で利用できます。画面内のシミュレーターでプログラムを試すことができ、特に今回のプログラムは本体がなくてもじゅうぶん楽しめるのでぜひ試してみて下さい。

“さくらさくら”を楽譜でチェック

 今回は“さくらさくら”のメロディをプログラミングします。桜も咲いていい季節になりましたが、例年のようなお花見はなかなかできないと思いますので音で楽しみましょう。最初に曲を楽譜で確認しておきます。楽譜が読めない方でも、この楽譜のドレミの文字と、音符の形の対照表さえあれば、これらを読み取って簡単にプログラムができます。

“さくらさくら”の楽譜
音符の形と拍数の対照表

「MakeCode for micro:bit」でプログラミング

 最初にmicro:bitのプログラミングアプリである「MakeCode for micro:bit」を開き、[新しいプロジェクト]を作成します。

MakeCode for micro:bitの最初のページ

 [A]ボタンを押したときにメロディーが流れるようにしましょう。プログラム編集画面にはじめから置いてあるブロックは使用しないので削除します。[入力]カテゴリーから[ボタン“A”が押されたとき]ブロックを選びます。

[入力]カテゴリーの[ボタン“A”が押されたとき]ブロックを配置する

 音符ひとつに対して音のブロックをひとつ使います。[音楽]カテゴリーから[音をならす 高さ(Hz)“真ん中のド” 長さ“1”拍]ブロックを選び、[ボタン“A”が押されたとき]ブロックの間に入れます。音のブロックを入れると、シミュレーターにワニ口クリップの配線が表示されました。micro:bit本体にはスピーカーが内蔵されていないため、スピーカーを接続する必要があることを示しています。シミュレーターではパソコンから音が出ます。

[音をならす 高さ(Hz)“真ん中のド” 長さ“1”拍]ブロックを配置したところ。シミュレーターに配線が表示された

音の高さと長さを指定

 音の高さを指定します。“さくらさくら”の楽譜を確認してください。最初の音は“ラ”と書いてあります。音のブロックの“真ん中のド”と表示されている箇所にマウスを合わせると、鍵盤と音の名前が示されるので、“真ん中のラ”を選んでください。

鍵盤とドレミの表記を参考に音を選ぶ。選んだ直後は440(Hz)と周波数の値が表示されているが、選択し終わるとドレミ表記になる

 次に音の長さを指定します。音符の形を見ると1拍分の長さだとわかりました。音ブロックの長さはもともと1拍なので、変更する必要はありません。この調子で、楽譜で示されている音符を音ブロックに置き換えていきましょう。3つ目の音までいくと、音符の形が変わります。対照表を見ると2拍分だとわかりますので、拍数を“2”に変更します。

3つ目の音を、“真ん中のシ”で“2”拍に指定しているところ

 この調子で楽譜の音符の通りの順番で音のブロックを並べていきます。楽譜の最初の列を全てプログラムすると以下の通りになります。シミュレーターのボタンA部分をクリックすると音が再生されますので、正しいメロディが奏でられるかどうか試してみましょう。

楽譜の最初の列4小節分をプログラムしたところ

 ここまではシミュレーターだけで楽しめます。

「micro:bit」本体にプログラムを転送する

 さらに、プログラムをダウンロードしてmicro:bitに保存すれば、ボタンを押すだけで“さくらさくら”が流れるBGMマシンが出来上がります。

micro:bitをパソコンに接続してプログラムを転送。プログラムを転送すれば単体で楽しめる
micro:bitにはスピーカーが内蔵されていないので、スピーカーと電池(micro:bit本体とスピーカーに給電できるもの)が必要。この写真では、重ねてネジ留めできるスピーカーモジュールと電池モジュールを使用している

 このサンプルでは楽譜の最初の段だけをプログラムしましたが、ぜひ、曲の最後までプログラミングしてみてください。