和風スパゲティのレシピ

日本語でコーディングするExcelVBA

プログラマ向けピアノ楽譜の読み方

このブログの記事数が150を突破しました。

いつもご愛読いただきありがとうございます。


50記事に1回くらいは雑談でも書こうかと思っていますが、
別段節目って感じでもないので普通にただの雑談を始めたいと思います。

お暇な方はお付き合いください。



突然ですが、この音↓はなんでしょう?

f:id:LimeCode:20211015180040p:plain


ドの2つ上なので「ミ」ですね。

f:id:LimeCode:20211015180150p:plain



では次はこの音は↓

f:id:LimeCode:20211015180300p:plain


ドの3つ上なので「ファ」ですね。

f:id:LimeCode:20211015180329p:plain



ということで、これらの音はピアノでは、

f:id:LimeCode:20211015180356p:plain

ここを弾きます。



と、私はこんな感じで楽譜を読んでいたのですが、
この方法だと一曲弾けるようになるのにすごい時間がかかるんですよ。


楽譜をみてそのまま弾くことができず、
一旦楽譜をドレミファに変換してから鍵盤に行くので、
和音ごとに解析作業が必要で、スラスラ弾けないのです。


それで練習が進むとどうなるかというと、
結局ほぼ暗譜状態になります。

弾けたら弾けたでもう楽譜はみません。


楽譜があっても弾けない状態でスタートし、
楽譜がなくても弾けるようになるのです。


最後まで「楽譜と鍵盤を見る」機会が訪れません。


「これたぶんやり方間違ってるよな~」
と思い、親戚の音大出身者に根掘り葉掘り聞いてみました。


それで分かったことなのですが、
ピアノに関しては楽譜を、

f:id:LimeCode:20211015225445p:plain

↑こういう風に「5本線の位置で読む」といいっぽいのです。


なるほどその手があったか!!!



たしかにこれなら、

f:id:LimeCode:20211015180040p:plain

この音は「5本目と4本目の間」ですし、


f:id:LimeCode:20211015180300p:plain

この音は「ちょうど4本目」ですので、



f:id:LimeCode:20211015225522p:plain

↑ここを弾けばいいのです。

この音がミとかファとかはわかんなくても弾けちゃうわけですよ。




しかもこの5本線の位置を把握するのは結構簡単で、
恥ずかしながら私これもしらなかったのですが、

f:id:LimeCode:20211015180956p:plain

↑こんな風に、ト音記号とヘ音記号の中心がキレイに「ド」なんです。

そこから線対称に両5線がスタートするんですね。
(厳密には黒鍵が対称ではないですが)


これ教えてもらった時も感動しました。


そして、この中心の「ド」から二つ離れたところに両手の「親指」を置き、
あとは「2音ずつ指を置いておく」だけでOK。

5線と5指がピッタリ対応しているから、
普通に指を置くだけでいいんですよ。

f:id:LimeCode:20211015225607p:plain



これまさに
キーボードのFとJに人差し指を置くホームポジション
ですよね。

ピアノにもホームポジションがあったんですよ!



まあこれを知ってもなかなかすぐにはできないのですが、
プロでもない趣味でピアノやる我々には「シール」という奥義があります。


要するに、我々はずっとシールを貼る場所を間違えていたんですね。


f:id:LimeCode:20211015181302p:plain

↑ここじゃなくて


f:id:LimeCode:20211015225629p:plain

↑ここに10個のシールを貼ればよかったんです。


このシール貼ると、普通に初見で楽譜見ながら曲が弾けるようになります。



読めるぞ・・!私にも楽譜が読める!



ちなみにこれやると「ドレミファソラシド」に疎くなるかなと思いましたが、
全然そんなことはなさそうです。


f:id:LimeCode:20211015180300p:plain

この音を「ちょうど4本目」と狙いをつけて、


f:id:LimeCode:20211015225655p:plain

ここを弾きますが、
弾くときに「あ、ファなんだこれ」ってわかります。


「楽譜とドレミの紐づけ」に比べて、
「鍵盤とドレミの紐づけ」は簡単ですからね。

  • 「楽譜」→「ドレミ」→「鍵盤」

と脳内変換されていたのが、

  • 「楽譜」→「鍵盤」→「ドレミ」

と変換されるようになります。


楽譜→ドレミへの変換も、
一旦鍵盤を介すことでむしろ早くなります。

なんと素晴らしい!



さてこの方法、「なんで教えてくれなかったの~?」って思ったのですが、
ピアノのセンスがある人は自然とできるようになるみたいで、
できて当たり前すぎて言語化してくれません。


楽譜→鍵盤の紐づけは幼少期に終わっているようで、

「そんな面倒なこと考えてないよ~ 自然と指置くだけだよ~」

とか言ってきます(#^ω^)



私のようにプログラミングに手を出すような理屈家は大抵芸術センスがないので、
こういうのは理論体系化しないと習得できんのです。

なので頑張って言語化してみました。


ぶっちゃけこの方法が正しいかは不明です。

教えてくれた人も、
「もう自分は当たり前にできるから覚えてないけど」
って感じでしたし笑


ですがキーボードのホームポジション理論に慣れている人は、
この方法がハマるかもしれません。


一度お試しください。

※ 私のピアノ習熟度はVBAのそれより圧倒的に劣ります。
普段書いているVBA記事に比べると、本件はまったく信憑性がありませんのでご注意ください。

VBAで感じた既視感

さてちゃんとVBAのことも書いておきますと、
この経験を経て、VBAとピアノの間にふたつの既視感を感じました。


ひとつは前述の通り「ホームポジション」です。


もう一つは何かというと、

横に長い表

↑このセル指定を行う際に、

  • 個数 → P列 → Cells(R, 16)

と、いったん列アドレスを介すコーディング方法です。


シート上で「P列だからA、B、C、…」と指折り16を数えるのが、
楽譜をド、レ、ミ、ファと指折り数えて鍵盤へいくのとそっくりだなって。


このセル指定は、Enumやテーブル、クラスが使えるようになると、

Cells(R, 個数)

みたいに書けるので、


f:id:LimeCode:20211015183018p:plain

ここだけを見てコーディングができるようになります。


行番号や列のアルファベットを見て、
何行目~とか、何列目~を意識しないでコードを書けます。


P列であることを意識せずにP列を指定するのが、
ファであることを意識せずにファを弾くのと凄く似ている気がします。


全く同じことを将棋でも感じていて、
「形を見ただけで読まなくても詰むのがわかる」
ことがちょっとずつ増えてきたので、これも同じなんですかね。


訓練するとInputとOutputが直通になる

というのは、どの分野でもいっしょなんだなって思いました。


まあどれも訓練半ばなんで、その先を知っているわけではないですけどね(´∀`;)

せめてワークシートと同じくらい、
鍵盤とか将棋盤も操れるようになりたいな~と思います。


Cells(R, 16) = Cells(R, 14) * Cells(R, 15)

みたな和音を弾くのに解析を要している方は、
列番号を列見出し名で定義することで、
楽譜を見て直接鍵盤を叩けるようになるかもしれません。


興味がありましたら、こちらの記事も読んでみてください。
www.limecode.jp