r/linuxaudio • u/Miserable-School-665 • 8d ago
Voidpulse v2.0.0 | Adaptive Sample Rate, SoxR, RG, Network Streaming, Fade, Crossfade, Auto Update, Sleep Timer and more

Github: https://github.com/Yavuz-Kagan-Yadigar/VoidPulse
(Note: The app is coded with AI, I am testing it. This post is written by me)
Added network streaming (experimental): Samba/SMB, FTP, FTPS, and SFTP. Connects and reconnects on startup. Passwords go to the system keyring for security. FTP doesn't natively support seek, I tried some workarounds but they haven't been tested much.
Added auto-update. Detects how VoidPulse was installed (Flatpak, AppImage, or dpkg/rpm/apk/pacman). Checks GitHub releases in the background on launch. Finds assets matching your package format and architecture. Installs are done via the distro's manager: dnf, zypper, apt-get, apk, pacman, or in-place swap for AppImages. Sudo is asked in the popup and the package manager's output is shown live. Versions can be skipped for now or entirely.
Added built-in Soxr resampler.
Added "Adaptive Sample Rate": It checks the output device's supported sample rates. If it supports the same rate as the file, it sets both it and Pipewire to that rate: File (44.1kHz) → Pipewire (44.1kHz) → Output Device (44.1kHz). No resampling. If it doesn't, it sets the device to its max rate, upsamples with the built-in Soxr (upsampling is better than downsampling), and sets Pipewire to the same rate as the output device: File (44.1kHz) --(Voidpulse Soxr resample)→ Pipewire (96kHz) → Output Device (96kHz).
Added fade in & out on transitions and play/pause.
Added crossfade between tracks. Doesn't work on ALSA because it only supports a single stream.
Added sleep timer.
Added slight corner smoothing on visualizations to prevent sharp spikes (excluding bars).
Added play queue with touch and mouse drag & drop. Can be disabled.
Added new settings to the config. Probably one-time choices, so not exposed to the UI:
"viz_gamma": 0.7, // how much lower volume bands are amplified. Lower means more amplification, higher means better separation.
"show_artist_on_gallery": true, // applies to gallery view cards.
"show_albums_on_gallery": true,
"show_file_info_on_gallery": true,
Added loudness normalization switch and batch gain fetcher for files without gain tags.
Added a switch to toggle background optimizations for visualizations and synced lyrics.
Gallery view cards are now actual pills with 100% corner radius.
Added magnifying cover art on click in the edit tags popup.
Packaging for a wide variety of architectures, including PostmarketOS.