スクラッチ(Scratch)でシンセサイザーを作る(詳細解説付)

1.png

今回は、いろいろな楽器の音が出せるシンセサイザーを作ります。スクラッチでは拡張機能でたくさんの楽器の音が出せるのですが、とりあえず5種類の楽器に限定しています。
音階はキーボードを鍵盤に見立ててドがA、レがS、ミがD・・・シがJ、ドがKです。黒鍵はW,E T,Y,Uとなります。
楽器の切り替えもキーボードにしました。数字キーの1から5です。
私が選んだ楽器はピアノ(1)、エレキギター(5)、トロンボーン(9)、フルート(12)、合唱団(15)
カッコ内の数字はプログラム上で使う楽器番号です。合唱団は人間の声が出ます。

今回は外部の画像は使いませんので、まずはスクラッチを起動してください。最初に音楽の拡張機能を追加します。左下の追加アイコンをクリックします。
2.png


拡張機能一覧の中から左上の「音楽」をクリックします。
3.png


緑色のブロックが追加されます。楽器は21種類の中から選ぶことができます。この楽器とは別にドラムも使用でき、18種類の中から選ぶことができます。
4.png

スクラッチキャットのスプライトを削除して新しくスプライトを作ります。作るスプライトは白鍵、黒鍵、楽器選択ボタンの3種類です。それぞれ1個作ればあとはコピーで作れます。
スプライトをコピーすればプログラムもいっしょにコピーされるので1個作ってコードを作った状態でコピーし、一部を修正するという手順で作っていきます。
コスチュームは2種類で、押されていないときと押したときのコスチュームを用意します。
白鍵、黒鍵には押されるキーボードの文字も書いておきます。楽器選択ボタンは数字と対応する楽器名です。
白鍵、黒鍵はコスチューム名をOFF、ONにしました。ONのコスチュームは中をグレーに塗っています。
まずは白鍵から作ります。コスチュームはただの長方形です。描画メニューのTを選ぶと文字を追加できます。
5.png


コードは下図のようになります。ブロックの「変数を作る」で変数として「演奏する楽器」を作っておきます。
6.png

「キーが押されたとき」のブロックの文字はaに変更します。図では音符は60となっていますが、ここをクリックすると鍵盤が表示されてそこから選べます。左右矢印をクリックするとオクターブが変わります。
7.png


コードとコスチュームができたら、これをコピーし、それぞれの白鍵を作ります。コードについては文字をa,s,d,f,g,h,j,kに変え、音符の数値もそれに合わせた数値に変更します。コスチュームの文字も変更します。
8個の白鍵ができたら、最後の白鍵をコピーして黒鍵を作ります。作った黒鍵はコピーして全部で5個作ります。対応する文字と音符の数値も変更します。
 次に楽器選択ボタンを作成します。横長の長方形を作ります。
 コスチューム名はSEL、DESELという名前にしました。DESELは中をグレーに塗っています。
コスチュームに「1:ピアノ」の文字を入れます。DESELのコスチュームの中はグレーに塗っています。
8.png

コードは下図のようになります。(一番下の旗が押されたときの動作は他のボタンには必要ありません)
数字キーが押されたとき演奏楽器の番号をその数字にして他のボタンにメッセージを送ります。
ボタンのスプライトはそれを受け取って自分の番号でなければコスチュームをDESELにします。
これで常にどれかのボタンが選ばれている「ラジオボタン」を構成しています。
9.png


以上で完成です。動かしてみてください。キーボードの数字キーで楽器を選び、文字キーで演奏できます。
特に「合唱団」は面白い音(声)が出ます。
10.png


この記事へのコメント

この記事へのトラックバック