Skip to content

KMP V1.2

Choose a tag to compare

@Behdad-kanaani Behdad-kanaani released this 31 May 16:39

🎵 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-glass theme replacing the old apple theme
  • 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 .cue files 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:

  1. Peak Detection - Counts waveform peaks
  2. Autocorrelation - Better for low BPMs (60-120)
  3. 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!