Overview

Music Chord Finder is a small Python command-line project that takes musical notes as input and identifies whether they form a major, minor, diminished, or augmented chord.

The project currently lives in one main file, chord_finder.py. The goal is not to make a complete music theory tool yet. Version 1 is complete and focuses on clean function design, user input handling, chord logic, and a simple command-line experience.

Why I Built It

I wanted to connect programming with music theory. While learning how chords work, especially intervals and inversions, I used this project to turn that understanding into code.

Instead of only memorizing chord names, I wanted to model the logic behind them: notes become numbers, intervals become patterns, and those patterns can be checked by a program.

I also wanted to spend some evenings away from AI-assisted coding and work through the problem manually. Part of the point was to keep the basic muscle active: thinking through the logic myself, typing the code by hand, making mistakes, and understanding why each piece belongs there.

What Version 1 Does

Example

If the user enters:

C E G

the program can identify the result as:

C major

It also supports inversions. For example, E G C can still be recognized as C major, because the program tests each note as a possible root.

Core Logic

A chord is identified not just by note names, but by the distances between notes. For example, C E G becomes 0, 4, 7, which matches the major chord pattern.

To support inversions, the program tests each note as a possible root. That way, notes like E G C can still be understood as a C major chord, even though C is not the first note entered.

Version 2 Focus

Version 2 is about improving the command-line experience without changing the core chord logic too much.

Current Limitations

Roadmap

Project Status

Status: Version 1 complete. Version 2 is in progress.

This is a small but meaningful learning project. It is intentionally limited, but it already captures the core idea: basic chord recognition can be expressed clearly through intervals, patterns, and careful input handling.