Scratchで簡単な音楽の演奏(その4)ギターパートの追加

前回の続きです。前回は夕焼け小焼けのメロディーにドラムパートとベースパートを追加しました。今回はこれにギターパートを追加します。ギターのパートを追加するポイントは和音を使うということです。今までは全て単音での演奏なので新規にScratchのメッセージを使って和音を出すということをやってみます。
今回の最終的なプログラムは以下です。演奏の最終形は最後にあります。
Scratchのプログラム最終版

曲(メロディー)について
夕焼け小焼けの曲で楽譜は以下です。クリックで拡大出来ます。

Scratchのメッセージについて
文字通りメッセージなのですが、特定のメッセージを送って、受け取った方はそのメッセージによって何かの処理をするということです。以下は簡単な確認です。メッセージ1を送る処理とメッセージを受け取った処理に分かれています。この場合は同じスプライトですが別のスプライトでもメッセージのやり取りが出来ます。それでこれをギターパートでどう使うのかということですが順番に書きます。

(ギターの)コードについて
今回の曲で出てくるコードは以下です。まあEm(イーマイナー)は一回だけでそこはCでもいいような気もしますが、Emも使ってみます。
C,F,G,Em
知識をお持ちの方は分かるとは思いますが、コードについては簡単には説明出来ませんのでここではこのコード名でギターの和音(押さえ方)が決まってそれを伴奏に使うということにします。

単純な和音の構成音は以下です。必ずしもこの順番ではなくて順番を変えて転回形として使います。
C ドミソ
F ファラド
G ソシレ
Em ミソシ

Scratchでどう演奏するのか
それでこのギターのコードをどう演奏するのかですが、ギターコードのパート(全部で4つ)を作ってそのパートでコードの和音を鳴らします。鳴らすタイミングは前項のメッセージを受け取った時とします。実際にやってみます。とりあえず新規のプログラムでやってみます。

GtCというスプライトで以下を作成します。

別のスプライトで以下を作成します。フラッグのイベントで3和音が鳴ることが確認出来ると思います。

ギターの弦は6本だろーとなりますが、ここではギターの音で3和音を演奏するということでお願いいたします。

夕焼け小焼けにギターのパートを追加
前回までの夕焼け小焼けにギターコードのパートを追加します。このパートは1小節単位で使えるように1小節単位の演奏にします。ここでは2拍と4拍に短めのストロークで演奏します。以下ではGtCというスプライト(パート)を作成しました。同じように4種類のコードを作成します。プログラムのかたまりの右クリックから複製が使えますのでこれを使えば作業が進むと思います。音の高さは聞きながら転回形も使います。そんなの分からんという場合はルートからでもいいと思います。

ギターのコードパートをどう使うか
実際のギターの演奏は他のパートと同時にフラッグのイベントでコードのメッセージを送れば出来ます。但し、メッセージを送って待つを使わないと全く合わなくなります。やってみます。以下のようになりました。

最後の小節(エンディング)が変
ということでGtC2とでもしてもう一つパートを作ります。これはC2を受け取ったらということにしてエンディングに合わせます。

ここまでの演奏が以下です。これで最終形とします。

まとめ的に
単純に演奏を作っていて面白かったと思いました。ということはプログラミングに興味があって音楽にも興味がある人はぜひ何か作ってみればと思いました。Scratchの観点としてはパートをスプライトに割り当てるということとメッセージで和音を出すというのがポイントと思います。音楽としてはWindows10のデフォルトの音源ではこの程度というのがあるとは思いますが、それは今後のテーマとして考えたいです。

(2019/08/06 少し追記)
Windows10のデフォルトの音源とは Microsoft GS Wavetable SW Synth(ここからMSGSと省略して書きます。) のことです。Scratchの音楽拡張機能がMIDIだとすればこの音源を鳴らしているのだろうということです。

確かにこのMSGSの音は一般的には評価はよくないのですが、それはDAW(Digital Audio Workstation)で制作した本格的な音と比較すればということです。MSGSをデフォルトの音源として考えれば充分な品質という意見もあります。ですのでScratchでの音楽はこのままで楽しめばいいとも思いました。