Open-source Linux audio player

PCM Transport

Linux desktop audio player with native FLAC decoding, FFmpeg library decoding, direct ALSA output, optional DSP and signal-path diagnostics.

Screenshots

PCM Transport keeps the interface compact while exposing the active playback path, DSP state, level/clip diagnostics and processing controls.

PCM Transport main window showing playback controls and diagnostics
Main playback window
PCM Transport DSP Studio window with tone controls and diagnostics
DSP Studio

Overview

PCM Transport is a Linux desktop audio player for direct PCM playback, optional DSP processing and explicit signal-path diagnostics.

Native FLAC playback

FLAC uses the native libFLAC path when sample-rate conversion is not required.

Additional formats via FFmpeg libraries

MP3, OGG, WAV, AIFF, APE, WV, DSF/DFF and other formats via FFmpeg libraries.

Direct ALSA output

Direct ALSA playback — no PulseAudio or PipeWire required.

MPRIS desktop integration

Desktop media controls, multimedia keys and cover art metadata.

Gapless playback

Continuous CUE image playback and gapless chaining across compatible tracks.

DSP Studio

Bass/treble controls and optional processing rules.

Scope

PCM Transport is a playback-focused Linux audio player with direct ALSA output, gapless playback, optional DSP and signal-path diagnostics.

It is not a music library manager.

Supported formats

FLAC uses the native libFLAC path when sample-rate conversion is not required. Other formats and conversion paths use FFmpeg libraries directly. The ffmpeg and ffprobe command-line tools are not used. DSF and DFF sources, including DST-compressed DFF, are converted to PCM; native DSD and DoP output are not used. Codec support depends on the local FFmpeg build.

Primary inputs

*.flac, *.wav, *.wave, *.cue, *.m3u, *.m3u8

Additional FFmpeg-backed formats

*.aif, *.aiff, *.ape, *.wv, *.w64, *.bwf, *.au, *.snd, *.caf, *.voc, *.tak, *.tta, *.dsf, *.dff, *.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

A ready-to-run Linux x86_64 AppImage is available from GitHub Releases. Source build instructions are provided below.

AppImage Quick start
chmod +x PCM-Transport-latest-x86_64.AppImage
./PCM-Transport-latest-x86_64.AppImage
Arch Linux Build dependencies
sudo pacman -S --needed base-devel cmake pkgconf alsa-lib flac gtk3 ffmpeg
Debian / Ubuntu Build dependencies
sudo apt install build-essential cmake pkg-config \
libasound2-dev libflac-dev libgtk-3-dev \
libavformat-dev libavcodec-dev libavutil-dev libswresample-dev
ALT Linux Build dependencies
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
Build Configure and compile
cmake -S . -B build
cmake --build build -j
Run Start the player
./build/pcm_transport
Install Optional desktop integration
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 when sample-rate conversion is not required. Other formats, metadata fallback and conversion paths use FFmpeg libraries 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

Playback-focused Linux audio player with direct ALSA output, optional DSP and explicit signal-path diagnostics.

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.

Author and Maintainer

Andrey Berestov (@andreyberestov)

Contributors

Aleksandr Vysotskiy (@loki1368)

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