Scratchは、視覚的にプログラミングを学べる環境として、多くの教育現場や個人で利用されています。その中でも「調べる」カテゴリにある 「音量」 ブロックは、マイク入力の音量をリアルタイムで取得できるため、音声インタラクションを取り入れた作品作りに役立ちます。今回は、この「音量」ブロックを使った基本的なプログラムと、応用的なプログラムの2つを紹介します。
1. 基本編:音に反応してスプライトが動く
まずは、マイクからの音声入力に応じてスプライトが動く簡単なプログラムを作成します。例えば、手を叩いたり声を出したりすると、スプライトがジャンプする動作を実現できます。
スクリプト
when green flag clicked
forever
if <(loudness) > 30> then
change y by 10
end
end

解説
when green flag clicked
:緑の旗がクリックされたときにスクリプトが開始します。forever
:この中の処理を永遠に繰り返します。if <(loudness) > 30>
:音量が30を超えた場合に、内部の処理を実行します。change y by 10
:スプライトのY座標を10増加させ、上方向に移動させます。
このプログラムでは、音量が一定の閾値(ここでは30)を超えると、スプライトが上に移動します。音量の閾値は、環境やマイクの感度に応じて調整してください。
2. 発展編:音量に応じてスプライトの大きさを変える
次に、マイクからの音量に応じてスプライトの大きさが変化するプログラムを作成します。これにより、音の大きさによってスプライトが大きくなったり小さくなったりする視覚的な効果を楽しめます。
スクリプト
when green flag clicked
forever
set size to ((loudness) * 2 + 100)%
end

解説
set size to ((loudness) * 2 + 100)%
:音量に2を掛けて100を足した値をスプライトの大きさ(サイズ)に設定します。
このプログラムでは、音量が大きくなるとスプライトも大きくなり、音量が小さくなるとスプライトも小さくなります。(loudness) * 2 + 100
の部分は、音量に応じたサイズの変化を調整するための式で、環境に合わせて係数や加算値を変更すると良いでしょう。
まとめ
「音量」ブロックを活用することで、マイク入力を使ったインタラクティブな作品を作成できます。基本的な音量検知から、音量に応じたスプライトの変化など、工夫次第でさまざまな表現が可能です。ぜひ、これらの例を参考にして、自分だけのオリジナル作品を作ってみてください。