音を出してみよう

Scratchで出す音には、スプライトに持つ音と、Scratchに内蔵している音の二つがあります。

1.スプライトの持つ音

 (例)スクラッチキャットが持つ音

音タブを選択するとスプライトが持つ音が波形として表示されます。

1)いろいろなイベントを学んできたのでクリックしたら鳴かせてみよう


2)ついでに、イテッ! と言わせてみよう


3)これだけでは面白くないので見た目を変化させてみよう

i)コスチュームの使い方

ビットマップ画像とベクタ画像

・ビットマップ画像は、画像を格子状に切った小さな四角1つ1つに色を塗っていく方式で作成した画像です。
ラスタ画像と言うこともあります。

・ベクタ画像は、座標と式で図形を表す方法で作成した画像です。
例えば、直線を描く場合は、起点(2, 0)の座標から終点(0, 5)の座標まで直線を書くという感じです。
「直線を書く」という部分が式になります。

ベクタは表示するのに計算が必要なので、複雑な画像を表示する場合は、時間がかかります。
しかし、ビットマップは、保存してあるピクセルを表示するだけなので、複雑な画像でも表示が速いことが長所です。
一方、ベクタは、画像を座標と式で表現しているので、拡大しても綺麗に表示されることが長所です。

2)ツールの説明
3)手順
コスチュームの複製

グループ解除

目と口削除

線で目と口を描く

ブロックを追加

2.Scratchの音楽拡張機能で使える音源


オルゴールを作る

次のブロックを完成してみよう


このほか、好きなブロックをくみ上げてみよう。何の曲かな?






曲を読み込む

一音一音追加していくのは大変
いろいろな曲を演奏するためには音符データを読み込めるようにすると便利
データのダウンロード
スプライトは何でもOK
変数を追加する。(習慣的にi,j,k,l,m,n等を使っていた)
 

楽譜の読み込み
楽譜データを読み込むための準備
「変数」は、一つの値しか保存できないが、「リスト」なら複数の値を持つことが出来る。
リスト「songs」を追加する。

リストにデータを読み込むためには、リスト変数を右クリックして、「読み込み」を選択し、
ファイル選択のウィンドウで、「主よ人の望みの喜びよ1.txt」を選択する

そして、スクリプトを組んでゆく。

この場合、先にリストを読み込んでおく必要があるが、スクリプト内で読み込むために、スクリプトを改編する。

音符の長さを変える

この曲は、すべての音符が同じだったため、音符の読み込みだけで演奏することが出来た。
しかし、ほとんどの曲は音符の長さが混ざっているため、工夫する必要がある。
まず、データのルールを決める。音符と拍数のそれぞれのリストを作り、順番に読み出すこととする。 次に、リスト「音符」とリスト「長さ」を定義する。
Largoリスト
そして音符には「Largo音符.txt」を長さには「Largo長さ.txt」を読み込む。
Largoデータの読み込み
スクリプトには上から順に音符と拍数を読み出し演奏させてゆく。

Largoスクリプト
これで、拍数の違う曲でも演奏することができる。

一つのリストで管理する

上の例では、一つの楽譜が2つのデータに分かれているため、管理するファイルが多くなる。
そこで音程、長さを一組とし、データを作成することでファイルを少なくすることができる。

また、ここまでは休符のない演奏であったが、ほとんどの場合休符が入っている。
Scratchでは「○拍休む」という別のブロックになるため、音符のリストには休符が入れられない。
(0という音符は1の音が再生されてしまう)

そこで休符を表すために、音程が「0」の場合は休符扱いし、休む拍数を記入することとする。
そして、2つ一組ののデータを読み出すため、繰り返し(ループという)をデータの長さの半分とし、
カウンタを2ずつ増加させ、音符と長さに分け、演奏させる。

合奏するには

ここまでは単音で音を出していたが、和音をや複数のパートを演奏するには、複数のスプライトを用意し、
それぞれに音楽データを読み込ませ、同時に音を出すと実現できる。
合奏データ

スプライト1のスクリプト

スプライト2のスクリプト

ピアノを作る

鍵盤のファイル
白鍵
黒鍵

ドの音のコスチュームを追加する

ドの音のブロックを作る

鍵盤のスクリプト

このスプライトを必要数コピーし、下の表を参照して
それぞれの位置に配置し音階を変更する。

種類 名前 X Y 音程
白鍵 C -144 0 60
D -96 0 62
E -48 0 64
F 0 0 65
G 48 0 67
A 96 0 69
B 144 0 71
黒鍵 C# -120 37 61
D# -72 37 63
F# 24 37 66
G# 70 37 68
B♭ 120 37 70