micro:bitには標準で音楽を鳴らすブロックが準備されています。
micro:bitで音楽を鳴らす方法について紹介します。
「メロディを開始する」ブロック
「音楽」の中に「メロディを開始する「ダダダム」繰り返し「一度だけ」」ブロックがあり、これを使う事でmicro:bitで事前に準備されているメロディを鳴らす事ができます。
![](https://w-tori.net/wp/wp-content/uploads/2020/03/0101_「メロディを開始する」ブロック.jpg)
「最初だけ」ブロックに配置して音楽が鳴る事を確認してみましょう。
![](https://w-tori.net/wp/wp-content/uploads/2020/03/0102_メロディを鳴らすプログラム.jpg)
プログラムを組むとシミュレーターが動き、音楽が鳴ります。
「ダダダム」の部分を変更する事でメロディの種類を変更できます。
また、繰り返しの「一度だけ」では音楽が終わると無音のままになってしまいます。
「一度だけ」を「ずっと」に変更するとリピートして音楽を流し続けてくれます。
バックグラウンド
くり返しには「一度だけ」「ずっと」以外に「バックグラウンドで一度だけ」「バックグラウンドでずっと」のように「バックグラウンド」で音楽を鳴らす事もできます。
メロディは同時に1つだけしか鳴らす事ができません。
メロディが鳴っている時に新しいメロディが鳴り出すとそれまで鳴っていたメロディは停止します。
![](https://w-tori.net/wp/wp-content/uploads/2020/03/0101_メロディの上書き.jpg)
そこで途中で停止してしまう側を「バックグランドで~」に変更すると新しいメロディが終わると停止したメロディが再開します。
![](https://w-tori.net/wp/wp-content/uploads/2020/03/0202_バックグラウンドで鳴らす.jpg)
メロディの開始、終了で動作させる
「最初だけ」ブロックや「ずっと」ブロックなどイベントの開始に実行するブロックがメロディ用にも存在します。
「音楽「XXX」とき」ブロックがメロディにまつわるイベント用のブロックです。
「XXX」は選択式でイベントに対応するブロックにする事ができます。
「音楽「メロディを開始した」とき」ブロック
「音楽「メロディを開始した」とき」ブロックはメロディを開始したタイミングで実行するブロックです。
「音楽「バックグラウンドのメロディを開始した」とき」ブロックはバックグラウンドのメロディに対して開始したタイミングで実行するブロックです。
![](https://w-tori.net/wp/wp-content/uploads/2020/03/0301_「音楽「メロディを開始した」とき」ブロック.jpg)
「音楽「メロディが終わった」とき」ブロック
「音楽「メロディが終わった」とき」ブロックはメロディが終わったタイミングで実行するブロックです。
「音楽「バックグラウンドのメロディが終わった」とき」ブロックはバックグラウンドのメロディに対して終わったタイミングで実行するブロックです。
![](https://w-tori.net/wp/wp-content/uploads/2020/03/0302_「音楽「メロディが終わった」とき」ブロック.jpg)
その他のブロック
選択できる項目は他にも有るのですが使ってみてもどのタイミングで実行するブロックになるのか分からなかったです。
また詳細が分かれば別の機会に紹介したいと思います。
![](https://w-tori.net/wp/wp-content/uploads/2020/03/0303_その他のブロック.jpg)
![]() |
![]() |
メロディに無い音楽を鳴らす
「音楽」には「メロディを開始する」以外に「音を鳴らす」を組み合わせる事で音楽を作って鳴らす事ができます。
指定は音階(または休符)と長さ(拍)を指定する事ができます。
![](https://w-tori.net/wp/wp-content/uploads/2020/03/0401_音符ブロックと休符ブロック.jpg)
例えばディズニーで有名な「星に願いを」を鳴らすには以下のように組む事でメロディを鳴らす事ができます。
![](https://w-tori.net/wp/wp-content/uploads/2020/03/0402_自作メロディ「星に願いを」.jpg)
実際には3拍鳴らす必要があるのですが長さに3拍を指定できないため3拍音符1拍休符のところを2拍音符2拍休符の組み合わせで実現しています。
まとめ
準備されている音楽を使う場合には「メロディを開始する」ブロックで、メロディを作って鳴らす場合には「音を鳴らす」ブロックを組み合わせる事で自在に音楽を鳴らす事ができます。
また、音楽の開始と終了にはイベントが実行されるのでそのタイミングで動作させたい事があればプログラムを組んで実現する事も可能です。
音楽グループには他にもブロックが存在するのでいろんなブロックを試してみてどんな事ができるか確認し、自分なりのプログラムを作ってみてください。
コメント