A modern, high-performance desktop application for managing your audio sample library. Built with Electron, React, and Vite.
- Library Management: Easily add and scan folders to build your sample database.
- Fast Navigation: Virtualized lists allow for smooth scrolling even with thousands of samples.
- Audio Playback: Integrated waveform player (using
wavesurfer.js) for quick previewing. - Tagging System: Organize your sounds with a custom tagging system (add/remove tags).
- Search & Filter:
- Real-time search by name.
- Filter by tags.
- Sort by Name, Size, Duration, or Creation Date.
- Persistent Library: Your library state, including scanned samples and tags, is saved automatically.
- Optimized Performance: efficiently rescans folders and loads persistent data to minimize startup time.
- Runtime: Electron
- Frontend: React with TypeScript
- Build Tool: Vite
- Audio Visualization: wavesurfer.js
- Metadata: music-metadata
- UI Virtualization: react-window
- Icons: Lucide React
- Node.js (v16 or higher recommended)
- npm or yarn
-
Clone the repository
git clone https://github.com/enorrmann/sample_manager.git cd sample_manager -
Install dependencies
npm install # or yarn install -
Run in Development Mode Start the Vite dev server and Electron app:
npm run dev # or yarn dev -
Build for Production To build the application for your OS (configured for Linux AppImage/deb):
npm run build # or yarn build
- Add Folders: Click the "Add Folder" button in the sidebar to select a directory on your computer containing audio samples.
- Scan: The app will automatically scan the folder and add compatible audio files to your library.
- Preview: Click on any sample in the list to play it. The waveform will appear in the player at the bottom.
- Tag: Right-click or use the UI options to add tags to your samples for easier categorization.
- Search/Sort: Use the search bar or sorting dropdowns to find specific sounds.