Skip to content

Audio CD

Plug a USB optical drive into your Pi. Insert a CD. Playback starts automatically with full track metadata and cover art via go-mpd-discplayer.

go-mpd-discplayer is part of the odio project but is a standalone daemon — it works with any MPD setup. See MPD Disc Player for installation, configuration, and standalone usage.

go-mpd-discplayer detects disc insertion, reads the disc ID, and queries GnuDB and MusicBrainz for artist, album, and track information. It generates a CUE sheet and feeds it to MPD. Individual tracks appear in the queue with their proper names.

When you eject the disc, the tracks are removed from the queue.

CD playback is controlled like any other MPD source — from the odio application, Home Assistant, or any MPD client:

  • Play / pause / stop / next / previous
  • Seek within tracks
  • Shuffle and repeat

Embedded UI playing an audio CD via MPD, with album cover art and full transport controls

Cover art in the embedded UI for CD playback ships since odios 2026.4.0rc6, via the mpDris2 fork that finds the cover.jpg fetched by go-disc-cuer inside the CUE virtual directory and forwards it over MPRIS. See MPD — Playback controls for the full cover-art pipeline.

From an MPD client like MALP, cover art and full track metadata are available:

MALP Android app playing a CD track with album cover art, seek bar, and playback controls

MALP showing the full CD tracklist with artist, album, and track durations

The drive speed is managed automatically: full speed during disc initialization, then reduced to 12x for quiet playback.