/Ellerehcseb

Chords Finder. An application where I can enter notes, and it give me the name of the chord: C, D#, F#, A -> Cdim7

Primary LanguageKotlin

Ellerehcseb

Chords Finder

an application where I can enter notes, and it give me the name of the chord: C, D#, F#, A -> Cdim7

Algo:

  • all chords are generated,
  • then we search in the list for the chord with the same notes as input.

Archi

core folder: all "business" about music.
androidAdapter convert String to core business.
only one activity.

App, GUI, UX :

  • input: note as character
  • input: note as button
  • input: note on piano keyboard
  • input: note on piano keyboard
  • input: note on guitar/uku/banjo/... neck
  • output: chord name
  • output: chord info (name, interval, third,
  • display the chord name using b and # ?
  • uses character (A, B, C ...)
  • uses # or s for sharp
  • uses b for flat
  • uses notes (Do, Ré, Mi ...)

infra:

  • Continuous Unit Tests
  • Continuous End-to-End Tests
  • UI Test using mock
  • build apk
  • deploy on store?
  • dependecy injection: koin?

business core:

  • perfect major
  • perfect minor
  • (dominant) 7th : maj7, min7, m(maj7)
  • diminished
  • diminished seventh
    ...
  • Don't use the first notes as root (inversion).
  • chords with exactly the given notes
  • chords with other notes (not only the ones given as input)
  • chords with other notes, using the first as root?
    ...
  • sharp/flat (using fretted instrument, D# == Eb)
  • error when chord not found ...
  • use a csv config file with the chords list ?

Chord to notes

From the chord, give the notes.