A music recognition application built with Vue 3 and Vite that allows users to identify songs playing around them.
- Real-time audio capture
- Music recognition using AudD API
- Responsive design for mobile and desktop
- Modern UI with animations
- Display of song details including:
- Title
- Artist
- Album
- Release Year
- Album Cover Art
- Node.js (v14 or higher)
- NPM or Yarn
- AudD API key (get it from AudD.io)
- Clone the repository:
git clone <your-repo-url>
cd shazam
2. Install dependencies:
```bash
npm install
- Configure environment variables:
- Copy .env.example to .env
- Add your AudD API token to the .env file:
VITE_API_URL=https://api.audd.io/
VITE_API_TOKEN=your_api_token_here
- Start the development server:
npm run dev
- Open the application in your browser
- Click the "Tap to Shazam" button
- Allow microphone access when prompted
- Play music near your device
- Wait for the result (takes about 10 seconds)
- Vue 3
- Vite
- Pinia (State Management)
- Tailwind CSS
- Web Audio API
- MediaRecorder API
shazam/
├── src/
│ ├── components/
│ │ └── ShazamComponent.vue
│ ├── stores/
│ │ └── musicStore.js
│ ├── services/
│ │ └── musicService.js
│ ├── App.vue
│ └── main.js
├── .env.example
└── README.md
- npm run dev : Start development server
- npm run build : Build for production
- npm run preview : Preview production build
The application uses modern Web APIs and requires:
- Web Audio API support
- MediaRecorder API support
- Modern browser (Chrome, Firefox, Safari, Edge)
- Fork the repository
- Create your feature branch
- Commit your changes
- Push to the branch
- Create a new Pull Request
- AudD for the music recognition API
- Vue.js for the frontend framework
- Tailwind CSS for styling