HappyScale

 残念ながら私はギターが下手である。
 しかも音感がない。正確には、音感がクーラウのソナチネをカバーする程度しか発達していない。何とかしなくてはならない。
 要するにオーギュメントコードとか、リディアンスケールとか頭では理解できるが、聴覚と連動しないのである。そもそも教会旋法なんて、イオニアンとエオリアンを除いて淘汰されただろう、と思っている。ところが、こいつらを元に組み立てている和声や旋律というのが主流になっているようだ。ならばこのままではよくない。
 そこで一念発起。いろいろなコード、いろいろなスケールを弾いて、耳に叩き込むことを考えた。まずは五線紙を購入してきて、譜面を書いてピアノで弾いて、響きを確認する。
 よしやろう!早速始めた。

 めんどくさい。

 そうだった。私はめんどくさがり屋だったのだ。しかし、やろうと決めたことたとえどんなに手を抜いたとしてもやり遂げることに決めたのだ。幸いと言っていいかどうか、喜んでいいのか悪いのか、手を抜くためにはどんな苦労もいとわないという性質はある。
 かくして、鍵盤を弾く必要がないように、プログラムを書くことにした。
 普通はDelphiの登場となるのだが、結局そうすべきだったのだが。MicrosoftExcelで書いちゃいました。いや、スケールとかコードとか、表にしやすいじゃないの。でさ、指板って、なんとなくMS-Excelのワークシート上に展開しやすそうに思えない?

 でね、MS-ExcelVBA、Beep音ではありますが周波数を指定して鳴らせるそうなんだ。ならば、いちいちオシレーターで音を出す必要がない。手が抜けるではないか。残念ながらマルチスレッドではないので、和音としては出せません、が順番には出せる。アルペジオと割り切れば、スケールの構成音と同じロジックで音が出せるのだな。

 基音を指定すると平均律で出力周波数を計算します。音感を鍛えるという前提がございますので構成音は純正律で計算します。最初は増五度の和音と短六度の和音、別々に考えてましたが、スケールも作るとなった以上面倒だ、同じにしてしまえにしてしまいました。第一、増五度って汚いじゃないか。減五度も同じようなことになったのは言うまでもございません。
 純粋な平均律からは離れてしまったが、音感を美意識としてみる限り、間違いとも言い切れないものにしたわけだ。

 ここまでくるとギターの練習にも役立つものとしたい。ポジションを指定すると、そこでの押弦位置も表示するようにした。基音には影がついて分かりやすくなる。12の調についてそれぞれのトライアド及び4声の和音、なーんてものが各ポジションごとに表示できる。もちろん各種スケールも。しかも構成音をBeep音ながら奏でてくれる。悪くないぞ。夏、実家に帰るときに、このファイル持って行けば音感練習できるぜい。歌いやすいよう、トニックソルファの階名も表示できるようにしておこう。なんて便利なんでしょう。

 これは欲しい人がいるに違いない。とネットの掲示板で紹介しましたが・・・興味あるって人が1名だけ。あっそ。でもこの方にはお送りさせていただきましたわ。

 ついでにピアノで弾きやすいように鍵盤も表示するようにしようかしら。。。と思ったがこれは止めた。理由は同じく「めんどくさい」。構成する音名は表示するようにしているのだ。当方一応譜面は読めるし、楽典も分かる。これを鍵盤で弾くくらい、造作もないことだった。

 ところが問題は別のところに・・・実家にピアノはあるが、よく考えるとMS-Excelの動作するパソコンがなかったのだ。マクロウィルスがやってきても、被害がないように、を優先したのであった。
 緑あふれる地方都市の高級・住宅地の一軒家。ペルシャじゅうたんを敷き詰めた応接間。フカフカ毛皮のソファに座って練習し、優雅な環境の中、芸術的な感性を高めるという計画は、こうして水泡に帰してしまったのであった。(それ以前に、そんな暑苦しい調度の部屋で快適に過ごせるわけがない、という大問題はある。しゃーない、いつものように温泉に通うことで満足するか。)

 なお、HappyScaleなんて名前をつけたのは、おまけ機能として「そのスケールの特長が分かるように各スケールでHappy Birthdayを演奏する」というのをつけたからでございます。

フリーソフト開発秘話、目次
ホーム