A real-time lyrics display application with synchronized word highlighting. Built with React, Node.js, and Socket.IO.
- Real-time lyrics display with word-by-word highlighting
- CSV upload for song lyrics mapping
- WebSocket-based synchronization
- Modern Material-UI interface
/client
- React frontend application/server
- Node.js backend server
- Node.js (v16 or higher)
- npm
- Clone the repository:
git clone https://github.com/asisayag2/singAlong.git
cd singAlong
- Install server dependencies:
cd server
npm install
- Install client dependencies:
cd ../client
npm install
- Start the server (from the server directory):
npm run dev
- Start the client (from the client directory):
npm start
The server will run on http://localhost:3001 and the client on http://localhost:3000.
POST /song
- Upload song lyrics mapping (CSV file)GET /song/:songNumber
- Retrieve song lyricsPOST /trigger
- Trigger word highlighting
The CSV file should have the following columns:
note
- Line numbervelocity
- Word number within the lineword
- The actual word
Example:
note,velocity,word
1,1,Hello
1,2,world
wordChange
- Emitted when a word highlight is triggered- Parameters:
{ songNumber, lineNumber, wordNumber }
- Parameters: