Open-source Linux audio player
PCM Transport
A lightweight Linux desktop audio player focused on transparent PCM transport, native FLAC playback, direct ALSA output, predictable DSP and honest signal-path diagnostics.
Screenshots
PCM Transport keeps the interface compact while exposing the active playback path, DSP state, level/clip diagnostics and processing controls.
What it is
PCM Transport is a compact Linux desktop audio player focused on direct PCM playback, transparent signal-path reporting, native FLAC decoding and optional DSP processing.
Native FLAC playback
Native FLAC decoding via libFLAC
Additional formats via FFmpeg API
MP3, OGG, WAV, AIFF, APE, WV, DSF/DFF and more via the FFmpeg API
Direct ALSA output
Direct ALSA playback — no PulseAudio or PipeWire required.
MPRIS desktop integration
Desktop media controls, multimedia keys and cover art metadata.
Gapless-oriented playback
Continuous CUE image playback, local M3U/M3U8 import and same-format file chaining where possible.
DSP Studio
Bass/Treble controls and optional processing rules.
Why another Linux audio player?
PCM Transport is a focused, lightweight FLAC player for Linux — direct ALSA output, native libFLAC decoding, CUE/gapless support, and optional DSP that can be fully bypassed.
Not a music library manager, just honest playback with a visible signal path.
Supported formats
Native FLAC playback is handled through libFLAC. Additional formats use the FFmpeg API directly. The ffmpeg and ffprobe command-line tools are not required. DSF and DFF sources, including DST-compressed DFF, are converted to PCM; native DSD and DoP output are not used. Rare-format support depends on the local FFmpeg build.
Native / primary
*.flac, *.wav, *.wave, *.cue, *.m3u, *.m3u8
FFmpeg-backed lossless / PCM / containers
*.aif, *.aiff, *.ape, *.wv, *.w64, *.bwf, *.au, *.snd, *.caf, *.voc, *.tak, *.tta, *.dsf, *.dff
FFmpeg-backed lossy
*.mp3, *.mp2, *.m4a, *.m4r, *.aac, *.ac3, *.dts, *.ogg, *.oga, *.opus, *.spx, *.ra, *.wma, *.asf, *.xwma, *.wmv, *.oma, *.aa3, *.at3, *.mpc, *.mp+, *.mpp
Download and run
The easiest way to try PCM Transport is the ready-to-run Linux x86_64 AppImage from GitHub Releases. Source build instructions are provided below for development and packaging.
chmod +x PCM-Transport-latest-x86_64.AppImage
./PCM-Transport-latest-x86_64.AppImage
sudo pacman -S --needed base-devel cmake pkgconf alsa-lib flac gtk3 ffmpeg
sudo apt install build-essential cmake pkg-config \
libasound2-dev libflac-dev libgtk-3-dev \
libavformat-dev libavcodec-dev libavutil-dev libswresample-dev
su -
apt-get install build-essential cmake pkg-config \
libalsa-devel libflac-devel libgtk+3-devel \
libavformat-devel libavcodec-devel libavutil-devel libswresample-devel
exit
cmake -S . -B build
cmake --build build -j
./build/pcm_transport
cmake --install build --prefix <prefix>
Installs the binary, desktop entry and hicolor icons. Running directly from build does not require installation.
Dependencies: ALSA, GTK 3.16 or newer, GLib/GIO 2.52 or newer, libFLAC 1.3.3 or newer, and FFmpeg 4.4 or newer libraries: libavformat, libavcodec, libavutil and libswresample. PCM Transport uses public library APIs and may conservatively disable optional capabilities unavailable on the supported baseline. FLAC decoding remains native through libFLAC. Other formats, metadata fallback and conversion paths use the FFmpeg API directly. The ffmpeg and ffprobe command-line tools are not used. Realtime audio priority is optional and can use RTKit or direct CAP_SYS_NICE scheduling.
Project goals
A small, understandable Linux player focused on stability, transparent signal path and predictable DSP.
Source code
Source code, changelog and releases are available on GitHub: github.com/andreyberestov/pcm-transport.
Development note
PCM Transport is an independently maintained project developed with the assistance of AI coding tools. The project maintainer defines the requirements and product direction, reviews and integrates changes, and tests each release before publication.
License
PCM Transport is released under the GNU General Public License v3.0 only. See the LICENSE file in the repository for details. Third-party component notices are listed in THIRD_PARTY_NOTICES.md.
Support
If you enjoy PCM Transport, you can buy the author a cup of coffee.
ETH (ERC-20): 0x985f490A569B1Cc08c5b157eA044387801BeD939