Root analysis (after Parncutt)

Root analysis (after Parncutt)#

This example demonstrates how we can analyze the root of a chord using the parncutt module.

from amads.harmony.root_finding.parncutt import ParncuttRootAnalysis
c_major_triad = ParncuttRootAnalysis([60, 64, 67])
print(f"Root: {c_major_triad.root}")
print(f"Root ambiguity: {c_major_triad.root_ambiguity}")
fig = c_major_triad.plot()
Root strengths for chord [0, 4, 7]
Root: 0
Root ambiguity: 1.8708286933869707
f_minor_triad = ParncuttRootAnalysis([60, 65, 67])
print(f"Root: {f_minor_triad.root}")
print(f"Root ambiguity: {f_minor_triad.root_ambiguity}")
fig = f_minor_triad.plot()
Root strengths for chord [0, 5, 7]
Root: 5
Root ambiguity: 1.984313483298443
d_diminished_triad = ParncuttRootAnalysis([62, 65, 68])
print(f"Root: {d_diminished_triad.root}")
print(f"Root ambiguity: {d_diminished_triad.root_ambiguity}")
fig = d_diminished_triad.plot()
Root strengths for chord [2, 5, 8]
Root: 2
Root ambiguity: 2.5099800796022267

Total running time of the script: (0 minutes 0.505 seconds)

Gallery generated by Sphinx-Gallery