A web service that allows users to convert SoundFont (.sf2) files into LV2 plugins directly from their web browser. This is the web version of SF2LV2.
SF2LV2 Web provides a simple, user-friendly interface for musicians and producers to convert their SoundFont files into LV2 plugins. Users can:
- Upload any .sf2 file through their web browser
- Preview the SoundFont's contents:
- Interactive piano keyboard interface
- Real-time soundfont playback
- MIDI device support
- Full preset browser with bank and program selection
- Visual feedback for active notes
- Generate an LV2 plugin with all the features of the command-line SF2LV2:
- MIDI input support
- Stereo audio output
- Real-time control over Filters and Envelopes
- Full preset name display
- Bank and program change support
- Download the compiled LV2 plugin, ready to use in any LV2 host
The service handles all the complexity of plugin compilation, dependency management, and build processes behind the scenes, making it accessible to users regardless of their technical expertise.
- Interactive piano keyboard (C2 to C6 range)
- Real-time soundfont playback using Web Audio API
- Full preset browser with bank and program selection
- Visual feedback for active notes
- Mouse and touch support for playing notes
- Drag functionality across keys
- WebMidi API integration
- Multiple MIDI input device support
- Real-time note playback with velocity
- Automatic device detection
- Connection/disconnection handling
- Real-time preset switching
- High-quality soundfont playback
- Sample-accurate timing
- Proper note envelope handling
- Efficient memory management
- Automatic audio context handling
- Upload: Users drag and drop or select their .sf2 file
- Validation: The service checks the file format and content
- Preview: Users can see the SoundFont's presets and structure
- Build: The service compiles the LV2 plugin in a secure container
- Download: Users receive their ready-to-use LV2 plugin
sf2lv2-web/
├── frontend/ # React application for file upload and download
├── backend/ # Node.js server handling conversion requests
└── docker/ # Build environment container
- Node.js (v16 or later)
- Docker
- Git
-
Frontend
- React-based web interface
- Drag-and-drop file upload
- Progress tracking
- Plugin download
- SoundFont preview functionality
-
Backend
- Node.js/Express server
- File handling and validation
- Build queue management
- Download management
- Security and rate limiting
-
Build Container
- Debian-based Docker container
- FluidSynth and LV2 dependencies
- Automated build process
- Secure execution environment
Instructions coming soon...
- File type validation
- Size limits on uploads
- Secure, isolated build environment
- Rate limiting for API endpoints
- Temporary file cleanup
- Secure download links
MIT License - See LICENSE file for details.
Created by Isla Instruments (www.islainstruments.com)