Distro News

RipperX 4 rewrites classic CD ripper in Rust with GTK4 and GStreamer

Key Takeaway

RipperX 4 replaces the legacy ripperX codebase with a Rust and GTK4 implementation using GStreamer for unified audio extraction and encoding.

Summary

RipperX 4 is a modern rewrite of the original ripperX audio CD ripper, replacing its aging architecture with Rust and GTK4 while preserving its straightforward workflow for extracting music from compact discs. The application targets Linux, macOS, and FreeBSD, offering track selection, MusicBrainz metadata lookup with GnuDB fallback, and editable album and track information prior to extraction.

The software uses GStreamer internally for both audio extraction and encoding, eliminating the need for users to configure separate external encoder programs. It outputs to six formats (MP3, Ogg Vorbis, FLAC, Opus, AAC, and WAV), supports CD-Text reading, configurable error correction, custom directory structures, M3U playlist generation, and desktop notifications upon completion. The GPLv2-licensed project is developed by Jos Dehaes and available on GitHub.

Architecture and technical changes in RipperX 4

  • Language and toolkit migration: The codebase is rewritten in Rust using GTK4, replacing the original application's aging architecture with contemporary libraries and memory-safe systems programming.
  • GStreamer integration: Audio extraction and encoding are handled entirely through GStreamer rather than spawning and managing separate external encoder binaries, simplifying the pipeline configuration.
  • Metadata pipeline: The ripper queries MusicBrainz for album metadata automatically, falling back to GnuDB when MusicBrainz is unavailable, with user-editable fields for album titles, artist names, and track information before extraction begins.
  • Output flexibility: Supports six audio formats (MP3, Ogg Vorbis, FLAC, Opus, AAC, WAV) with configurable encoding quality parameters and automatic metadata tag writing to encoded files.
  • Cross-platform target: Builds and runs on Linux, macOS, and FreeBSD, with desktop notifications, optional post-ripping actions (eject, open destination folder), and configurable CD error correction for speed versus reliability tradeoffs.

Why it matters

RipperX 4 demonstrates the continued viability of Rust for rewriting legacy Linux multimedia applications, joining other GTK4 and GStreamer-based tools in the modern desktop audio workflow. For Linux users maintaining CD archives or working with physical media, it provides a maintained alternative to aging rippers like Asunder and the original ripperX, while its cross-platform support and simplified GStreamer-based architecture may attract contributors familiar with contemporary GNOME and Rust development practices.

Original reference: www.linuxlinks.com →