v2.3.15
Immersive Audio Player & Lyric Video Maker 2.3.15
Bug
- Missing node module, please install three.js first:
npm install three, or download the archive below.
What's New
-
Audio Visualization Expansion (New Feature):
- New Visualizer Types: Added four new audio visualization types to the Render Settings dropdown:
- Waveform (Filled): A symmetrical, dynamically filled representation of the audio envelope.
- Spectrum: A continuous peak filled graph with a sharp top line tracking frequency magnitudes.
- Spectrogram: A clean, scrolling waterfall interface plotting frequency history over time.
- Stereo Field: Dynamic simulation of a phase goniometer/Lissajous monitor using offset phase mappings.
- Full Support: Seamlessly integrated to render properly in real-time within the web preview and flawlessly baked into offline renderers (FFmpeg/WebCodecs).
- New Visualizer Types: Added four new audio visualization types to the Render Settings dropdown:
-
Embedded Lyrics — Cross-Format Support (Bug Fix / New Feature):
- Root Cause: The
jsmediatagslibrary only reads lyrics from MP3 (ID3v2USLTtag) and M4A/ALAC (MP4©lyratom). For FLAC, it parses Vorbis Comments but hardcodes only 5 fields (title, artist, album, track, genre) — theLYRICSfield is completely ignored. For OGG, OPUS, and WAV, it has no reader at all and fails silently. - Custom Binary Parser: Introduced
utils/embeddedLyrics.ts— a zero-dependency binary parser that directly reads embedded lyrics from:- FLAC: Parses metadata blocks to find the VORBIS_COMMENT block (type 4) and extracts
LYRICS,UNSYNCEDLYRICS,SYNCEDLYRICSfields. - OGG Vorbis / OPUS: Parses OGG pages, reassembles the comment header packet (handling multi-segment packets), and reads Vorbis Comments including lyrics.
- WAV: Parses RIFF chunks looking for
LIST INFOsub-chunks (ILYC/ILYRfor lyrics).
- FLAC: Parses metadata blocks to find the VORBIS_COMMENT block (type 4) and extracts
- Seamless Fallback: The custom parser is called automatically when
jsmediatagseither returns no lyrics (FLAC) or fails entirely (OGG/OPUS/WAV). Title, artist, and album metadata are also extracted as a bonus for unsupported formats. - All Code Paths Covered: Works in the main player (single-file upload), the Playlist Editor (batch import), and the Reload Embedded Lyrics button (↻) — which was previously using a separate, outdated code path that only checked
lyrics || USLT.
- Root Cause: The
-
Workflow Improvements:
- Playlist Auto-Sync: Audio files and lyrics uploaded directly from the main view now seamlessly integrate into the persistent playlist. The track becomes instantly available within the Playlist Editor, eliminating isolated track states and creating a unified experience.
-
Branding & UI Updates:
- Brand Icons: Integrated
react-simple-iconsto properly display specific brand logos on the About page. - Icons Update: Updated
lucide-reactto the latest version for improved icon availability and security.
- Brand Icons: Integrated
Full Changelog: v2.3.14...v2.3.15