0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

コード進行を入力するとローマ数字に変換してくれるWebアプリを作った

Posted at

まあとりあえずこれを使ってくれや

スクショはこんな感じ。
image.png

アルファベットで書かれたコード進行を入力すると、ローマ数字に変換されたものが出てきます。

考え方

コードをローマ数字記法に書き換えるには調がわかっている必要があります。
しかし、巷の曲は転調したり他の調からコードを借りてきたり1と忙しいものです。
中には僅かな時間転調した後に戻ってこずに別の調へ行ってしまうものまであります。
例えば、DECO*27氏のゴーストルールでは半音上げ転調して1フレーズだけ歌った後で更にもう1回半音上げ転調します。
こんなことをされては調推定なんてめんどくさくてたまらない(でもカッコいい)。

そこで、調を推定せずに全部の調に対するローマ数字変換を出すことにしました。
コンピュータがあれこれ考えるのではなく、ユーザがローマ数字列を見て直感的に良さげなものを選べばいいのです。

実行可能性

ローマ数字変換を行う際にコードクオリティをそのまま表示する流派があります2
この流派の方法でローマ数字変換を行えば、音高(ピッチ)を表す部分を音度(ディグリー)に変換するだけで良くなります。
更に、この考え方を用いると、ダイアトニックコード以外のコードも統一的に変換できます。もはや構成音が1つも調に含まれない和音とかでも形式的に変換できます。3

良さげな順にソートする

ここまで、雑に全てのキー候補に対してローマ数学変換を列挙する前提で考えてきました。
しかし、良さげな調を選択することを完全に諦めるわけではありません。
ある調に対する変換後のローマ数字列の中に臨時記号が含まれる場合は、その調は不適切である可能性が高いです。調の構成音中に臨時記号が含まれることはよくありますが、根音(ルート)に臨時記号がつくということはほぼ無いと言ってよいでしょう4
従って、とりあえず変換後のローマ数字列中の臨時記号を数え上げて、少ない順にソートすることにしました。

おわり

なんか不満点があったら issue 投げてください
直したくなったらプルリク投げてください
気づいたときに対応すると思います。多分。
あと、音楽に詳しい人、マサカリお待ちしてます。これも気づいたときに直します

  1. 借用和音/モーダルインターチェンジ

  2. 逆に、そうではない流派としては、長和音(メジャーコード)を大文字で短和音(マイナーコード)を小文字で書く(文字 $m$ は消える)流派があります。クラシック分析を行う場合、こちらの方がよく使われます。

  3. 例えば、$\rm II\sharp m$ は $\rm IIm$ を半音上げたものなので全て長調の構成音から外れます。いきなり鳴らされたら最悪の響きですね。

  4. よくある例外として、例えば裏コードを考えるときに、 $\rm II_7-II\flat_7-I$ のように考えることがあります。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?