Skip to content

Instantly share code, notes, and snippets.

@wataash
Last active August 30, 2026 07:06
Show Gist options
  • Select an option

  • Save wataash/7f076845c544ed4e5e78e68655ef97a5 to your computer and use it in GitHub Desktop.

Select an option

Save wataash/7f076845c544ed4e5e78e68655ef97a5 to your computer and use it in GitHub Desktop.
ireal-analysis.md

iReal Pro Jazz 1460 コード頻度分析

調査日: 2026-08-28

よく使われるコード上位25件

Root、quality、slash bass を含む完全一致で数えた。表記は iReal Pro の原文の ままであり、-7はm7、^7はmaj7、h7はm7♭5、o7はdim7を表す。コードの 構文は公式のiReal Pro Custom Chord Chart Protocolに従った。

「登場曲数」は、そのコードまたは分類が1回以上登場した曲の数である。

Code 出現数 全コード比 登場曲数
C7 3,154 4.46% 746 (51.1%)
G-7 3,043 4.30% 702 (48.1%)
B♭7 2,848 4.02% 688 (47.1%)
G7 2,773 3.92% 714 (48.9%)
D-7 2,550 3.60% 611 (41.8%)
F7 2,450 3.46% 708 (48.5%)
F-7 2,337 3.30% 534 (36.6%)
C-7 2,329 3.29% 616 (42.2%)
A-7 2,166 3.06% 572 (39.2%)
D7 2,051 2.90% 627 (42.9%)
E♭7 1,817 2.57% 565 (38.7%)
F^7 1,474 2.08% 387 (26.5%)
E♭^7 1,445 2.04% 368 (25.2%)
B♭-7 1,262 1.78% 399 (27.3%)
C^7 1,175 1.66% 304 (20.8%)
A7 1,139 1.61% 419 (28.7%)
E-7 1,109 1.57% 358 (24.5%)
B♭^7 1,084 1.53% 326 (22.3%)
A♭7 1,053 1.49% 396 (27.1%)
A♭^7 957 1.35% 327 (22.4%)
F6 826 1.17% 217 (14.9%)
G^7 792 1.12% 197 (13.5%)
D♭7 767 1.08% 300 (20.5%)
E7 755 1.07% 304 (20.8%)
C6 689 0.97% 171 (11.7%)

Chord family の頻度

以下は quality を排他的な大分類へまとめた値である。

Family 出現数 全コード比 登場曲数
Dominant / dominant sus 28,866 40.77% 1,443 (98.8%)
Minor 21,358 30.17% 1,409 (96.5%)
Major 7 10,132 14.31% 1,188 (81.4%)
Major triad / 6 6,085 8.60% 946 (64.8%)
Half-diminished 2,766 3.91% 770 (52.7%)
Diminished 1,454 2.05% 493 (33.8%)
Augmented 78 0.11% 21 (1.4%)
Suspended triad 55 0.08% 17 (1.2%)

Root の頻度

Root 出現数 全コード比 登場曲数
C 10,154 14.34% 1,330 (91.1%)
G 9,418 13.30% 1,315 (90.1%)
F 9,339 13.19% 1,305 (89.4%)
B♭ 7,621 10.77% 1,182 (81.0%)
D 7,561 10.68% 1,186 (81.2%)
E♭ 6,009 8.49% 1,052 (72.1%)
A 5,620 7.94% 1,045 (71.6%)
A♭ 3,905 5.52% 895 (61.3%)
E 3,721 5.26% 846 (57.9%)
B 2,620 3.70% 734 (50.3%)
D♭ 2,101 2.97% 591 (40.5%)
F♯ 1,051 1.48% 404 (27.7%)
G♭ 936 1.32% 321 (22.0%)
C♯ 468 0.66% 195 (13.4%)
G♯ 183 0.26% 76 (5.2%)
D♯ 56 0.08% 33 (2.3%)
C♭ 17 0.02% 7 (0.5%)
A♯ 14 0.02% 8 (0.5%)

綴りの大分類では、幹音 root が 48,433 回(68.41%)、flat root が 20,589 回(29.08%)、sharp root が 1,772 回(2.50%)だった。

