Unofficial fan-made Spicetify theme. Not affiliated with Pioneer Corporation. ENGLISH Spotify Only! Will break on other languages! If you enjoy PioneerVFD, starring the repo helps more people find it.
Miss the old 2000s Pioneer head units? Wish you could still have those dolphins swimming while you bump tunes? Maybe you never got to experience it and want to? Well, now you can.
PioneerVFD is a Spicetify theme and extension that turns Spotify desktop into a 2000s Pioneer-style VFD/LCD stereo interface. It replaces the stock lower player area with a chrome head-unit panel, WebM OEL animations, expanded RGB and mono display modes, hardware-style readouts, ATT-style muting, and live audio spectrum bars around the center badge.
Latest Build - v4.0.3 marketplace build, adds the Linux PULSE helper bridge for systems where Spotify is not available as a Chromium audio capture source. Keeps the v4.0 controls, Ever Scroll skinny LCD metadata, clickable play/pause glyph, classic Pioneer logo font option, OEL/VFD playback readouts, and recent display polish.
Default state with PULSE = ON, LCD = DSEG14
TINT = LIME, DARK = ON, PULSE = ON, SCROLL = LOOP, LCD = DSEG14
- Replaces Spotify's lower player area with a custom chrome Pioneer-style head-unit panel.
- Uses authentic Pioneer OEL clips for the center animation display.
- Streams OEL media from the published project assets and caches clips in the browser when available.
- Adds metadata LCDs for artist, title, playtime, ATT state, tint, dim, mode, clip, and playback readouts.
- Adds an
ATTbutton for instant mute/restore behavior. - Uses
LSTfor the queue/list control. - Adds mirrored live spectrum bars around the center badge logo.
- Uses Chromium desktop audio capture for the
PULSElive visualizer on Windows/macOS, with an optional Linux helper bridge. - Adds a two-page
PIONEER MENU/CUSTOMIZE MENUlayout. - Includes 15 tint modes: cyan, teal, lime, amber, orange, red, pink, magenta, violet, blue, green, yellow, indigo, black-on-white, and white-on-black.
- Includes
FULLandECOperformance modes for different machines. - Includes period-correct BAND button to cycle through old archive.org radio broadcasts.
- Includes a full screen display mode. Click on the center pioneer wordmark to access.
The center OEL/VFD display is WebM-based. The current clip set includes:
movie5_longloop.webmmovie1_longloop.webmmovie6_longloop.webmmovie10_f_longloop.webmdiverdolphins_longloop.webm6_Racing_Cart_longloop.webmEJECTING.webm
All builds load the clips from the published GitHub Pages asset paths. PioneerVFD stores successful clip fetches in IndexedDB, so clips can continue working from cache when the browser has already seen them.
The racing clip has its own RACING color mode. By default it follows the current VFD tint; switching RACING to COLOR lets that clip keep its full-color look while the rest of the theme stays tint-aware.
The Pioneer MENU button opens the main runtime controls:
OELcycles the WebM OEL clip.DEMOauto-cycles OEL clips without changing the saved startup clip.PERFswitches betweenFULLandECO.PULSEtoggles live audio capture for the logo spectrum.VFDtoggles the large OEL display on and off.CUSTOMIZEopens the appearance controls.
The CUSTOMIZE MENU contains:
TINTopens the 15-mode tint picker.TYPEswitches the Spotify content font preset.RACINGswitches the racing clip between one-color tint mode and full-color mode.BUTTONtoggles transport button LED glow.DARKtoggles dark chrome plastic.
Faceplate and transport controls include:
OEL,DEMO,TINT,MENU, with the above-mentioned functionality.ATTmutes instantly and restores the previous volume on the next press.- Volume wheel/drag exits
ATTwhen the user starts adjusting volume. DIMtoggles LCD brightness from the faceplate control row.LSTopens Spotify's queue/list control.- The
EEQsilk label can tint-match now by clicking it. - The lyrics button opens Spotify lyrics while avoiding Beautiful Lyrics / Spicy Lyrics takeover routes.
On Windows and macOS, PULSE uses Chromium desktop audio capture. Turn it on from the menu when you want live bars, then select a capture source with audio when Chromium asks.
On Linux, Chromium/Spotify often does not expose Spotify audio through the capture picker. PioneerVFD v4.0.3 includes the HLPR bridge for PVFD-Linux-Helper. Install and run the helper, then press PULSE; the menu row switches to HLPR when PioneerVFD is receiving helper audio.
PULSE starts from OFF on launch so Spotify does not reopen desktop/system audio capture or reconnect the Linux helper by itself.
Saved preferences include PERF, TINT, DIM, TYPE, selected OEL clip, VFD, racing color mode, dark chrome, EEQ tint, and transport button glow. PULSE intentionally boots idle even if it was previously enabled.
FULL keeps the rich display treatment active.
ECO is the lower-cost mode. It keeps the main OEL display usable while reducing surrounding visual work, side-panel updates, high-cost glow treatment, side VU behavior, and app-side decorative styling. The player still shows enough status to explain what it is doing.
- Spotify desktop
- Spicetify CLI installed and initialized
- A Spotify/Chromium build that supports extension APIs through Spicetify
- For
PULSEon Windows/macOS: Chromium desktop capture support with audio sharing - For
PULSEon Linux: optional PVFD-Linux-Helper, plus PipeWire/PulseAudio capture tools such aspactl/parecorpw-record
If the Spicetify Marketplace package is available and up to date, install PioneerVFD from Marketplace.
Marketplace currently points at the versioned marketplace CSS/JS files published through this repository. The marketplace path fetches WebM clips from the GitHub Pages asset paths and caches them in IndexedDB after successful playback.
Linux Marketplace users who want PULSE should also install the Linux helper below. Marketplace installs the PioneerVFD bridge, but the helper itself runs locally on your machine.
If the OEL screen is blank, clips do not play, or Spotify/Spicetify does not expose the APIs the extension needs, use one of the script installs below. The script installs are the reference path for setting the correct Spicetify config and preserving any existing extensions already enabled.
- Download the latest release ZIP.
- Extract it.
- Open PowerShell inside the extracted
PioneerVFDfolder. - Confirm you can see:
install-windows.ps1
Themes
Extensions
- Run:
powershell -ExecutionPolicy Bypass -File .\install-windows.ps1Download the latest release ZIP, extract it, then open Terminal inside the extracted PioneerVFD folder.
You are in the right folder if you see install-linux.sh, Themes, and Extensions.
chmod +x ./install-linux.sh
./install-linux.shAfter installing PioneerVFD from Marketplace or the Linux installer, install the helper separately if you want PULSE:
pipx install git+https://github.com/adainstarks/PVFD-Linux-Helper.git
pvfd-hlpr --with-spotifypvfd-hlpr --with-spotify hooks your user-level Spotify launcher so the helper starts with Spotify in the background. If you prefer a manual terminal session, run pvfd-hlpr and leave it open while Spotify is running. Use pvfd-hlpr --probe when debugging sink/source detection.
Download the latest release ZIP, extract it, then open Terminal inside the extracted PioneerVFD folder.
You are in the right folder if you see install-macos.sh, Themes, and Extensions.
chmod +x ./install-macos.sh
./install-macos.shThe macOS installer enables Spicetify DevTools by default because some Mac installs do not load exposed APIs or extensions reliably until Spicetify reapplies with developer tooling enabled. To skip that step:
PVFD_ENABLE_DEVTOOLS=0 ./install-macos.shThe Windows, Linux, and macOS installers:
- Locate the Spicetify config root.
- Copy the PioneerVFD theme files.
- Copy the PioneerVFD extension.
- Configure Spicetify with
current_theme PioneerVFD,color_scheme PioneerVFD, CSS injection, theme JS injection, color replacement, asset overwrite, andexpose_apis 1. - Preserve existing enabled Spicetify extensions where possible, then add
pioneerVFD.js. - Run
spicetify apply.
spicetify config extensions pioneerVFD.js-
spicetify config current_theme ""
spicetify applyOn Windows, run the same commands from PowerShell.
PioneerVFD/
├── Extensions/
│ └── pioneerVFD.js
├── Themes/
│ └── PioneerVFD/
│ ├── assets/
│ │ ├── 6_Racing_Cart_longloop.webm
│ │ ├── diverdolphins_longloop.webm
│ │ ├── movie10_f_longloop.webm
│ │ ├── movie1_longloop.webm
│ │ ├── movie5_longloop.webm
│ │ └── movie6_longloop.webm
│ ├── fonts/
│ ├── color.ini
│ └── user.css
├── manifest.json
├── install-windows.ps1
├── install-linux.sh
├── install-macos.sh
└── README.md
- The Marketplace and script installs fetch OEL/WebM clips over the network on first use. Once a clip has loaded successfully, PioneerVFD attempts to reuse the cached IndexedDB copy.
Extensions/pioneerVFD.jsowns the head-unit runtime, ATT state, menu behavior, WebM OEL state, Chromium/HLPR live audio capture, route state, and visualizer logic.Themes/PioneerVFD/user.cssowns the chrome body, LCD/OEL styling, tint and mono palettes, app-wide Spotify styling, route-specific layout, and performance gates.Themes/PioneerVFD/color.inidefines thePioneerVFDSpicetify color scheme.- Manual raw-copy installs are not recommended because the theme depends on several Spicetify config flags and exposed APIs.
- If
PULSEhas no signal on Windows/macOS, turn it off and on again, then pick a capture source that includes audio. - If
PULSEhas no signal on Linux, install/runpvfd-hlpr, then check that thePULSEmenu row saysHLPR. Runpvfd-hlpr --probeif it does not detect Spotify audio. - If the OEL screen is blank after a manual copy, rerun the platform installer and open Spotify once while online.
DISPis implemented as the Pioneer-logo fullscreen display prompt.ATT,LST,SRC,EJECT, andBAND/FMbehavior live in the extension runtime.- If macOS opens Spotify to a black screen or the Pioneer player appears without working JavaScript, fully quit Spotify and rerun:
spicetify backup
spicetify config expose_apis 1 inject_css 1 inject_theme_js 1 replace_colors 1 overwrite_assets 1
spicetify enable-devtools
spicetify applyIf spicetify enable-devtools is unavailable, use:
spicetify config always_enable_devtools 1
spicetify applyA thank you to any user who opens an issue / creates a PR with significant enhancements.
PioneerVFD is an unofficial, fan-made Spicetify theme inspired by early-2000s car stereo VFD/LCD interfaces. It is not affiliated with, endorsed by, sponsored by, or associated with Pioneer Corporation or Spotify.
Pioneer and the Pioneer logo are trademarks of Pioneer Corporation. Spotify is a trademark of Spotify AB. All trademarks belong to their respective owners.
This project is free and open source under the MIT License. Optional donations support continued development and do not purchase access, licensing rights, official support, or affiliation with any trademark holder.
MIT, Check LICENSE.
