kv-music/js
tryptz 5bbc36cdb1 feat: add binaural/spatial DSP with multichannel HRTF rendering
Implement a complete binaural audio processing pipeline that sits before
EQ Studio in the signal chain. Supports multichannel (5.1) HRTF
binauralization for Dolby Atmos and Apple 3D Audio content, with
crossfeed and stereo widening for regular stereo content.

New modules:
- hrtf-generator.js: Procedural HRTF impulse response synthesis using
  Woodworth head model (ITD, ILD, head shadow, pinna coloring)
- binaural-dsp.js: BinauralDSP engine with multichannel splitter,
  per-channel ConvolverNode HRTF rendering, Bauer-style crossfeed
  (low/medium/high), and M/S stereo widener

Integration:
- Audio graph: binaural block inserted before preamp/EQ, multichannel
  passthrough via MediaElementSource channelCount=6
- Storage: binauralDspSettings with full persistence (JSON in localStorage)
- UI: toggle + sub-controls (crossfeed level, HRTF preset, width slider)
  placed before EQ Studio in settings
- Player: auto-enables binaural DSP when Atmos content detected,
  shows binaural badge on Atmos tracks
2026-04-10 16:06:04 +03:00
..
accounts fix(linting): fix js linting issues 2026-04-04 01:37:47 +03:00
tests test: Add first row of tests for the site 2026-04-06 15:55:30 +03:00
visualizers fix(linting): fix js linting issues 2026-04-04 01:37:47 +03:00
analytics.js Remove Mossad tracking software (why THE FUCK were we tracking everything) 2026-04-08 23:19:42 +03:00
api.js fix: normalize artist ID comparison to handle string/number types 2026-04-05 20:11:41 +03:00
api.test.ts fix(linting): fix js linting issues 2026-04-04 01:37:47 +03:00
app.js Remove Mossad tracking software (why THE FUCK were we tracking everything) 2026-04-08 23:19:42 +03:00
audio-context.js feat: add binaural/spatial DSP with multichannel HRTF rendering 2026-04-10 16:06:04 +03:00
autoeq-data.js style: auto-fix linting issues 2026-04-02 11:05:12 +03:00
autoeq-engine.js feat: per-band Mid/Side EQ, context menus, shelf presets, performance fix 2026-04-10 16:06:04 +03:00
autoeq-importer.js fix: l opens lyrics 2026-04-02 18:28:46 +00:00
BaseCodec.ts feat(taglib): refactor and improve metadata handling, worker integration, and code quality 2026-03-09 00:35:20 +00:00
binaural-dsp.js feat: add binaural/spatial DSP with multichannel HRTF rendering 2026-04-10 16:06:04 +03:00
bulk-download-writer.ts fix(linting): fix js linting issues 2026-04-04 01:37:47 +03:00
cache.js fix(linting): fix js linting issues 2026-04-04 01:37:47 +03:00
commandPalette.js fix(linting): fix js linting issues 2026-04-04 01:37:47 +03:00
container-classes.ts fix(linting): fix js linting issues 2026-04-04 01:37:47 +03:00
dash-downloader.ts fix(linting): fix js linting issues 2026-04-04 01:37:47 +03:00
db.js test: Add first row of tests for the site 2026-04-06 15:55:30 +03:00
doTimed.ts fix(linting): fix js linting issues 2026-04-04 01:37:47 +03:00
download-utils.ts fix(downloads): actually return the encoded blob 2026-03-31 09:56:04 -05:00
downloadProgressUtils.js fix(ui): fullscreen volume above taskbar, settings overflow, download progress 2026-03-15 15:41:32 +05:30
downloads.js fix(linting): fix js linting issues 2026-04-04 01:37:47 +03:00
equalizer.js feat: per-band Mid/Side EQ, context menus, shelf presets, performance fix 2026-04-10 16:06:04 +03:00
errorTypes.ts feat(downloads): dash progress / remove nearly duplicate downloadTrackBlob logic from downloads.js 2026-03-12 20:47:46 +00:00
events.js Remove Mossad tracking software (why THE FUCK were we tracking everything) 2026-04-08 23:19:42 +03:00
ffmpeg.js fix(linting): fix js linting issues 2026-04-04 01:37:47 +03:00
ffmpeg.test.ts fix(linting): fix js linting issues 2026-04-04 01:37:47 +03:00
ffmpeg.types.ts fix(downloads): improve ffmpeg logging 2026-03-31 10:23:03 -05:00
ffmpeg.worker.js feat(vitest): add vitest config and tests 2026-04-01 12:46:30 -05:00
ffmpegFormats.ts fix(linting): fix js linting issues 2026-04-04 01:37:47 +03:00
global.d.ts fix(linting): fix js linting issues 2026-04-04 01:37:47 +03:00
haptics.js editor pick changes 2026-04-02 09:09:13 +00:00
HiFi.test.ts fix(linting): fix js linting issues 2026-04-04 01:37:47 +03:00
HiFi.ts Add typed interfaces for HiFi.ts route returns 2026-04-05 20:08:08 +03:00
hls-downloader.js refactor: improve progress updates 2026-03-12 20:47:47 +00:00
hrtf-generator.js feat: add binaural/spatial DSP with multichannel HRTF rendering 2026-04-10 16:06:04 +03:00
icons.ts Refine fullscreen player to look more like apple music 2026-04-05 20:12:29 +03:00
indexedIterator.ts fix(linting): fix js linting issues 2026-04-04 01:37:47 +03:00
lastfm.js fix(linting): fix js linting issues 2026-04-04 01:37:47 +03:00
librefm.js fix(linting): fix js linting issues 2026-04-04 01:37:47 +03:00
listenbrainz.js fix(linting): fix js linting issues 2026-04-04 01:37:47 +03:00
listening-party.js fix(linting): fix js linting issues 2026-04-04 01:37:47 +03:00
lyrics.js let genius annotation feature work in .tf 2026-04-08 20:16:46 +03:00
maloja.js fix(linting): fix js linting issues 2026-04-04 01:37:47 +03:00
md5.js fix: resolve all yarn lint errors 2026-02-15 21:53:00 +00:00
metadata.flac.js refactor(metadata): move METADATA_STRINGS to separate file 2026-03-19 15:11:37 -05:00
metadata.js fix(linting): fix js linting issues 2026-04-04 01:37:47 +03:00
metadata.mp3.js Merge https://github.com/monochrome-music/monochrome into taglib-wasm 2026-03-10 18:48:18 +00:00
metadata.mp4.js fix(linting): fix js linting issues 2026-04-04 01:37:47 +03:00
METADATA_STRINGS.js refactor(metadata): move METADATA_STRINGS to separate file 2026-03-19 15:11:37 -05:00
ModernSettings.ts fix(linting): fix js linting issues 2026-04-04 01:37:47 +03:00
multi-scrobbler.js fix(linting): fix js linting issues 2026-04-04 01:37:47 +03:00
music-api.js style: auto-fix linting issues 2026-04-08 21:20:29 +00:00
platform-detection.ts fix(downloads): don't disable hi-res downloads on iOS or Safari 2026-03-19 15:11:15 -05:00
player.js feat: add binaural/spatial DSP with multichannel HRTF rendering 2026-04-10 16:06:04 +03:00
playlist-generator.js fix(downloads): cue generation now properly outputs correct tracks numbers and splits by disc 2026-03-11 20:00:44 +00:00
playlist-importer.js fix(linting): fix js linting issues 2026-04-04 01:37:47 +03:00
podcasts-api.js feat: podcasts 2026-03-22 04:32:20 +00:00
profile.js style: auto-fix linting issues 2026-04-08 18:57:24 +00:00
progressEvents.ts fix(linting): fix js linting issues 2026-04-04 01:37:47 +03:00
readableStreamIterator.ts refactor(downloads): add readableStreamIterator for easier stream handling 2026-03-19 15:12:24 -05:00
router.js feat(social): Listening Parties 2026-04-02 00:01:57 +03:00
settings.js feat: add binaural/spatial DSP with multichannel HRTF rendering 2026-04-10 16:06:04 +03:00
side-panel.js Remove Mossad tracking software (why THE FUCK were we tracking everything) 2026-04-08 23:19:42 +03:00
storage.js feat: add binaural/spatial DSP with multichannel HRTF rendering 2026-04-10 16:06:04 +03:00
taglib.ts fix(linting): fix js linting issues 2026-04-04 01:37:47 +03:00
taglib.types.ts fix(linting): fix js linting issues 2026-04-04 01:37:47 +03:00
taglib.worker.ts feat: compress editors picks images to webp 2026-04-05 01:05:22 +00:00
themeStore.js im such a fat chud 2026-04-08 22:12:58 +03:00
tracker.js feat: change loading eagerness to make lcp faster 2026-04-05 14:44:40 +00:00
ui-interactions.js Remove Mossad tracking software (why THE FUCK were we tracking everything) 2026-04-08 23:19:42 +03:00
ui.js Remove Mossad tracking software (why THE FUCK were we tracking everything) 2026-04-08 23:19:42 +03:00
utils.js feat(reviews): detailed critics reviews 2026-04-06 19:56:01 +03:00
vibrant-color.js js fixes 2026-01-11 00:58:55 +01:00
visualizer.js fix: enable mobile fullscreen visualizer (#517) 2026-04-06 15:15:20 -04:00
waveform.js FIX: try to fix application volume control on linux 2026-02-13 21:02:00 +01:00