単純な 決まりに 従った 演奏 命令を 理解 し、 入力 → 演奏 → 修正の ループを 体験 する ことで、 コンピュータを 命令通りに 動かす ことに 興味を 持って もらう ことを 狙いと します。
演奏 命令 (楽譜 情報+α)を 入力 すると それに 従って 演奏 させる ことが できる ソフトウェアを 使用 します。
まず 演奏 命令の 決まりを 理解 し、 音楽 経験の 影響が 小さい リズムを 使って 入力・ 演奏を 体験 します。 その 後 ドレミの 音階を 含む 演奏に 進み、 慣れた ところで 思い 思いの 曲 演奏に チャレンジ して もらいます。
・ 教材 システム 「Text Score」: サーバで 動作 させ、 参加 生徒分の アカウントを 準備 します。 参加 生徒 同士が 自分 以外の データを 見られても 問題が ない 場合には 一つの アカウントを 全員で 利用 する ことも できます。 クラス中での 無駄な 操作を 避ける ため、 曲 情報までは 事前に 作成 して おくのが いいでしょう。
・ 参加 生徒 それぞれに Windows パソコンを 準備 します。 画面 読み上げ ソフトと Web ブラウザ (Firefox, Chrome, IE の うち 読み上げ 可能な もの)を 利用 できるように します。
・ ドレミの 音階を 使った 入力を 行う 場合は 参考と して 利用 できる 題材を その 生徒が 読める 形で 準備 して おくのも よいでしょう。 よく 知られた 曲を 仮名書き した ものなど。
・ 最初の 紹介用、 ドラムの 課題用 などに あらかじめ 適当な 演奏を 用意 して おくと よいでしょう。
Text Scoreの 全機能の 説明は こちらに 掲載 して います。 必要に 応じて ご確認 ください。
http://ushiushix.github.io/text_score/
Text Scoreは サクセスネット 事務局で 管理 する ものを 利用 します。 また 以下の サイトで プログラムを 公開 して います。
https://github.com/ushiushix/text_score/
Text Scoreで 何が できるかの 簡単な 紹介、 サンプル曲の 提示などを 行い、 これから 何を 実現 しようと するかに ついて イメージを 持って もらいます。
ブラウザ上の 操作は 基本的に Tabキー、 矢印キー、 Enterキーで できる ことを 伝えます。
曲を 開いた 状態から 「ドラムを 追加」を 選んで Enterを 押します。 すると 楽譜の 編集 画面に なります。 ここで 「打楽器」まで 移動 して 上下 矢印キーで 選択 させ、 いろいろな 打楽器が ある ことを 確認 します。
次に ステップの 欄に 移動 し、 1拍が 48で ある こと、 その 半分は 24、 倍は 96と いう 風に なって いる ことを 伝えます。 「長さ」の 欄は ドラムでは 使いません。
「追加」 ボタンを 4回 押します。 楽譜欄に 移動 して 内容を 確認 します。 選んだ 楽器を 示す 数値と ステップの 48が 4行 挿入 されて いる ことを 確認 し、 これが 演奏 命令に なって いる ことを 伝えます。 「保存」を 押して 保存 したら、 「再生」を 押して 演奏 させて みます。 各自 選んだ 打楽器が 4回 演奏 される ことを 確認 します。
楽譜欄の 内容を 削除 し、 今度は 打楽器音を 拍ごとに 変えて 追加 して みます。 追加 したら 保存 して 再生 させます。 各自 違った 打楽器が 順に 再生 されて オリジナリティーが 出て きます。
再度 楽譜欄を クリア し、 今度は ステップを 拍ごとに 変えて 入力 します。 保存 し 再生 させると、 単純な 4拍とは 違った リズム パターンが 演奏 されます。 ステップを 小さく すると 間隔が 短く なります。 0に すると 二つ 同時に 鳴らせる ことに 気が つく 生徒が いるかも しれません。
課題の リズムを 聞いて もらい、 それぞれの 打楽器が どれに あたるかを 知らせた 上で、 個々人で 同じように 演奏 できる 演奏 命令を 組んで もらいます。
それが できたら 今度は 自由に 4拍分の パターンを 入力 して もらいます。 最後に それぞれの 演奏を 紹介 して もらいます。
一度 「曲に 戻る」で 曲 情報に 戻り、 「楽器を 追加」を 押します。 楽譜の 演奏 画面に なります。
楽器の 選択が でき、 グランド ピアノを 始めと して いろいろな 楽器から 選ぶ ことが できます。
また、 先ほどは 「打楽器」を 選ぶ 箇所だった ところが 音符に なって いて、 「c4」などと なって います。 最初の アルファベット 「cdefgab」が 「ドレミファソラシ」を 示し、 後ろの 4は 第四 音列、 ピアノで いうと 真ん中の オクターブで ある ことを 説明 します。 c1 は とても 低い ド (音)、 c7 は とても 高い ド (音)に なって います。
「長さ」は 鍵盤を 押して いる 時間に 当たり、 「-」だと ステップの 分だけ ずっと 押して いる ことに なると いう ことを 説明 します。
ステップを 0に すると 和音が 作れる ことに 気が つく 生徒も いるかも しれません。
ドラムの ところで 操作には 慣れて いる ことを 想定 し、 各自で 「ドレミファソラシド」を 入力 して もらいます。 ステップは 自由に 変えて もらっても いいでしょう。
ここまでで 学んだ ことを 使って 楽器の 演奏 命令を 自由に 入力 して もらいます。 いきなり ドレミを 思いつく 生徒と そうで ない 生徒が いると 思いますので、 あらかじめ ドレミで 仮名書き した 短い 楽譜などを 用意 して おくと それぞれが 課題 達成に 近づけるかも しれません。
余裕が あれば、 先ほど 入力 した ドラム トラックと 合わせて 演奏 させて みる ことも できます。 この 際、 ドラム トラックに ループ 命令を 加えて 繰り返させると 曲 全体に わたって 演奏 させる ことが できます。
・ コンピュータの 利用 スキルや 理解力に よって 進度に 差が 出やすいです。 発表なども ある ため、 進みの 遅い 生徒には 適宜 補助を しながら 足並みを そろえる 方が よいでしょう。
・ 説明では 選択 入力 方式を 示しましたが、 楽譜欄に 直接 入力 する 方が 効率 よく 入力 でき、 プログラミング して いる 感覚も 味わえます。 編集 操作への 習熟度に よって 途中から 直接 編集に 切り替えても よいでしょう。
・ 演奏 命令の 仕組みを 理解 し、 それを 使って コンピュータに 指示 する ことが できる。
・ 音符と ステップの 組み合わせを 使って 意図 した リズムを 演奏 する 演奏 命令、 メロディーを 演奏 させる 演奏 命令が 作れる。
4.1 概要と 目的、 目標の 説明
人間が コンピュータに 思った 通りの 仕事を させる ために コンピュータの 理解 できる 言葉で 指示を するのが プログラミングです。
ここでは 画面を 見られない 視覚 障害者に とって、 コンピュータへの 指示の 結果を 直接的に 感じられる ものの 一つと して 音楽を 取り上げます。
ワーク ショップでは 音符、 次の 音までの 時間、 音の 長さから なる 独自の 記述を 用いて コンピュータに 音楽を 演奏 させながら、 簡単な コーディングを 通して 「コンピュータに 指示 して 動かす こと」を 体験 します。
4.2 実施 内容の 説明
4.3 事前 資料
4.4 当日 ワーク ショップ内で 使う 資料
第二部 「Text Scoreでの 楽譜の 書き方」 参照。
-- 「音楽を プログラミング しよう」
1. 音符
テキスト スコアでは ドラムの 音を、 打楽器の 種類、 ステップの 組み合わせで 書きます。
打楽器は 数字に 対応 して いて、 38が スネアドラム、 36が バスドラムです。 他にも たくさんの 楽器が あります。
ステップは 次の 音までの 時間で、 1拍が 48です。
例 1
38 48
打楽器: スネアドラム
ステップ: 1拍
(音)
例 2
36 48
38 48
バスドラムと スネアドラムを 1拍ずつ 演奏 します。 (演奏)
1. 音程
テキスト スコアでは 音程 (音の 高さ)を アルファベットと 数字の 組み合わせで 書きます。
アルファベット: 「ドレミ」に 対応 します。
ドは c、 レは d、 ミは e、 ファは f、 ソは g、 ラは a、 シは b
数字: どの 位置の オクターブかを 示します。 1から 7まで あります。
例:
c4 ピアノの 真ん中の ド (音)
c1 ピアノの 一番 左側の ド (音)
b7 ピアノの 一番 右側の シ (音)
2. 音符
テキスト スコアでの 一つの 音符は、 音程、 ステップ、 音の 長さで 書き表します。
ステップは 次の 音までの 時間を 示します。 48が 1拍です。
音の 長さは 音を 伸ばして いる 時間です。 省略 すると ステップと 同じに なります。
例 1
c4 48
音程: ピアノの 真ん中の ド
ステップ: 48 (1拍)
音の 長さ: ステップと 同じ
(音)
例 2
c4 48
e4 48
g4 48
「ド」 「ミ」 「ソ」が 1拍ずつ 演奏 されます。 (演奏)
例 3
c4 0 48
e4 0 48
g4 48 48
1拍分の 「ドミソ」の 和音が 演奏 されます。 (演奏)
「ー」が 付いて いないのは、 1拍分です。
1. チューリップ
ドレミ_ ドレミ_ ソミレド レミレ_
ドレミ_ ドレミ_ ソミレド レミド_
ソソミソ ララソ_ ミミレレ ドーー_
♪演奏
2. どんぐり ころころ
ソーミミ ファミレド
ソーミミ レーー_
ミーソソ ララーラ
ドーミミ ソーー_
ソーミミ ファミレド
ソーミミ レーー_
ソーミミ ララソソ
ララシシ ドーー_
♪演奏
3. 静かな 湖畔
ドードドーレ ミーミミーミ
レードレーミ ドードソー_
ミーミミーファ ソーソソーソ
ファーミファーソ ミー___ソ
ミーー__ソ ミーー__ソ
ミーソミーソ ミーー___
♪演奏
Text Score は テキストで 記述 した 演奏 命令に 従って 演奏を 行う Web アプリケーションです。
以下のような 機能が あります。
・ テキストに よる 演奏 命令 記述
> 音符、 次の 音までの 時間、 長さ、 音の 強さで 1音を 表現
> 同一 パターンの 繰り返し (ループ)
> 演奏の 一部を まとめて 名前を 付け、 後から 呼び出し (マクロ ブロック)
> 選択 追加に より 音符 入力を 行う 入力 補助
・ 標準 MIDI (GM) 相当の 音色 選択 (フリーの サウンド フォント 使用)
・ 複数 楽器を 重ね合わせた マルチ トラックの 楽曲 作成
なお 本 Web アプリケーションは 科学へ ジャンプ・ サマー キャンプに おける ワーク ショップを 念頭に 開発 しました。 その ため 画面 読み上げ ソフトを 用いた 操作や パソコン 操作に 不慣れな 利用者を 想定 し、 画面上の 要素や ナビゲーションを その場で 必要な 最低限の ものに 絞って います。
##動作 環境 Text Scoreは 以下の 環境で 動作を 確認 して います。
・ Google Chrome 61 以降
・ Firefox 56 以降
・ Internet Explorer 11 (Flashが 必要)
画面 読み上げ ソフトは JAWS および NVDAでの 動作を 確認 して います。 PC-Talker でも 利用 できる ことを 想定 して いますが 動作 確認が 不十分ですので、 問題が ありましたら 開発者まで ご連絡 ください。
Text Scoreを 用いて 演奏 命令を 入力 し、 演奏 させるまでの 操作を 説明 します。 詳細に ついては 画面 詳細 説明を 参照 して ください。
Text Scoreに ログイン したら 「作曲 開始」を 選択 します。 すると 「曲の 作成」 画面に 移動 します。
・ 「題名」に 適当な 名前を 入力 します。
・ 「テンポ」は そのままで 問題 ありません。
・ 「保存」を 選択 します。 曲の 操作 画面に 移動 します。
曲の 操作 画面で 「楽器を 追加」を 選択 します。 楽譜の 編集 画面に 移動 します。
まず 「楽器」欄で お好みの 楽器を 選びます。 ここでは 「Acoustic Grand Piano」と します。
「入力 ガイド」欄で 以下のように 操作 して 演奏 命令を 入力 して みます。
・ 音符 「c4」、 ステップ 「48」を 選択 して、 「追加」を クリック します。
・ 音符 「g4」、 ステップ 「24」を 選択 して、 「追加」を クリック します。
・ 音符 「e4」、 ステップ 「24」を 選択 して、 「追加」を クリック します。
・ 音符 「c4」、 ステップ 「96」を 選択 して、 「追加」を クリック します。
これで 「楽譜」欄には 以下のような 演奏 命令が 入力 されます。
c4 48
g4 24
e4 24
c4 96
確認 したら 「保存」を クリック して 演奏 命令を 保存 します。
次に 「再生」を クリック します。 「ドーソミドーーー」 (演奏)と いう メロディーが 再生 される はずです。
入力 された 演奏 命令に ついて 少し 説明 します。 「c4」 「g4」などは 音符で、 最初の c, e, gは それぞれ ド・ ミ・ ソを、 次の 4は オクターブの 番号を 示します。 オクターブの 番号は 0から 8まで あります。 次の 48, 24と いう 数値は ステップで、 「次の 音を 鳴らすまでの 時間」を 示します。 48が 基準と なり、 四分 音符の 1拍に 当たります。 24は その 半分の 八分 音符、 96は その 2倍の 二分 音符です。
ステップは ある 意味 リズムを 指定 する ものですが、 入力 ガイド欄には 他に 「長さ」も あります。 これは 音を 伸ばして いる 時間で、 鍵盤を 押して いる 時間に 相当 します。 長さと して 「-」を 選ぶと、 ステップと 同じ 時間だけ 音を 伸ばします。
ステップと 長さを 組み合わせて いろいろな パターンを 作る ことが できます。 たとえば ステップを 0と すると 次の 音までの 時間が 0と なり、 結果 二つの 音を 同時に 鳴らす ことが できます。
「曲に 戻る」を クリック して 曲 操作 画面に 戻ります。 続いて 「ドラムを 追加」を クリック して 楽譜 編集 画面に 移動 します。
今回は 入力 ガイドを 使わず、 楽譜の 入力欄に 以下のように 入力 して みましょう。
(
36 12
38 12
38 12
38 12
) 3
49 48
入力 したら 「保存」を クリック し、 「再生」を 押して 演奏 させて みましょう。 (演奏)
数字で 始まる 各行は 打楽器の 一つの 音に 相当 します。 数値は ガイド欄の 「打楽器」に より 調べる ことが できます。 この 例では 36 (バスドラム1)、 38 (アコースティック スネア)、 49 (クラッシュ シンバル1)を 利用 して います。 二つ目の 数字は ステップで、 12は 1/4拍、 48は 1拍を 示して います。
「(」は 繰り返し 範囲の 開始を 示します。 また 「)」は 繰り返し 範囲の 終了を 示します。 「)」に 続く 数字で 繰り返し 回数を 示します。 この 例では 四つの 打楽器音から なる 1拍の リズムを 3回 繰り返した 後、 シンバルを 鳴らして います。
「曲に 戻る」を クリック して 曲 操作 画面に 戻ります。
ここで 「再生」を 押して みましょう。 先ほど 入力 した ピアノと ドラムが 同時に 演奏 される ことが わかります。 (演奏)
このように して Text Scoreで 曲を 入力・ 演奏 する ことが できます。 演奏 命令の 詳細に ついては 演奏 命令 解説を 参照 して ください。
管理者が 設定 した ログインIDと パスワードを 指定 して ログイン します。 ログイン 状態は ブラウザを 閉じても 一定 期間 記録 されます。 必要に 応じて メイン 画面の 「設定・ ログアウト」より ログアウト 操作を 行って ください。
ログイン後の 画面で、 作成 した 曲の 一覧が 表示 されます。 ここから 新しい 曲の 作成を 始める ことが できます。
・ 作曲 開始: 新しい 曲を 作成 します。
・ 設定・ ログアウト: ログアウト および パスワード 等の 変更が できます。
メイン 画面から 「作曲 開始」を 押した 場合、 または すでに ある 曲から 「曲 情報の 変更」を 押した 場合に 表示 されます。
・ 題名: 曲の 題名を 設定 します。 メイン 画面の 一覧で わかりやすい 名前を 設定 します。
・ テンポ: 曲の 速さを 設定 します。 120が 一般的な 行進曲の テンポと 言われて います。
変更 したら 「保存」を 押す ことで 設定が 反映 されます。
作成 した 曲を 再生 したり 各 楽器の 編集や 新しい 楽器の 追加を 行う 画面です。
・ 楽器を 追加・ ドラムを 追加: 新しい 楽器を 追加 して 編集 画面に 移動 します。
・ 楽器 ○○を 編集: 楽器ごとの 演奏 命令を 編集 する 画面に 移動 します。
・ 再生: 曲を 演奏 します。 曲に 含まれる すべての 楽器を 合わせた 演奏と なります。 再生中は 「再生」 ボタンが 「停止」 ボタンに 変わります。
・ 曲 情報の 変更: 曲の 編集 画面に 移動 します。
・ MP3 ダウンロード、 MIDI ダウンロード: それぞれの 形式で 演奏を ダウンロード できます。
・ 曲の 一覧へ: メイン 画面に 移動 します。
演奏 命令を 編集 し、 演奏 させて 確認 する ことが できます。
・ 楽器: 演奏 させる 楽器を 変更 する ことが できます。
・ 入力 ガイド: 演奏 命令の うちで 音符 情報の 入力を 簡単に 行う ことが できます。
> 音符: ドラム 以外の 場合に 表示 されます。 演奏 させたい 音符を 選択 します。
> 打楽器: ドラムの 場合に 表示 されます。 演奏 させたい 打楽器を 選択 します。
> ステップ: 次の 音までの 時間を 選択 します。 48を 四分 音符の 1拍と して います。
> 長さ: 音を 伸ばす 長さを 選択 します。 「-」の 場合は ステップと 同じ 時間だけ 音を 伸ばします。
> 追加: 選択 した 音符を 楽譜の 入力欄に 送ります。 楽譜の 入力欄で カーソルの ある 行の 上に 挿入 されます。
・ 楽譜: 演奏 命令を 入力 する 場所です。 演奏 命令の 説明に 従って 入力 します。
・ 保存: 編集 した 内容を 保存 します。
・ 再生: 保存 した 内容を 演奏 させます。 編集を 行ったら まず 保存 し、 その 後に 再生 するように して ください。
・ 曲に 戻る: 楽器 個別の 編集 画面から 曲の 操作 画面に 戻ります。
なお、 楽譜欄を 空に して 保存 する ことで その トラックを 削除 する ことが できます。
Text Scoreで 利用 できる 演奏 命令を 解説 します。 楽譜の 入力欄に この 演奏 命令を 用いた プログラムを 記述 する ことで 演奏 させるのが Text Scoreの 機能です。
一つの 音符は 入力欄の 1行で 書きます。 「音符」、 「ステップ」、 「長さ」、 「強さ」の 組み合わせです。 後ろの ものほど 省略 できます。
・ 音符: 音程を 表す アルファベット (cdefgab)と オクターブ 番号の (0~8)で 書きます。 「c+4」は ドの シャープを 示します。
・ ステップ: 次の 音を 出すまでの 時間で 0 以上の 数値で 書きます。 48が 基準で、 四分 音符の 1拍に なります。 0を 指定 すると 次の 音と 同時に 音が 出るので 和音を 作る ことが できます。 省略 すると 48に なります。
・ 長さ: 音を 伸ばして いる 時間です。 ピアノなら 鍵盤を 押して いる 時間に 当たります。 数値の 意味は ステップと 同じです。 省略 すると ステップと 同じに なります。
・ 強さ: 音の 強さを 0~127の 範囲で 指定 します。 省略 すると 100に なります。
休符を 指定 したい 場合には 音符を 「z」と 書きます。
なお 音符の 部分は 0から 127の 数値でも 指定 でき、 c4が 60に なります。 これは 主に ドラムの 場合に 用います。 番号と 打楽器の 対応は MIDIの GM規格に よる 定義に 従います。 Text Scoreでは 入力 ガイド欄で 確認 するのが 簡単です。
例 1 (ドレミ)
c4 48
d4 48
e4 48
(演奏)
例 2 (ドミソの 和音)
c4 0 48
e4 0 48
g4 48 48
(演奏)
「(」で 始まる 行と 「) 数値」の 行で 挟まれた 範囲を 「数値」の 回数だけ 繰り返します。
例 1 (ドドドー (演奏)を 16回 繰り返し)
(
c4 24
c4 24
c4 48
) 16
例 2 (ドドドドドー (演奏)を 16回 繰り返し)
(
(
c4 12
) 4
c4 48
) 16
演奏の 一部を まとめて 名前を 付け、 それを 後から 何度も 呼び出す ことが できます。
まず 「name(」と いう 行を 書きます。 ここで 「name」は アルファベットで 始まる、 かつ 音符では ない 名前で、 どんな 内容か わかるような 名前に します。
その 後に 必要な 演奏 命令を 書きます。
最後に 「)」だけの 行を 書きます。 ここまでが マクロ ブロックに なります。
マクロ ブロックを 書いただけでは 何も 演奏 されません。 実際に 演奏 するには 「name()」と いう 行を 書きます。 ここで 「name」は 呼び出したい マクロ ブロックの 名前です。
使い方は 例を 見るのが 早いでしょう。
例 (C和音と F和音の 組み合わせ)
code_c(
(
g3 0 48
c4 0 48
e4 48
) 2
)
code_f(
(
f3 0 48
a3 0 48
c4 48
) 2
)
code_c()
code_c()
code_f()
code_c()
(演奏)
演奏 命令には この 他に、 細かい 設定を 変更 する コマンドが あります。
たとえば
shift 2
と 書くと その 後に 続く 音符を 1音 (2半音)ずつ 高く 演奏 します。
以下に 一覧を 示します。
・ shift: その 後に 続く 音符を 指定 した 数値分 高く して 演奏 します。 マイナスの 数値を 指定 すると 低く なります。 数値は 1が 一つの 半音に 対応 し、 12で 1オクターブ 高く なります。
・ row: 「c4」の 「4」など オクターブ 番号を 省略 して 「c」と 書いた 時に どの オクターブで 演奏 するかを 指定 します。
・ step: ステップを 省略 した 場合に 48の 代わりに 使う ステップ値を 指定 します。 ステップ 12の 音符を たくさん 書かなければ いけない 場合に、 最初に ステップを 12に 変更 してから 音程 だけを 書いて いく ことが できます。
・ gate: stepと 同様ですが、 長さを 省略 した 場合に 48の 代わりに 使う 長さの 数値を 指定 します。
・ base: 四分 音符 1拍と して 48の 代わりに 使う 数値を 指定 します。
・ vel: 強さを 省略 した ときに 100の 代わりに 使う 数値を 指定 します。 0から 127で 大きいほど 強く なります。
Text Scoreに 関する 要望は 以下まで ご連絡 ください。
・ メール: ushiushix+ts@gmail.com
・ Twitter: @ushiushix
・ GitHub: https://github.com/ushiushix/text_score/
最終 更新: 2017年 11月 13日