KMP V1.2
🎵 KORAI Music Player - Release Notes v1.2.0
"Liquid Glass Update" | May 31, 2026
🚀 Major New Features
🎨 Liquid Glass Theme
- Animated moving glass blobs with organic motion and smooth physics
- SVG filter-based glass distortion effect (turbulence + displacement)
- New
liquid-glasstheme replacing the oldappletheme - Frosted glass aesthetic with real-time blur and shine effects
🎤 Artists Tab
- Browse and organize your music by artist name
- Automatically extracts and groups all artists from your library
- Clean, sortable artist grid view
🔍 Advanced Search Engine
Powerful query syntax with support for:
| Query | Meaning |
|---|---|
bpm>120 |
BPM greater than 120 |
bpm<100 |
BPM less than 100 |
bpm:120-140 |
BPM between 120-140 |
genre:rock |
Genre contains "rock" |
genre:rock|metal |
Genre is rock OR metal |
energy>0.7 |
Energy level above 0.7 |
duration<240 |
Duration less than 240 seconds |
playcount>10 |
Played more than 10 times |
likecount>0 |
Has at least 1 like |
year:2020-2024 |
Year between 2020-2024 |
title:"Hello" |
Exact title match |
genre:!pop |
Negation (NOT pop) |
- Combine conditions:
genre:rock bpm>120 energy>0.6 - Auto-complete suggestions as you type
- Multi-field search with
q:operator
🏷️ In-App Tag Editor
Edit metadata directly inside the application:
- Editable fields: Title, Artist, Album, Genre, Year, Track Number, Composer, Lyrics
- Physical file writing support for MP3 (ID3v2 tags)
- Real-time UI refresh after saving
- Works with: MP3, FLAC, OGG, M4A, WAV
📁 Professional Import/Export
| Feature | Supported Formats |
|---|---|
| Export Playlist | M3U, M3U8, PLS, CSV |
| Import Playlist | M3U, M3U8, PLS |
| Export Library | CSV (full metadata) |
🎚️ CUE Sheet Support
- Parse
.cuefiles and extract individual tracks - Support for:
REM,PERFORMER,TITLE,FILE,TRACK,INDEX,FLAGS - Generate CUE sheets from existing playlists
- Automatic track timing and pregap handling
🎛️ Gapless Playback & Crossfade
- Seamless gapless playback between tracks (no silence)
- Adjustable crossfade: 0-12 seconds
- Precise scheduling using Web Audio API
- Configurable via DSP Studio panel
🧠 Real BPM Detection (No more filename guessing!)
Three-algorithm hybrid detection system:
- Peak Detection - Counts waveform peaks
- Autocorrelation - Better for low BPMs (60-120)
- FFT-based Onset Detection - Transient detection
- Falls back to metadata BPM if available
- Updates track data automatically
- Accurate for MP3, WAV, FLAC, OGG, M4A
📊 Enhanced Recommendation Engine
- Discovery bonus - Less-played tracks get higher similarity scores
- Loudness added to similarity metrics
- Improved genre detection based on BPM + Energy
- Better weighted scoring system
🧵 Web Worker for Audio Analysis
- Non-blocking UI - Analysis runs in separate thread
- Real progress tracking during batch import
- Much smoother experience when adding many files
🎨 UI/UX Improvements
- New GitHub Star button in title bar (direct repo link)
- Export Library and Import CUE Sheet buttons in AI panel
- Advanced Search button in navigation bar
- Smooth hover animations for Liquid Glass theme
- Updated splash screen layout
- Improved DSP Studio panel design
🐛 Bug Fixes
| Issue | Status |
|---|---|
| Shuffle logic randomness | ✅ Fixed |
| Queue logic and order | ✅ Fixed |
| File auto-play after import | ✅ Fixed |
| Home dashboard refresh | ✅ Fixed |
📦 Technical Changes (Developers)
New Files
src/backend/bpmDetector.js - Real BPM detection engine
src/backend/cueParser.js - CUE sheet parser/generator
src/backend/playlistExporter.js - M3U/PLS/CSV import/export
src/backend/worker/analyzer.worker.js - Web Worker for analysis
src/frontend/advancedSearch.js - Advanced query search
src/frontend/gaplessPlayer.js - Gapless & crossfade engine
src/frontend/tagEditor.js - In-app metadata editor
New API Endpoints
| Method | Endpoint | Purpose |
|---|---|---|
PUT |
/api/tracks/:id/tags |
Edit metadata |
POST |
/api/playlists/:id/export |
Export playlist |
POST |
/api/playlists/import |
Import playlist |
POST |
/api/library/export |
Export full library |
POST |
/api/search/advanced |
Advanced search |
POST |
/api/cue/parse |
Parse CUE file |
POST |
/api/cue/generate |
Generate CUE from playlist |
GET/POST |
/api/playback/settings |
Gapless/crossfade settings |
POST |
/api/tracks/:id/detect-bpm |
Real BPM detection |
Version Update
package.json: 1.0.0 → 1.2.0
Code Statistics
- +14,317 lines added
- 1,594 lines removed
- 24 files changed
📥 Download
| Type | File |
|---|---|
| Portable (no install) | KORAI-Player-Portable.exe |
| Setup (installer) | KORAI-Player-Setup.exe |
🔧 System Requirements
| Component | Minimum |
|---|---|
| OS | Windows 10 (64-bit) |
| RAM | 512 MB |
| Storage | 200 MB |
| Audio | Web Audio API support |
⌨️ Keyboard Shortcuts
| Shortcut | Action |
|---|---|
Space |
Play / Pause |
Ctrl + K |
Focus search bar |
🐛 Known Issues in v1.2.0
- Crossfade > 3 seconds may cause stuttering on low-end systems
- Real BPM detection less accurate for tracks < 30 seconds
- Tag editing on FLAC/OGG requires manual UI refresh
- CUE sheet parsing requires absolute paths for audio files
👨💻 Developer
Behdad Kanaani
Teenage programmer, music enthusiast, AI & computer vision lover
GitHub: @Behdad-kanaani
📄 License
Apache 2.0
⭐ Support the Project
If you enjoy KORAI Music Player, please star the repository on GitHub!