Chorde is a modern, responsive songbook application designed for musicians. It allows you to manage your song library using the industry-standard ChordPro format, transpose keys on the fly, and keep your repertoire organized.
- ChordPro Support: Parse and render songs with chord embedding.
- Search-Based Import: Search and import songs from public domain sources (OpenHymnal, etc.).
- Interactive Chord Library:
- Browse chords and view multiple finger positions (variations).
- Strumming Audio Preview: Listen to realistic guitar strum playback with position-based timing.
- Dynamic Transposition: Instantly change the key of any song.
- Smart Song Viewer:
- Auto-scroll with adjustable speed.
- Multiple display modes: Chords, Tabs, and Notation.
- Loop sections for practice.
- Collapsible Navigation: Browse by Keys, Artists, and Genres with item count badges.
- Local Storage: Your library is saved locally in your browser.
- Nashville Number System: View songs in numbers for universal playability.
- Performance: Lazy loading for large song libraries.
- Responsive Design: Works great on desktop and tablets.
This is a monorepo with two packages:
chorde/
├── packages/
│ ├── web/ # React frontend application
│ └── api/ # Hono API service for song search
└── package.json # Workspace configuration
- Node.js (v18 or higher)
- npm
-
Clone the repository:
git clone https://github.com/your-username/chorde.git cd chorde -
Install dependencies:
npm install
-
Start the development servers:
# Start both frontend and API npm run dev:all # Or start separately: npm run dev # Frontend only (http://localhost:5173) npm run dev:api # API only (http://localhost:3001)
-
Open your browser at
http://localhost:5173
- Framework: React 19
- Build Tool: Vite
- Language: TypeScript
- UI Library: Material UI (MUI) v7
- Styling: MUI's
sxprop + modular CSS
- Framework: Hono
- Runtime: Node.js with @hono/node-server
- Language: TypeScript
- Search Import Guide - NEW - How to use and extend the search-based import feature
- Song Import Guide
- Library Status
- Development Guide
- Contributing Guide
Users can now search for songs from public domain sources and import them directly:
- Click "Import" in the app
- Switch to "Search Online" tab
- Search for songs (e.g., "Amazing Grace")
- Preview and import with one click
Currently supported sources:
- OpenHymnal - Public domain hymns in ChordPro format
See SEARCH_IMPORT_GUIDE.md for details on adding new sources.
We welcome contributions! Please see CONTRIBUTING.md for details on how to get started.
This project is licensed under the MIT License.