Chord quality の頻度

全60 quality。(major) は quality suffix がない major triad を表す。

Quality 出現数 全コード比 登場曲数
7 20,244 28.596% 1,362 (93.3%)
-7 17,753 25.077% 1,359 (93.1%)
^7 9,078 12.823% 1,158 (79.3%)
6 3,758 5.308% 799 (54.7%)
7b9 2,782 3.930% 722 (49.5%)
h7 2,633 3.719% 752 (51.5%)
(major) 2,112 2.983% 262 (17.9%)
o7 1,365 1.928% 470 (32.2%)
- 1,363 1.925% 266 (18.2%)
7sus 1,079 1.524% 260 (17.8%)
-6 1,042 1.472% 319 (21.8%)
7#11 796 1.124% 274 (18.8%)
7#9 755 1.066% 226 (15.5%)
^7#11 675 0.953% 137 (9.4%)
7#5 568 0.802% 217 (14.9%)
7b13 517 0.730% 196 (13.4%)
13 462 0.653% 93 (6.4%)
-9 435 0.614% 75 (5.1%)
9 419 0.592% 112 (7.7%)
-11 335 0.473% 58 (4.0%)
-^7 315 0.445% 104 (7.1%)
7alt 181 0.256% 57 (3.9%)
^9 177 0.250% 36 (2.5%)
9sus 152 0.215% 37 (2.5%)
69 149 0.210% 32 (2.2%)
7#9#5 149 0.210% 47 (3.2%)
^ 140 0.198% 43 (2.9%)
h 126 0.178% 79 (5.4%)
7b5 122 0.172% 47 (3.2%)
13b9 106 0.150% 40 (2.7%)
9#11 98 0.138% 25 (1.7%)
o 84 0.119% 42 (2.9%)
+ 78 0.110% 21 (1.4%)
13sus 73 0.103% 14 (1.0%)
-b6 67 0.095% 24 (1.6%)
7b9sus 66 0.093% 16 (1.1%)
13#11 61 0.086% 15 (1.0%)
add9 59 0.083% 15 (1.0%)
sus 55 0.078% 17 (1.2%)
7b9#5 54 0.076% 27 (1.8%)
^7#5 43 0.061% 25 (1.7%)
7b9b5 42 0.059% 14 (1.0%)
-69 34 0.048% 7 (0.5%)
7b9b13 28 0.040% 10 (0.7%)
9#5 23 0.032% 12 (0.8%)
9b5 20 0.028% 3 (0.2%)
7b9#11 17 0.024% 9 (0.6%)
7#9b5 16 0.023% 6 (0.4%)
^9#11 15 0.021% 7 (0.5%)
7#9#11 15 0.021% 5 (0.3%)
-#5 13 0.018% 6 (0.4%)
7b13sus 8 0.011% 1 (0.1%)
2 7 0.010% 3 (0.2%)
h9 7 0.010% 4 (0.3%)
7b9#9 5 0.007% 3 (0.2%)
o^7 5 0.007% 3 (0.2%)
^13 4 0.006% 3 (0.2%)
13#9 4 0.006% 1 (0.1%)
7susadd3 4 0.006% 2 (0.1%)
-^9 1 0.001% 1 (0.1%)

Note と Interval の頻度

コード記号が名指す度数(interval)ごとに、rootからその度数が何回名指されたかを 数えた。1つのコード記号は複数の度数を生む(B♭7B♭のM3、P5、m7を各1回) ため、度数の総数217,076はコード出現数を上回る。

