generated at
「作りながら覚える3日で作曲入門」のコードの状態遷移図

Tonicだけ内部を詳しく描いた
破線はあまりいかないパターン
TonicsubdominantDominantの人間の誰かがこれが美しく聞こえるとした関係で、key=Cでなくてもこうなる
コードの状態遷移の度数のルールに一致している(図を見比べよう)
追記:コードの状態遷移#60754edf774b170000ff5a9bのように考えると以下の点が足りていない
ドミナントにはEmが入るし、サブドミナントにはAmが入る
ただしこっちはTonicからDominantにいけたり自由度が大きい

--
digraph finite_state_machine { compound=true; rankdir=LR; size="8,5" subgraph cluster_Tonic { label = "Tonic" node [shape = circle]; C -> C C -> Em C -> Am Em -> Em [label = "代理コードは主要コードにいけない"] Em -> Am Am -> Am Am -> Em } subgraph cluster_SubDom { label = "Subdominant" node [shape = circle]; F Dm } subgraph cluster_Dom { label = "Dominant" node [shape = circle]; G } Em -> F [ltail=cluster_Tonic,lhead=cluster_SubDom ,label=" "]; C -> G [ltail=cluster_Tonic,lhead=cluster_Dom, dir=both]; F -> G [ltail=cluster_SubDom,lhead=cluster_Dom, label=" "]; F -> Em [ltail=cluster_SubDom,lhead=cluster_Tonic style=dotted] }