Line Tunes is a web-based drum sequencer application that allows users to create, play, and export drum patterns. The application features multiple drum sounds, adjustable sequence length, and customizable playback speed.
🎵 Live Demo
- Multi-Sound Sequencer: Create patterns using multiple drum sounds including kick, snare, hi-hat, clap, cowbell, crash, open hat, percussion, and tom.
- Dynamic Grid: Adjustable sequence length from 4 to 64 steps, with visual distinction every 4 steps.
- Playback Controls: Play, pause, and stop functionality with adjustable BPM (60-400).
- Visual Feedback: Real-time visual feedback with color-coded sounds and neon glow playback indicator.
- Responsive Design: Fully responsive interface with custom-styles.
- Pattern Export: Export your beats as WAV files for use in other applications.
- React: Frontend framework for building the user interface
- TypeScript: Type-safe JavaScript for better development experience
- TailwindCSS: Utility-first CSS framework for styling
- Web Audio API: For sound synthesis and playback
- Lucide Icons: For UI icons
- Netlify: For hosting and deployment
To get a local copy of this project running, follow these steps:
- Clone the Repository:
git clone https://github.com/YureshTharushika/Line_Tunes.git
- Navigate to the Project Directory:
cd line-tunes
- Install Dependencies:
npm install
- Run the Application:
npm run dev
- Open your Browser and navigate to
http://localhost:5173
to view the application.
src/components/
- React componentssrc/AudioSynthesizer.ts
- Audio synthesis and playback logicsrc/AudioExporter.ts
- WAV file export functionalitypublic/icons/
- Drum sound iconspublic/samples/
- Audio samples for drum soundssrc/styles/
- CSS styles and custom scrollbar
-
Creating Patterns:
- Click on any grid cell to toggle a sound at that position
- Each row represents a different drum sound
- Active cells will play their corresponding sound during playback
- Clear all patterns using the clear button
-
Playback Controls:
- Use the play/pause/stop buttons to control playback
- Adjust tempo using the BPM control (60-400 BPM)
- Change sequence length using the step controls (4-64 steps)
-
Visual Elements:
- Each sound type has its unique color
- Playing position is indicated by a neon blue glow
- Grid sections are visually separated every 4 steps
-
Exporting:
- Click the download button to export your pattern
- Saves as a WAV file with pattern length based on BPM and steps
- File name includes BPM and step count for reference
If you would like to contribute to this project, please follow these guidelines:
- Fork the Repository and create a new branch for your feature or bug fix
- Make Your Changes and test them thoroughly
- Submit a Pull Request detailing the changes you have made
- React: For providing an efficient library for building user interfaces
- Web Audio API: For enabling high-quality audio synthesis in the browser
- TailwindCSS: For making styling and responsive design easier
- Lucide: For providing beautiful and customizable icons
- Flaticons: For providing beautiful drum icons
- Netlify: For hosting and continuous deployment
This project is licensed under the MIT License - see the LICENSE file for details.