Interval 出現数 全度数比 登場曲数
P5 65,265 30.07% 1,460 (100.0%)
m7 50,029 23.05% 1,456 (99.7%)
M3 43,776 20.17% 1,454 (99.6%)
m3 25,578 11.78% 1,419 (97.2%)
M7 10,313 4.75% 1,195 (81.8%)
M6 4,983 2.30% 921 (63.1%)
d5 4,420 2.04% 1,008 (69.0%)
♭9 3,100 1.43% 762 (52.2%)
♯11 1,677 0.77% 397 (27.2%)
9 1,589 0.73% 219 (15.0%)
P4 1,437 0.66% 311 (21.3%)
d7 1,365 0.63% 470 (32.2%)
♯9 944 0.43% 260 (17.8%)
A5 928 0.43% 301 (20.6%)
13 710 0.33% 128 (8.8%)
♭13 553 0.25% 204 (14.0%)
11 335 0.15% 58 (4.0%)
m6 67 0.03% 24 (1.6%)
M2 7 0.00% 3 (0.2%)
m2 0 0.00% 0 (0.0%)
A4 0 0.00% 0 (0.0%)

m2A4は0回だった。iReal Proのqualityに単純形の短2度を名指すものはなく、 増4度は7#11のように必ず♯11と綴られるためである。

root と度数の組み合わせは18 root × 21度数の378通りあり、うち実際に出現したのは 282通りだった。その上位20件は以下である。

Note Interval 出現数 全度数比 登場曲数
C P5 9,769 4.50% 1,304 (89.3%)
F P5 9,048 4.17% 1,290 (88.4%)
G P5 8,800 4.05% 1,254 (85.9%)
G m7 7,542 3.47% 1,216 (83.3%)
B♭ P5 7,319 3.37% 1,155 (79.1%)
C m7 7,155 3.30% 1,172 (80.3%)
D P5 6,919 3.19% 1,107 (75.8%)
C M3 6,738 3.10% 1,150 (78.8%)
D m7 6,423 2.96% 1,114 (76.3%)
F M3 5,980 2.75% 1,112 (76.2%)
F m7 5,909 2.72% 1,080 (74.0%)
E♭ P5 5,831 2.69% 1,013 (69.4%)
B♭ M3 5,698 2.62% 1,062 (72.7%)
G M3 5,249 2.42% 1,015 (69.5%)
B♭ m7 5,095 2.35% 967 (66.2%)
A P5 4,934 2.27% 912 (62.5%)
A m7 4,880 2.25% 977 (66.9%)
E♭ M3 4,796 2.21% 917 (62.8%)
G m3 3,968 1.83% 873 (59.8%)
D M3 3,703 1.71% 919 (62.9%)

全378件の内訳は以下のとおり。行も列も出現数の多い順に並べ、0回のm2A4は 省いた。

Note P5 m7 M3 m3 M7 M6 d5 ♭9 ♯11 9 P4 d7 ♯9 A5 13 ♭13 11 m6 M2
C 9,769 7,155 6,738 3,220 1,424 915 247 590 195 181 196 31 147 121 43 91 58 10 0 31,131
G 8,800 7,542 5,249 3,968 916 487 457 510 90 122 198 32 69 148 71 118 26 24 3 28,830
F 9,048 5,909 5,980 3,155 1,655 1,095 167 199 134 194 204 34 90 120 83 12 47 0 0 28,126
D 6,919 6,423 3,703 3,687 449 200 533 520 105 185 171 68 134 98 25 87 106 7 0 23,420
B♭ 7,319 5,095 5,698 1,723 1,304 732 155 155 207 134 199 82 78 138 132 53 8 3 1 23,216
E♭ 5,831 3,070 4,796 1,114 1,649 859 154 80 147 176 99 115 68 23 45 4 41 0 0 18,271
A 4,934 4,880 2,364 3,159 275 71 582 454 72 99 97 74 119 78 42 87 11 17 0 17,415
A♭ 3,650 1,970 3,033 764 1,085 413 181 64 183 84 108 154 12 67 95 6 10 0 0 11,879
E 3,046 3,001 1,793 1,883 288 38 589 284 79 116 45 126 102 36 17 50 11 3 0 11,507
B 1,991 2,059 1,277 1,301 259 13 540 154 135 95 43 181 55 63 58 24 10 1 0 8,259
D♭ 2,009 1,163 1,867 199 648 109 81 19 178 113 35 71 38 8 22 3 0 2 0 6,565
F♯ 682 803 318 708 19 11 355 49 11 24 25 147 16 10 13 17 2 0 3 3,213
G♭ 861 476 809 114 330 35 73 1 139 23 13 63 6 2 63 0 0 0 0 3,008
C♯ 275 334 76 392 3 2 174 13 1 30 0 99 6 12 1 1 4 0 0 1,423
G♯ 85 105 46 133 3 2 91 4 0 7 4 60 3 4 0 0 0 0 0 547
D♯ 29 27 12 44 1 1 27 1 0 0 0 19 1 0 0 0 1 0 0 163
C♭ 14 12 17 0 5 0 3 3 1 6 0 0 0 0 0 0 0 0 0 61
A♯ 3 5 0 14 0 0 11 0 0 0 0 9 0 0 0 0 0 0 0 42

