A web-based MIDI chord detector that identifies chords from MIDI input in real-time. Built with TypeScript and the Web MIDI API.
- Real-time chord detection from MIDI input
- Supports a wide variety of chords (triads, seventh chords, extended chords)
- Detects chord inversions
- Clean, modern interface
- Works in Chrome, Edge, and Opera
Visit the live demo: https://jessedorsey.github.io/chordsnap/
- A modern web browser that supports the Web MIDI API (Chrome, Edge, or Opera)
- A MIDI device (keyboard, controller, etc.)
-
Clone the repository:
git clone https://github.com/jessedorsey/chordsnap.git cd YOUR_REPO -
Install dependencies:
npm install
-
Start the development server:
npm run dev
-
Open http://localhost:3000 in your browser
The project is set up to deploy to GitHub Pages from the dist folder. To deploy:
-
Update the GitHub repository URL in both
index.htmlanddocs/index.html -
Run the deploy script:
npm run deploy
-
Go to your repository settings on GitHub:
- Navigate to "Settings" > "Pages"
- Set the source to "Deploy from a branch"
- Select the "main" branch and "/dist" folder
- Click "Save"
- Triads: major, minor, diminished, augmented, sus2, sus4
- Seventh chords: major7, minor7, dominant7, diminished7, half-diminished7
- Extended chords: 9th, 11th
- Added tone chords: add9, add11
- Sixth chords: major6, minor6
- Other: power chords (5), 6/9
MIT