【Robo Blocksの使い方】BGMをフェードアウトさせる
ソフトバンクロボティクスでPepperを使ったプログラミング教育を担当してる佐藤です!
今回はBGMを使用する時に便利なフェードアウトを作る方法を紹介します!
フェードアウト
フェードアウトとは音量がだんだん小さくなって消えていくことです。
テレビなどでBGMを止める時に、だんだん小さくして消しているのを頻繁に耳にすると思います。急に音を止めるとぶつ切り感が出てしまい、見ている方が違和感を覚えてしまうからです。
これはPepperのプログラムでも同じことが言えますのでRobo BlocksでもフェードアウトでBGMを止めてみましょう!
Robo Blocksで作る
Robo Blocksでフェードアウトを作るためには、音量を変化させる "ボリュームを○ずつ変える"ブロックを使用します。
これを利用してボリュームを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ブログ編集部━┛