竹原:音楽理論
竹原 では、僕のプレゼン始めます! 『音楽理論入門』作曲ストラクチャーデッキ-メジャースケールダイアトニックコード構築-ということで、皆さん大好き音楽の授業をさせて頂きます!
―――?????
―――なんて?
―――どういう授業?
竹原 そこは、おいおい分かるということで。音楽理論とは、文字通り音楽の構造や手法を理論立てて説明する音楽学の分野、またその論自体を指す言葉なんですが。
竹原 本題に入る前にこの言葉が流行した背景について軽く触れておきます。ここ数年の話題として、演奏家のずっしーさんが発明した魔法の伴奏や作曲家の田中秀和さんが好んで使いYouTubeで活動されているゆゆうたさんが命名したイキスギコードが挙げられます。その他Twitterや各種SNSでストリートピアノ動画が数多く投稿されまして、総じてSNSやYouTubeを中心に演奏者と聞き手の距離が縮まったことで、理論だったり深い知識が広く知れ渡ったんですね。
竹原 さて、じゃあ今日はそんな音楽理論の何を学ぶのか。実は紀元前500年ごろにはピタゴラスが弦と整数比の関係から音階を作っているんですよね。つまり、少なくともその頃にはもう音楽理論は存在している。そう考えると……
竹原 イチからから音楽理論を学ぶのは、果てしなさ過ぎて脳が爆裂しちゃうわけですよ。
―――そんな昔からあるのか、音楽理論
―――そんな画像もあるのか、いらすとや
竹原 あ、これは編集で作りました。
―――作ったやつだった
―――困惑しすぎて脳が爆発した人のいらすと、じゃないんだね
―――そういうのがあるのかと思った
竹原 そんなわけで、今日のテーマは音楽理論そのものよりも音楽理論を使って何が出来るのか、その一つとして音楽理論を使って自由に作曲が出来るようになることを目標に話していきたいと思います。で、作曲の事前知識として必要なのがメジャースケールとダイアトニックコードになります。
竹原 そもそもスケールとは基点から終点までの12音を一定の規則でまとめたものです。ここでいう基点と終点はC(ド)からB(シ)までの、黒鍵盤を含む12音になります。で、メジャースケールは簡単に言えばドレミファソラシドのことです。
竹原 で、じゃあ一定の規則って何なのか。CとDの並びを見て貰うと間に1音(黒鍵盤)挟まれてますよね。これを全音といいます。
竹原 次に、EとFを見て貰うと、今度は間に音を挟まない。この並びを半音といいます。
竹原 で、「全 全 半 全 全 全 半」という規則でまとめたものがメジャースケールと呼ばれます。
竹原 さて、聡明な皆さんならもうお気付きなようにCから始まってメジャースケールが作れるなら、C以外でも同じ法則でメジャースケールが作れるんです。これで僕らはどんな音から始めてもドレミファソラシドが作れるようになりました!
竹原 では、このメジャースケールを使ってダイアトニックコードを作っていきましょう。ダイアトニックコードは乱暴に言えばドミソ、つまり1個とばしの3和音のことなんですが。
竹原 Cメジャーから始まって、Dマイナー、Eマイナー、Fメジャー、Gメジャー、Aマイナー、Bマイナーフラットフィフスという並びになってます。
―――音あるとわかりやすいね
―――最後のだけ何?
―――Bマイ……こいつだけ妙に脳のメモリ食うな……
竹原 まあまあ、名前はぶっちゃけ後々覚えればいいんで。
竹原 要するに、ドミソから平行に移動してきゃええねんってことですね。で、これもスケールの時と同じようにどんな音から始めても同じ要領でダイアトニックコードが作れます。
竹原 では、いよいよ作曲の肝、コード進行の話に入っていきましょう。
竹原 今日学んだダイアトニックコードですが、これはトニック、サブドミナント、ドミナントの三種類に細分化することが出来ます。ちょっと感覚的な話にはなってしまうんですが、トニックは響きが安定していて、逆にドミナントは不安定な和音となっています。サブドミナントは二つの間を取り持って進行のバリエーションを増やす役割を担っています。
竹原 コード進行は原則「安定から不安定、不安定から安定」を繰り返しています。この原則を基にコード進行をフローチャート化することが出来ます。このフローチャートに沿ってコードを組んでいくことで、伴奏が出来上がります。例として、『C → F → G → C』っていう進行を作ってみたんですが。
竹原 これだけで、もうフレーズっぽくなってませんか?
―――おおー、確かに曲っぽい
―――CMにありそう
―――なんとなく分かってきた
竹原 あとはここにメロディをつけるだけで誰でも簡単に作曲が出来るわけですね。
竹原 実際の例としてスピッツの『チェリー』を見てみると、トニックからドミナント、ドミナントからトニックの流れが繰り返されているのが分かると思います。他にも、GReeeeNの『キセキ』のサビにも使われてるっぽいです。
―――っぽい?
竹原 いや、さっき調べたんで。
―――にわかじゃねーか!
竹原 という感じで、今日は音楽理論と作曲について学んできましたが、これって何かに似てると思いませんか?
竹原 そう、カードゲームのデッキ構築ですね!
―――おぉ……ん?
―――なんて?
竹原 ダイアトニックコードっていうのは、つまりストラクチャー(構築済み)デッキで、「これがあれば一通り遊べますよ」というものなんですね。そこで慣れていったら、メジャースケール以外のスケールやコードを取り入れる、つまりブースターパックでデッキを拡張する。で、じゃあ「このコードとこのコードにシナジーあるな」とか「これはあえてピン挿ししようかな」とか、デッキの回し方、つまりコード進行を考える。そうして曲が出来ていくわけですね。
―――なるほど……?
―――例えあってる……?
竹原 つまり、僕が今回のプレゼンで言いたかったことは……
竹原 ご清聴ありがとうございました!
質疑応答
そねさん 僕、ちょっとだけギターを弾いてたことがあって、確かに「この進行よく使うな」っていうのはいくつかあったんですけど。こういう理論が裏にあるって分かったのは面白かったですね。
竹原 ありがとうございます。これでね、皆さん明日から自由に作曲が出来るということで……。
らんらん いや、竹原君これさぁ。
竹原 はい?
らんらん これ左手、要は伴奏の話だよね?
竹原 はい。
らんらん え、じゃあメロディはどうするの?
竹原 まぁその辺は、各自実際に試してもらって。
一同 (笑)
戸澤 メロディが一番重要じゃないの!?
竹原 いやまぁまぁまぁ、ゆーて同じスケールから音をピックアップしてもらえば大体上手くいくんで。
らんらん ホントに? じゃあ、同じスケールの音使えば何でも大丈夫なのね?
竹原 いや、全然そんなことはないですね。
らんらん ダメなんじゃねぇか!
竹原 例外はね、あるんで。
らんらん どんな時に例外になるの?
竹原 ……まあその辺は、各自際実際に試してもらって。
一同 (笑)
戸澤 竹原君は、実際に作曲したことはあるの?
竹原 大学で演劇サークル入ってた頃、公演で一曲作ったことがあります。
戸澤 へぇ、凄い!
竹原 ただ、その時は既存曲のコード進行をつぎはぎして作りましたね。理論とか全くわかってなかったんで。
戸澤 音楽理論使ってねーのかよ。
らんらん え、じゃ実際にこの理論を使って曲を作ったことは。
竹原 この理論を使って曲を作ったことは……
竹原 ないですね。
らんらん おい! エアプじゃねぇか!
そねさん にわかですらない(笑)
竹原 いやでも、ホント音楽って楽しいんでね。是非皆さん、作曲、やってみてください!
らんらん レシピサイトで叩かれるヤツと同じ思想だわ。
まさかのエアプがバレてしまった竹原のプレゼンでした。
当人はその後も
「いや、小3の頃にお母さんと一緒に作った『ケーキ作りのうた』はダイアトニックコード使ってたから。ドミソめっちゃ弾いてたし!」
と供述していましたが、
「嘘をつくな」
「仮にたまたまそうだったとしても当時ダイアトニックコード知らねぇだろ」
と一蹴されていました。
いや、でもほら、理屈が先か実践が先かというだけの話であって、やってみて後から「あ、こんな理屈があったんだ」って知るのも学問の楽しみ方の一つで……
あ、作曲はホント楽しいですし、楽器を演奏しない人でも裏にある理屈を知ることで曲を聴く際のレイヤーが一つ増えるので、音楽理論、オススメです!
らんらん:競技プログラミング
らんらん では、僕は「楽しい競技プログラミング」ということで、競技プログラミングの概要と僕が競技プログラミングに感じている面白さをプレゼンしていきます! まず、そもそも競技プログラミングとは何なのかというお話をしたいと思うんですが。
らんらん 競技プログラミングとは、与えられた問題を解くプログラムをいかに素早く正確に書けるかを競うコンテストです。プログラミング教育が必修化したことから、今プログラミングを楽しみながら学べる手段として注目されています。
らんらん 例えばこれはAtCoderというサイトで行われたコンテストなんですが。開催時間になったら下のA~Hの問題にアクセス出来るようになり、制限時間100分間のうちでどれだけの点数を取れるかを競う、というものになります。サイトごとに形式の違いはありますが、大体こういった形でコンテストが開かれています。
―――そっか、今は学校でプログラミング習うんだ……
―――タイムリーな話題だ
―――AtCoderはなんとなく聞いたことある
らんらん ではさっそくですが、例題をひとつ見てみましょう。スライドには色々書かれていますが、要は二つの数を足し算して繰り上がるならHard、繰り上がらないならEasyって出てくるプログラムを作ってねっていう問題ですね。で、これなんですが時間の都合上あらかじめ解いておきました。
―――3分クッキングスタイルだ
らんらん これはpaiza.IOっていう、ブラウザ上で実際にプログラムを動かせるサイトなんですけど。ここでA=50000、B=50000 としてプログラムを貼り付けてみると、繰り上がるのでHardと出てきます。
らんらん 今度はどちらも40000にしてみると、繰り上がりがないのでEasyと出てくる。ということは、この問題は解けたということになります。やったぜ!
らんらん っていう感じで、プログラミングコンテストの概要を説明するために、簡単な例題を見て頂きました。ここでもう1問、僕が思う競技プログラミングの面白さが分かる問題を見ていきたいと思います。
らんらん これはAntsという競技プログラミングでめちゃくちゃ有名な問題を改題したものになります。これもまた、色々書いてあって分かりにくいと思うので、n=10の時を例に、図で説明します。
らんらん まずここには9mの細い棒があって、その上に9匹の生き物が乗っています。この棒の左端にいる生き物は右を向いていて、その1m先には左を向いた生き物がいます。という感じで、1m間隔で互いに向き合うように生き物が配置されているんですが、こいつらがそれぞれの方向に秒速1mで一斉に歩き出します。で、この生き物たちが出会うと今度は反対方向に戻っていって、最終的には棒から落っこちます。これを繰り返して、最後の1匹が落ちるまでの時間を求めてください、というのがこのAntsという問題になります。
―――わかりやすい!!!
―――さっきから思ってたけど、この絵、可愛い
―――でも最終的に全員落ちるのか、悲しいな……
らんらん で、先に答えを言ってしまうと、この場合は全員が落ちるまでの時間は9秒なんですが。最初の例題と同じように、あらかじめ書いておいたプログラムがこちらになります。これは全部で80行くらいのコードで、生き物の動きを全部モニタリングしています。これを実行してみると……
らんらん お、9秒って出てきた。じゃあこの問題も解けた! やったぜ!
らんらん ………って、思うじゃないですか?
らんらん 実はこのプログラムは間違い、より正確に言うと、失格なんです。
―――??????
―――どういう意味???
―――失格とは????
らんらん 先ほどはn=10でプログラムを動かしてみましたが、これをn=1000000にしてみると……
らんらん このようにTimeoutの表示が出るんですね。実は、競技プログラミングには制限時間が設けられていて、書いたプログラムが2秒以内に答えを出せなければ仮にその問題を解けていたとしても失格になるんです。まあ、日常でもGoogleで検索かけて返ってくるのが10秒とか20秒かかったら嫌じゃないですか?
―――確かにそんな遅いGoogle検索嫌だわ
―――ただ解くだけじゃダメなんだ
らんらん そうなんです。最初に僕は競技プログラミングを与えられた問題を解くプログラムをいかに素早く正確に書けるかを競うものだと言いましたが、実はもう一つ、この問題を解くために必要なものがある。それは、プログラミングのテクニックではなく、ちょっとしたひらめきなんです! 今からそれをお見せします。
―――読者の皆さんも一緒に考えてみてください!(テンプレ展開)
らんらん いま、棒の上には生き物たちがたくさん並んでいるんですが、この生き物たちは実は区別をする必要がありません。生き物の種類に関係なく最後に落ちる時間さえ求められればそれでいい。ということを踏まえて、この図を……
らんらん こういう風に、全く同じ生物が並んでいる図に描き替えてみる。これをすると、ある良いことが起こるんですが……。
―――あー、なるほど!
―――え、まだわかんないんだけど
らんらん いま、問題では2匹の生き物が出会った時に反対方向へと戻っていくとなっていますが、この図から分かるように2匹の生物がすり抜けたと言い換えても意味は変わらないんですね。そうなると、途中は関係なく最終的に両端の生物が反対側に到達する時間を求めればいいことになる。じゃあ、秒速1mの生物が端に着くのは?
―――999999秒だ!
―――一気に簡単になった!
らんらん と、このように暗算でも出来る問題に書き換えることが出来るんです。これが僕が面白いと思ったところで。
らんらん もちろん、競技プログラミングにはプログラミングの技術も重要なんですが。それに加えて、難しい問題をひらめきによって自分が解ける問題に落とし込むことが出来る。この部分が非常に面白くて、僕はこの競技プログラミングにもっと広まって欲しいと思っています。
らんらん 競技プログラミングはさっきもちょっと紹介したAtcoderやPaizaプログラミングスキルチェックといったサイトで誰でも挑戦出来るので、皆さんもぜひ挑戦してみてください!
質疑応答
竹原 これって、「競技」と呼ばれるくらいですし、大会とか開かれてるんですか?
らんらん もちろん。さっき紹介したAtCoderなんかも、言ってしまえばオンライン大会だからね。
竹原 ああ、そっか確かに。
らんらん 他にも、高校生や一般の部でも、会場に皆で集まってやる、みんなが想像するような大会が開かれているらしいです。
竹原 部活とかもあるんですかね。
らんらん あるらしい。そういう風に界隈が盛り上がって、ゆくゆくは漫画化とかして欲しいらしい。
竹原 全部「らしい」だし、最後にいたっては願望じゃねーか。実況解説付きでテレビ中継とかされたら面白いかもですね。
らんらん 実況……向かないんじゃないかなぁ。基本ずっとモニターの前で考えこんでるだけだから、画がめちゃくちゃ地味なんだよね(笑)
一同 (笑)
らんらん ……いや、でも、例えば将棋なんかは画替わりがなくても観戦者はいるのか。大盤解説付きで中継されたら面白いかも。
竹原 確かに、それは面白そう。
らんらん 今後もっとプログラミングが一般に浸透したら、そういう時代が来るかもしれないね。
戸澤 らんらんさん、競技プログラミングはいつからやってたんですか?
らんらん ところどころ間は空いたりはしてるけど、大体1年くらいかな。
戸澤 結構やってるじゃないですか。え、それってもうにわかじゃないんじゃないですか?
竹原 そういう攻め方もあるのか(笑)
らんらん 良い質問ですね! それがねぇ……ちゃんとにわかなんですよ。
そねさん ちゃんとって(笑)
らんらん 僕、プレゼンでもちょっと紹介したPaizaプログラミングスキルチェックから始めたんですけど。実は、そこではSランクまで割と簡単にいったの。
竹原 おぉー!
らんらん で、結構出来るじゃんと思って調べていくうちにどうやらAtcoderが本場らしいと分かって、参加してみたんだけど。マジで下の中くらいしかいかなくて。
一同 (笑)
らんらん で、これはちゃんと勉強しなきゃと思って、教科書を買ったんだよね。この教科書、通称蟻本(ありほん)って呼ばれてるんだけど。読んでみたら、僕が理解してたのって……
らんらん このくらいだったの。
竹原 大海を知ってるじゃん(笑)
らんらん だから、僕はちゃんとにわかです!
―――
ジーン あの、ちょっといいですか?
ジーン 競技プログラミング、やってると「イイィィー!!!!」ってなりません?
竹原 いたのかジーン!?
らんらん ジーンはやったことあるの?
ジーン 大学の学部が情報系だったんで、教授から勧められてやってみたことがあって。大体AからFまで問題あるじゃないですか。そのうちDくらいから、ちょっとテクニックを使わないと2秒全然超えちゃって「イイィィー!!!!」ってなるんですよね。
らんらん わかるわかる! 厄介なのが、それぐらいの難易度だとテクニックなくても解けそうなんだよね。それでまっすぐ解こうとすると、当たってるのに時間制限でエラーになっちゃう。で、解けないままコンテスト終わって、後から解答見て「こんなの思いつかないよ……」ってなるんだよね。
竹原 そんなあるあるが……。
にわかとは思えないほどしっかりとしたプレゼンで競技プログラミングを紹介してくれたらんらん。しかし、最後にはちゃんとにわかエピソードを用意しているという、序盤中盤終盤隙のないプレゼンでした。
やはり、全く触れたことのない界隈の話を聞くと知的好奇心がぎゅんぎゅん刺激されますね。今後もっともっと界隈が盛り上がり、甲子園の様な高校生大会や、RTAのような速解きなど、様々な大会が催されると面白いですね。
ちなみに、今回らんらんがスライドに使用した可愛いキャラクターたちはSlidesCarnivalから無料でダウンロード出来ます。皆さんも、長さ n-1 mの棒から愛くるしいこの子たちを落としてみては?
まとめ
今回は「にわかだって語ってもいいじゃない」をコンセプトにプレゼン会を開催してみました。触れ始めたばかりの人、とにかく熱量がスゴい人、にわかと見せかけてエアプだった人、にわかじゃないと見せかけてにわかだった人、それぞれの想いの丈が存分に詰まったプレゼンでしたね。
こうしてちゃんと場を設けてプレゼンをしてみると、熱量は知識量によらないことを改めて思い知らされました。と同時に、「やっぱり僕ってこれ好きなんだなぁ」という気持ちを再認識しました。そしてなによりも、参加者みんなが楽しく語っている姿が主催者として嬉しかったです。
好きなものを語るって……良いものですね……。
皆さんも、にわかで留まっている好きなもの、ありませんか?
ご友人たちを誘ってプレゼン大会、開催してみてはいかがでしょうか!
では、僕はこれからYouTubeで音楽理論について勉強しますので、これにて失礼します。