About the Project: ChordExplorer

Inspiration

The inspiration for ChordExplorer came from the challenge of understanding and mastering altered chords, a crucial element in jazz music. We wanted to build a tool that simplifies this process, helps with ear training, and inspires new progression ideas by connecting them with jazz standards.

What it does

ChordExplorer allows users to:

  • Explore diatonic chords and their alterations in any key.
  • Train their ears by listening to chord variations and comparing them.
  • Create custom progressions by dragging and dropping chords into a progression bar and match them with well-known jazz standards for inspiration.

How we built it

We developed ChordExplorer using:

  • Frontend: HTML, CSS, and JavaScript
  • Backend: Flask for handling requests, generating MIDI files with Music21, and converting them to audio files using FluidSynth.
  • Data Handling: AJAX for communication between the frontend and backend.

Challenges we ran into

  • Handling chord alterations dynamically and ensuring accurate playback.
  • Synchronizing the frontend with backend-generated chord names and progressions.
  • Allowing seamless toggling between Roman numeral and chord name displays.
  • Addressing issues with real-time audio file generation and playback consistency.

Accomplishments that we're proud of

  • Successfully implementing a chord "degree" based matching algorithm (invariant to transposition)
  • Ensuring accurate MIDI-to-audio rendering for altered and diatonic chords. (upcoming)

What we learned

  • The importance of defining clear requirements between frontend and backend for real-time interactions.
  • Experienced frontend for the first time.
  • Working with github branches....

What's next for ChordExplorer

  • Adding support for custom chord voicings and inversions.
  • Incorporating modal scales
  • Integrating a database of jazz standards for direct comparison with user-created progressions.
  • Expanding the tool into a collaborative platform for sharing progressions and ideas.

Built With

Share this project:

Updates