ギター指板のポジションを選択すると、その音の組み合わせのコードネームやスケールの名前が分かるアプリを作りました!
いわゆる「逆引き検索」ってやつです。
実はこのアプリ…以前から「あったら便利だろうな」と思いつつ、作るのが大変そうだったので放置していました。
しかし、少し前に良さそうな処理方法を思いついて…その勢いで作ってみたら…できました!
使い方と機能
では、使い方と機能を紹介します。
選択した音のポジションが分かる!
指板を模した表をクリックもしくはタップすると、そのポジションが着色されます。
また、その音と同じ種類(ピッチクラス)の音のポジションは、薄いグレーになります。
これだけでも結構便利で、同じ音が指板のどこにあるかサクッと確認できますね。
コードネームが分かる!
そして、ポジションを選択していくとその音の組み合わせに対応するコードを判定してくれます。
コードネームだけでなく、コードの説明も同時に表示されます。
ちなみに、指板の色付けはルート音が青、完全5度が黄色…みたいな感じで移動ド的な視点で切り替わります。
つまり、同じピッチクラスの音が常に同じ色に着色されるのではなく、同じ役割の音が同じ色に着色されるアルゴリズムになってます。
ちなみに、転回形もちゃんと判定されます。
スケール名が分かる!
さらに、選択した音を含むスケールも表示されます。
今のところ、約70種類のスケールを登録してあるので、その中から構成音にマッチするスケールを絞り込みます。
また、「構成音を含むすべてのスケールを表示する」ボタンを押すと、約800以上(約70×12)のパターンの中からスケールを検索して表示してくれます。
逆に考えると、このスケールたちにとって現在選択されているコードがピボットコード(共通する和音)とも言えますね。
その他の機能
移調機能
「-1」と「+1」ボタンをタップすると、現在選択しているポジションを移調できます。
ただ、デフォルトの状態では、移調ボタンを開放弦(0)だけは移調されません。
なぜなら、解放弦をキープしつつ同じコードフォームをずらす発想でコードを弾いてみたくなる…でも弾いたコードネームはパッと分からない…。
そんなシチュエーションが多いかなと思ったので、この仕様にしました。
解放弦のロックを解除
もちろん、解放弦まで含めて移調させるか仕様はON/OFF可能です。
「解放弦のロックを解除する」を押すと、解放弦も「-1」と「+1」ボタンで移調されます。
その他:音名やチューニングの切り替え
その他には
- 音名の切り替え
- チューニングの切り替え
- フレット数の切り替え(1~30)
- 様々なチューニングに対応(ベースなどのチューニングも登録済み)
- 右利きと左利き指板の切り替え
なども可能です。
さいごに
便利~!
僕は、ギター始めた頃よく「このコード何だろうな?」とか「今弾いたフレーズは何ていうスケールなんだろう?」とか悩んでいたんですね。
まさに、今回作ったようなツールが「欲しい!」と思っていました。
そんなかつての自分の悩みを解決するアプリを作れたので、結構満足感があります。
皆さんもよかったら使ってみてください!(๑˃̵ᴗ˂̵)و
↓↓↓↓↓↓↓↓
ちなみに、このアプリの逆バージョンの「スケールやコードネームを指定するとポジションを可視化してくれるアプリ」もあるので、こちらも是非。
↓↓↓↓↓↓↓↓
余談:90対90の法則
今回これを作るのに大体3日くらいかかったんですけど…
最初の1日でメインの逆引き検索の機能は完成したんですね。
「やったー!もうほぼ完成じゃん!」と思いきや…
構成音を着色する機能をうまいこと実装するのに次の1日を費やしてしまい、「これがあの『90対90の法則』か…」と感じました。笑