構成音の綴りと double accidental

各度数がrootの上でどの音に着地するかを、コード記号が含意する綴りで数えた。 34綴りが現れ、triple accidentalを要して綴れなかった度数は0だった。

分類 出現数 全度数比 綴りの種類
幹音 138,021 63.58% 7
59,776 27.54% 7
17,730 8.17% 7
𝄫 1,260 0.58% 7
𝄪 289 0.13% 6

rootにはF♭E♯B♯とdouble accidentalが一度も現れない。一方、構成音と してのdouble accidentalは1,549回、全度数の0.71%を占める。

綴り 出現数 全度数比 登場曲数
B𝄫 380 0.18% 169 (11.6%)
E𝄫 234 0.11% 97 (6.6%)
D𝄫 191 0.09% 94 (6.4%)
F𝄪 181 0.08% 69 (4.7%)
A𝄫 164 0.08% 77 (5.3%)
G𝄫 157 0.07% 63 (4.3%)
C𝄫 71 0.03% 27 (1.8%)
C𝄪 66 0.03% 30 (2.1%)
F𝄫 63 0.03% 32 (2.2%)
G𝄪 28 0.01% 9 (0.6%)
D𝄪 10 0.00% 5 (0.3%)
A𝄪 3 0.00% 2 (0.1%)
E𝄪 1 0.00% 1 (0.1%)

生成源は度数に強く偏る。減7度が550回、減5度が492回、♯9が183回、短3度が 114回、増5度が89回、♭9が87回で、残る6度数の合計は34回にとどまる。root と 度数の組み合わせでは以下の順である。

Note Interval 綴り 出現数 登場曲数
A♭ d5 E𝄫 181 75 (5.1%)
A♭ d7 G𝄫 154 62 (4.2%)
E♭ d5 B𝄫 154 80 (5.5%)
E♭ d7 D𝄫 115 58 (4.0%)
G♭ m3 B𝄫 114 55 (3.8%)
E ♯9 F𝄪 102 43 (2.9%)
B♭ d7 A𝄫 82 45 (3.1%)
D♭ d5 A𝄫 81 33 (2.3%)
G♭ d5 D𝄫 73 36 (2.5%)
D♭ d7 C𝄫 71 27 (1.8%)
A♭ ♭9 B𝄫 64 28 (1.9%)
B A5 F𝄪 63 25 (1.7%)

o7は減5度と減7度を同時に名指すため、♭系rootのdim7コード1つでdouble accidentalが2つ生じる(A♭o7はE𝄫とG𝄫)。𝄪側はE7♯9のF𝄪のように、 enharmonicなG(Eの完全4度)ではなく9度として綴った結果である。

分析対象

iReal Proは2023-05-14の公式記事 Jazz Playlist Updates: New 1,410 Jazz Standardsで、Jazz 1410 playlistを案内した。調査日現在、記事内のplaylist linkは公式フォーラムの Jazz 1460 Standardsを参照している。本調査では、そのリンクから 取得できるJazz 1460を分析対象とした。

項目
Playlist Jazz 1460
曲数 1,460
リピート展開後の小節数 50,451
コード出現数 70,794
異なる完全コード記号 1,094
異なる chord quality 60
Slash chord 3,079

取得したpercent-decode後のirealb://データは455,946 bytesだった。

