feat: SF3 conversion + SpessaSynth client player
Server:
- soundfont_converter.py: Python SF2->SF3 via ffmpeg Ogg compression
- batch_convert_all runs on startup (daemon thread)
- GET /soundfonts/download/{sf_id} serves SF3 with SF2 fallback
- Dockerfile: add fluidsynth, vorbis-tools
Client:
- soundfontStorage.js: IndexedDB cache for SF3 buffers
- soundfontPlayer.js: dual-mode (SpessaSynth + oscillator fallback)
- app.jsx: init SpessaSynth, loadSF on instrument select
- index.html: SpessaSynth CDN import + storage script tag
Compression: DSK 11M->1.1M (90%), SGM 529M->18M (97%)
This commit is contained in:
@@ -21,6 +21,8 @@ RUN apt-get update && apt-get install -y \
|
||||
libfluidsynth3 \
|
||||
libcurl4 \
|
||||
build-essential \
|
||||
fluidsynth \
|
||||
vorbis-tools \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Thiết lập biến môi trường hiển thị cho X11 ảo
|
||||
|
||||
Reference in New Issue
Block a user