A modern web application for publishing lyrics to LRCLib.net with enhanced lyrics finding capabilities.
- Search LRCLib Database: Search for existing lyrics in the LRCLib database.
- Find Lyrics from Musixmatch: Via @mjba/lyrics with both regular and synced lyrics support.
- Input synced lyrics: Manually input synchronized lyrics with timestamps.
- Upload audio client-side: Required for publishing to LRCLib.
- Modern UI: Clean, responsive interface with real-time feedback.
- URL Extraction: Extract lyrics directly from Musixmatch URLs.
- Search for lyrics dynamically using
/search/{query}
. - View plain and synced lyrics in a modern modal interface.
- Frontend: Next.js 15, React, TypeScript
- Styling: CSS with modern design patterns
- Lyrics API: @mjba/lyrics for Musixmatch integration
- Deployment: Vercel
- Node.js 18+
- npm or yarn
- Clone the repository:
git clone https://github.com/LaganYT/LRCLIBPlusPlus.git
cd LRCLIBPlusPlus
- Install dependencies:
npm install
- Run the development server:
npm run dev
- Open http://localhost:3000 in your browser.
- Navigate to Find Lyrics: Go to
/find-lyrics
page - Enter Song Details: Input song name and artist
- Search: The system will search both LRCLib database and Musixmatch
- View Results: Browse through available lyrics with preview
- Accept Lyrics: Choose lyrics to proceed to publishing
- Paste Musixmatch URL: Use the URL input feature
- Extract: The system will extract both regular and synced lyrics from the URL
- Publish Workflow: Once you accept lyrics, you'll be redirected to the publish page with all data pre-filled
- Fill Required Fields: Track name, artist name, album name, duration
- Add Lyrics: Input plain lyrics and/or synced lyrics (LRC format)
- Upload Audio: Required for LRCLib publishing
- Submit: Publish to LRCLib.net
POST /api/lyrics
- Search for lyrics from MusixmatchPOST /api/extract-lyrics
- Extract lyrics from Musixmatch URLsPOST /api/publish
- Publish lyrics to LRCLib
LRCLIBPlusPlus/
├── components/ # React components
├── pages/ # Next.js pages and API routes
├── styles/ # Global CSS styles
├── types/ # TypeScript type definitions
├── utils/ # Utility functions
└── public/ # Static assets
- Type Safety: Full TypeScript support with centralized type definitions
- Error Handling: Comprehensive error handling across all API endpoints
- Code Reusability: Utility functions for common operations
- Modern Architecture: Clean separation of concerns and modular design
- No API Keys Required: Uses @mjba/lyrics for reliable lyrics fetching
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
This project is licensed under the Unlicense - see the LICENSE file for details.