8月8日のDojo(オンライン)に参加した際にScratchの音にこだわってみようと、思いつくことをあれこれ作ってみました。
最初はこちら(別サイト)で書き始めたのですが、続きはここにまとめてみます。
コードレッスン(Chord lesson)
上の別サイトで紹介済みですが、あらためて1つ目に作ったのがこちら。
ハーモニー(和音)を表現するのに簡単な方法がないかと考えて、あらかじめコード進行を決めておいてボタンクリックで音を出せるようにしてみました。
ここで、音を鳴らすブロックを縦に重ねると1つ1つの音が順番に鳴ってしまって同時に鳴らすことができません。そのため、コード名を書いたボタンを用意しておいて、それをクリックするとコード名をメッセージで送るようにしてみました。そしてコーラス隊のそれぞれのスプライトがメッセージを受け取って各自が音を鳴らす(歌う)ようなイメージです。
ハイパーDJ ボックス(Hyper DJ Box)
2つ目はDJ風にしてみました。前のコーラス隊からの発想で、リズムパターンを流しておいて、好きなタイミングでパーカッションや猫などいろいろな音を効果音として鳴らせます。
例えばベースの音を鳴らす場合、次のように書いてみました。
このパターンで必要な音をブロック定義で追加します。音程は音源(上の例は C Elec Bass)を基準としてピッチを 10 単位で変えることで半音ずつ変化します。音符の長さは len という変数でミリ秒単位で設定しています。
この方法の場合、音源のピッチを変えると音の長さも変わるので注意が必要です。タイミング自体は待つことで調整できますが、ピッチを大きく変化させると音を鳴らして消えるまでの時間が元の音よりも長くなったり短くなったりします。
ここまで作ったところで「音楽」拡張機能に気がつきました。前に使った気もするのですが、すっかり忘れていました。
ハイパーDJ ボックス改造版(Hyper DJ Box EX)
ということで上のDJボックスのドラムの部分を「音楽」拡張機能で改造したものが次のアプリです。
ドラムだけでなく、ベースも「音楽」拡張機能で書き換えても良かったのですが、「音楽」拡張機能で使えるベースの音色がアコースティックベースのみでエレクトリックベースが選べなかったので前に紹介したDJアプリと同じままにしています。曲想を変えればドラムとベースを「音楽」拡張機能で書き換えてタイミングをしっかり合わせることができると思います。
音楽ネタはこれぐらいかなと思ってしばらく手を止めていたところ、ふと次のアイディアを思いつきました。
音当てクイズ(Pitch quiz)
Qボタンを押すとピアノの音が鳴ります。それが何の音かをキーボードをクリックして回答するアプリです。10問あってScore?を押すと正解数に応じて音が鳴ります。
Easyモードは白鍵のみ。Hardモードは白鍵と黒鍵からランダムに出題されるので難しくなります。Hintを押すとCの音を確認することができます。ヒントなしで解けるか頑張ってみてください。
いよいよここまでか、と思ったらさらに次のネタを思いつきました。
ハイパービートボックス(Hyper beat box)
「音楽」拡張機能を使ってリズムパターンを作れるようにしてみました。グレーのボタンをクローンで16個x4段用意して、ボタンをクリックで ON/OFF を設定できます。パターンができたら右上のボタンでスタート・ストップで確認します。左側の4つのボタンはそれぞれのトラックをON/OFFできます。
例えば次の画像のように設定すると、8ビートのパターンが作れます。
1回のメッセージで4拍分を鳴らしていて、再生する環境によっては4拍目あたりがちょっと詰まったり遅れたりする感じがあるかもしれません。改善の余地あり。
以上、Scratchの音を使っていろいろ作ってみました。
備考
- ScratchBlocksの書き方(Scratch Wiki)
- scratchblocks(GitHub)