3dtours
23601007bf
fix: SpessaSynth init retry + default SF3 auto-load
...
- getAudioContext() calls SonicSF.init on every call (not just first)
- soundfontPlayer.init retries after 1s if SpessaSynth module not loaded yet
- Auto-loads sgm_v2.01 SF3 on successful init
- Fixes race condition: module script loads after regular scripts
2026-07-26 17:59:15 +07:00
3dtours
e51b7fd355
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%)
2026-07-26 17:51:37 +07:00
3dtours
d48262d468
feat(engine): fix SF2 path resolution, add synth_engine struct and fallback chain
...
- Fix SF2 path: search upload dir, system dir, static dir (backward compat)
- Add synth_engine struct parsing with flat field fallback
- Add 3-level fallback: selected SF -> default SF -> oscillator synth
- Write synth_engine in setTrackInstrument UI setters
- Pass synth_engine context to client SoundFontPlayer and AI gateway
2026-07-26 16:49:40 +07:00
3dtours
89c7237379
feat: add SoundFont inspection engine + AI instrument schema
...
- SoundFontInspector (sf2utils) scans .sf2, generates full/condensed catalog
- GET /api/v1/plugins/soundfonts/catalog with lazy init + cache invalidation
- AI tool generate_multitrack_midi now requires soundfont_id/bank/program
- Condensed catalog auto-injected into AI system prompt with bank rules
- Server render: FluidSynth program_select uses bank/program + channel routing (drums→ch9)
- VST3 pedalboard path inserts CC0 bank select + program change before notes
- DecentSamplerManager loads .dspreset with CWD fix for relative sample paths
- Pianobook render branch in render_engine.py
- Client SonicSF: controllerChange, programChange, applyAITrackInstrument
- Post-AI track creation applies instrument via applyAITrackInstrument
- Background cache rescan on .sf2 upload, frontend re-fetches catalog
- libcurl4 + VST3 dirs in Dockerfile
2026-07-26 12:36:48 +07:00
3dtours
b0d7f35a1e
fix(piano-roll): loop only on btn + instant stop
...
- Sub-tab selection loop only active when st.isLooping is true
- End-of-playback loop uses st.isLooping, not global isLoopingSelection
- SonicSF.stopAll() sets gain 0 and stops oscillators immediately
2026-07-26 12:16:01 +07:00
3dtours
4e880850f5
fix(piano-roll): playhead seek + sound cracking
...
- Piano roll ruler click during playback now seeks and continues playing
- ADSR envelope uses linearRampToValueAtTime for crack-free release
- stopAll ramps gain to 0 in 20ms before stopping oscillators
2026-07-26 12:03:29 +07:00
3dtours
1ffdec68c6
fix: ruler click 200ms timeout + default instrument attackTime 0.03 + safe ramp
2026-07-26 11:51:50 +07:00
3dtours
e18b261943
fix: ruler range drag/move, default cursor, SonicSF smooth stopAll
2026-07-26 11:42:06 +07:00
3dtours
6a17e7036c
fix: nhãn của soundfont hiển thị sai và không load được instrument
2026-07-23 22:32:19 +07:00
3dtours
1a28ebabee
fix: piano roll và main session play
2026-07-23 21:05:26 +07:00
3dtours
dac661e6c6
fix: piano roll tab có thể play với soundfont
2026-07-23 20:34:52 +07:00
3dtours
a21266736c
fix: synth để gắn soundfont cho midi
2026-07-23 19:26:26 +07:00
3dtours
055f351a17
fix: sửa lỗi cho AI thực hiện tạo MIDI
2026-07-23 18:19:12 +07:00
3dtours
225f23516f
feat: thêm soundfont và VSTi cho MIDI
2026-07-23 17:47:46 +07:00
3dtours
0e44e44ecb
feat: bổ sung MIDI
2026-07-23 08:32:23 +07:00
3dtours
9bf9f38864
feat: thêm tính năng lưu dự án bằng modal, Lưu dưới tên khác (Save As) và quản trị dự án/tệp tin trong Hồ sơ cá nhân
2026-07-22 18:42:14 +07:00
3dtours
b9c524230d
fix: tự động dịch chuyển thanh cuộn xuống dưới cùng
2026-07-22 17:49:08 +07:00
3dtours
610c384bca
fix: copilot Multi-tool Calling)
2026-07-22 17:20:41 +07:00
3dtours
d6fe1326c5
fix: sửa copilot không gửi AI provider 2
2026-07-22 17:01:41 +07:00
3dtours
8a85dd2dfc
fix: sửa copilot không gửi AI provider
2026-07-22 15:02:43 +07:00
3dtours
b78193dfad
fix: sửa UI của bars và lưu thông tin vào profile
2026-07-22 10:54:24 +07:00
3dtours
6fd9db54cf
fix: sửa các tools của AI
2026-07-22 09:59:43 +07:00
3dtours
108943ae81
fix: thêm và sửa các tools của AI
2026-07-22 09:51:27 +07:00
3dtours
4791bb22d9
fix: đã sửa lỗi các tools của AI
2026-07-22 09:27:12 +07:00
3dtours
022fbb3351
fix: đã sửa lỗi AI gửi prompt và thêm các tool để AI thực hiện
2026-07-22 09:23:05 +07:00
3dtours
e0b849fdf2
fix: đã sửa lỗi AI gửi prompt
2026-07-22 08:52:34 +07:00
3dtours
04403b0af7
fix tạm lỗi cài đặt AI prompt
2026-07-21 21:38:37 +07:00
3dtours
bbc42c630e
feat: cài đặt tính năng AI cho để prompt
2026-07-21 19:48:35 +07:00
3dtours
d5143b440a
fix: change md files to md folder
2026-07-21 18:22:39 +07:00
3dtours
85a8dc6d17
fix: time selection click and shiftclick
2026-07-20 19:44:23 +07:00
3dtours
2a44b81cf5
fix: cannot login with default password
2026-07-20 11:50:07 +07:00
3dtours
c8ebdb50b0
fix: refactor
2026-07-20 10:39:07 +07:00