見出し画像

【Robo Blocksの使い方】BGMをフェードアウトさせる

ソフトバンクロボティクスでPepperを使ったプログラミング教育を担当してる佐藤です!
今回はBGMを使用する時に便利なフェードアウトを作る方法を紹介します!


フェードアウト

フェードアウトとは音量がだんだん小さくなって消えていくことです。
テレビなどでBGMを止める時に、だんだん小さくして消しているのを頻繁に耳にすると思います。急に音を止めるとぶつ切り感が出てしまい、見ている方が違和感を覚えてしまうからです。
これはPepperのプログラムでも同じことが言えますのでRobo BlocksでもフェードアウトでBGMを止めてみましょう!

ぶつ切りで止める例

Robo Blocksで作る

Robo Blocksでフェードアウトを作るためには、音量を変化させる "ボリュームを○ずつ変える"ブロックを使用します。

"ボリュームを○ずつ変える"ブロック

これを利用してボリュームを0にします。
だんだん小さくしながら最終的に0にすればフェードアウトになりますから、繰り返しこのブロックを実行します。そのために"○になるまで繰り返す"ブロックを使いループを作成します。作成したループが以下になります。

ボリュームが0になるまで繰り返す

条件に使用した"ボリューム"には現在のボリュームの値が入っています。この値が0になるまで引いていきましょう。

現在のボリュームの値

作成したのが以下のブロックになります。

ボリュームが0になるまで繰り返し、最後は止める

この時、"○秒待つ"ブロックを入れないと一瞬でループが回りきってしまい、演出として成り立たなくなってしまいますのでご注意ください。待つ秒数は色々試してしっくりくる値を見つけましょう。
これでBGMをフェードアウトさせることができました。

音量を戻す

フェードアウトはできましたが、この後にさらに音を流したり、Pepperを喋らせようとしても音量が0になっているため音が出ません。そのため、フェードアウトが完了したら音量を元に戻す必要があります。
元に戻すためには元の値を記録しておく必要がありますので、変数を利用しましょう。
音量を弄る前に、プログラムの開始直後に格納すると良いと思います。
ここでは変数"元の音量"に開始時のボリュームを格納しました。

スタート直後に元々のボリュームを格納しておく

あとはフェードアウト後に用意した変数を使って音量を戻せば良いだけです。

フェードアウト終了後に音量を戻す

まとめ

今回はBGMを使うときに便利なフェードアウトを紹介しました。
とりあえず音を止めるときにはフェードアウトさせておけばそれっぽくなるというとても便利な小技になります。
BGMを止めるときに違和感が出てしまうような場合には是非ご利用ください!

また、フェードアウトとは逆に0からだんだん大きくしてBGMを流すというフェードインという演出もあります。今回の逆を行えばフェードインも作れますので、是非こちらもお試しください!

┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
ソフトバンクロボティクス株式会社 ホームページ
https://www.softbankrobotics.com/jp/

Pepper教育関係者フォーラム
https://pepper-schoolchallenge.com/

Pepper for Education
https://www.softbankrobotics.com/jp/product/education/

STREAMチャレンジ
https://www.softbankrobotics.com/jp/product/academy/stream/

━━━━━━━━━━━━━━━━━━━━Pepperブログ編集部━┛