HTMLは公開ページを未ログイン状態(data-logged-in="false")で保存した取得原本 であり、ページ生成時の匿名CSRF tokenなど期限付きの値も原本どおり含む。

集計方法

  1. 公式フォーラムページの最初の irealb:// playlist link を取得した。
  2. 公開実装 pianosnake/ireal-reader でURLをpercent-decodeし、 ===で1,460曲とplaylist名に分割した。
  3. 同実装でコード進行を復号・parseし、xr、反復区間、対応している D.C. / D.S.を展開した小節列を得た。
  4. 展開後のJSONを集計スクリプトで集計した。
  5. 1つのコード記号を1回と数えた。拍数や保持時間による重み付けはしていない。
  6. Slash chord は主コードの root と quality に加え、Slash chord 数として 別に数えた。bass 音は root 頻度へ加えていない。
  7. Alternate chord(代替コード)も、parser が返したコードとして主コードと 区別せず含めた。
  8. 度数は、コード記号が明示的に名指す構成音だけを数えた。C13に演奏者が足す 9thのように、記号が名指していない音は数えていない。qualityと度数の対応表は src/intervals.jsにある。
  9. 構成音の綴りは、度数がまたぐ音名の数(size)と半音数から決めた。E7♯9♯9はF𝄪であり、enharmonicなGとは区別している。

制約

  • Jazz 1460 は iReal Pro の特定playlistであり、Jazz全体や他ジャンルを代表する 無作為標本ではない。
  • 同じ曲でも採用するreharmonization(コードの置換)によって結果は変わる。
  • 1コード記号を1回と数えており、拍数、テンポ、演奏回数では重み付けしていない。
  • Repeat は展開したが、iReal Pro appの再生と parser の演奏順が完全に一致する ことまでは検証していない。
  • Alternate chord も含むため、「伴奏エンジンが実際に鳴らすコードだけ」の統計では ない。
  • 公式protocolのroot一覧は通常の17綴りを中心としている。F♭E♯B♯やdouble accidentalは、rootとしての頻度を評価できない。構成音としての 頻度は「構成音の綴りと double accidental」のとおり数えられる。
  • 度数の集計はコード記号の綴りに従っており、実際のvoicingではない。omitされる 5thや、記号にない付加音は反映されない。
  • 完全コード記号は1,094種類あるため、本文には上位25件だけを掲載した。root と quality は全件掲載している。

再現方法

pianosnake/ireal-readerで復号・展開したplaylist JSONから、root、quality、 family、完全コード記号、slash bass、key signature、度数、構成音の綴りの 出現数と登場曲数をJSONで出力する。以下のコマンドは、このリポジトリのrootで 実行する。

保存済みJSONを集計する

HTMLの復号が不要なら、リポジトリ内のJSONを直接集計できる。

node tools/ireal-analysis/src/cli.js \
  tools/ireal-analysis/data/jazz-1460.json > /tmp/jazz-1460-stats.json

HTMLから再現する

必要なコマンドはgitとNode.jsである。解析時に使用した pianosnake/ireal-reader/tmpへcloneし、revisionを固定する。

IREAL_READER_DIR=/tmp/ireal-reader-662106f
git clone https://github.com/pianosnake/ireal-reader.git "$IREAL_READER_DIR"
git -C "$IREAL_READER_DIR" checkout --detach \
  662106fe60ea3f91574ddf98df0e2468a3d89e6a

保存済みHTMLを復号・展開し、その出力を頻度集計へ渡す。

node "$IREAL_READER_DIR/index.js" \
  tools/ireal-analysis/data/jazz-1460.html \
  | node tools/ireal-analysis/src/cli.js - \
  > /tmp/jazz-1460-stats.json

ireal-readerが出力するJSONは、リポジトリ内のjazz-1460.jsonと同じ内容だが、 小節配列の改行形式は異なる。頻度集計結果には影響しない。

完全コード記号のランキングだけを上位30件に制限する場合:

node tools/ireal-analysis/src/cli.js --exact-limit 30 \
  tools/ireal-analysis/data/jazz-1460.json

テスト

node --test tools/ireal-analysis/src/*.test.js
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment