explaingit

dexermatters/meloid

Analysis updated 2026-05-18

53HaskellAudience · developerComplexity · 3/5Setup · moderate

TLDR

A Haskell command-line music player for the Music Player Daemon (MPD) that shows real album art and a visual control panel in the terminal.

Mindmap

mindmap
  root((meloid))
    What it does
      Terminal music player
      Shows album art
      Controls MPD
    Tech stack
      Haskell
      MPD
      Node.js tools
    Use cases
      Terminal listening
      Visual playback control
      MPD front end
    Audience
      Haskell developers
      Music lovers
    Setup
      Install Magick and Chafa
      Install Node.js
      Connect to MPD

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Control an existing MPD music server from a visually rich terminal interface

USE CASE 2

View real album art and a spectrum visualizer while listening to music in the terminal

USE CASE 3

Edit the player's config.yaml settings through the app while keeping comments and formatting

USE CASE 4

Contribute Haskell code to an in-development terminal music player project

What is it built with?

HaskellMPDNode.js

How does it compare?

dexermatters/meloidpsibi/shell-conduiteternal-flame-ad/fedi-emoji-tool
Stars53966
LanguageHaskellHaskellHaskell
Last pushed2020-06-202024-09-28
MaintenanceDormantStale
Setup difficultymoderatemoderatemoderate
Complexity3/53/53/5
Audiencedeveloperdeveloperops devops

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 1h+

Requires an existing MPD server plus Magick and Chafa for terminal image rendering.

In plain English

meloid, whose name comes from combining melody and monoid, is a command line music player written entirely in Haskell. The README describes it as aimed at people who care deeply about music and want a detailed listening experience in the terminal, and notes that it is still under development rather than a finished, stable release. The player sits on top of the Music Player Daemon, commonly called MPD, which handles the actual audio playback while meloid provides the terminal interface on top. To show album art and other images directly in the terminal, it relies on two external programs, Magick and Chafa, which must already be installed on your computer. If you want to edit the player's config.yaml file through the app itself while keeping your existing comments and formatting intact, you also need Node.js installed, plus running an npm install command inside the project's tools folder. The README's roadmap shows what already works and what is still planned. Finished features include full mouse input, real album art rendering in terminals like Kitty, Ghostty, and iTerm, a compact control panel with draggable bars, album and track lists, a current playback queue, a settings layout, and a spectrum or frequency visualizer. Features still marked as not done include vim style keyboard commands, a version of the interface that works without a mouse, an equalizer, dynamic volume adjustment, a view for live lyrics, a playlist panel, song and album ratings, and support for a Soulseek backend. The project accepts contributions but asks that contributors match the existing code style, discuss larger changes first through issues, discussions, or Discord, and keep each contribution focused on a single issue rather than restructuring the codebase. The README states that a first proper release has not shipped yet, so this is best understood as an early, actively evolving tool for Haskell minded music lovers who already use MPD and want a more visual terminal front end for it.

Copy-paste prompts

Prompt 1
Help me install Magick, Chafa, and Node.js so I can run meloid on my machine
Prompt 2
Explain how meloid connects to a Music Player Daemon (MPD) server to play music
Prompt 3
Walk me through the meloid roadmap and tell me which features are already implemented
Prompt 4
Show me how to safely edit meloid's config.yaml through its Node.js based tooling

Frequently asked questions

What is meloid?

A Haskell command-line music player for the Music Player Daemon (MPD) that shows real album art and a visual control panel in the terminal.

What language is meloid written in?

Mainly Haskell. The stack also includes Haskell, MPD, Node.js.

How hard is meloid to set up?

Setup difficulty is rated moderate, with roughly 1h+ to a first successful run.

Who is meloid for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.