gitwtfhub

wtf is meloid?

dexermatters/meloid — explained in plain English

Analysis updated 2026-05-18

53HaskellAudience · developerComplexity · 3/5Setup · moderate

TL;DR

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

Why would anyone build with this?

REASON 1

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

REASON 2

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

REASON 3

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

REASON 4

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

What's in the stack?

HaskellMPDNode.js

How it stacks up

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 spin it up?

Difficulty · moderate Time to first run · 1h+

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

Wtf does this do

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.

Yoink these 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

wtf 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.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.