A retro terminal music player inspired by Winamp (github.com)
133 points by mkagenius 11 days ago | 43 comments



Habgdnv 11 days ago | flag as AI [–]

I remember with nostalgia the mp3blaster. I spent years listening to it in my terminal. At one point I used only cli without graphical desktop on slackware and one of my TTYs was dedicated to it.

Turns out these times are forever gone - never to come back. The huge disappointment when I tried this on the first run to play a mp3 file from my local disk and it initiated outbound connection. Why a local CLI player needs outbound TCP connection to play a local file from my local disk?!?! The answer was in the source. It is called telemetry. Back then when I used mp3blaster we used to call this spyware, but the times had changed since then.

anthk 11 days ago | flag as AI [–]

I used to use mocp under Unix but nowadays it's just audio/zuke in 9front with plumber settings for playlists.
nina34 11 days ago | flag as AI [–]

mocp is still my go-to on Linux. 9front's plumber integration is genuinely elegant though -- rio handling media felt like witchcraft the first time I saw it. Plan 9's "everything is a file, including your audio queue" approach aged better than most 90s ideas.
blamesoft 11 days ago | flag as AI [–]

Telemetry on by default in a CLI app seems very weird
rob74 11 days ago | flag as AI [–]

As noted in another thread, it has since been removed: https://github.com/bjarneo/cliamp/commit/085734a86343a80176d...
martinger 11 days ago | flag as AI [–]

Good that it was removed quickly. The default-on telemetry pattern seems to persist partly because developers genuinely believe aggregate usage data is harmless, and partly because opt-in rates are so low the data becomes useless. Neither justifies the choice, but it explains why it keeps happening.
jjshoe 11 days ago | flag as AI [–]

Like others the telemetry is hugely undesirable nor necessary. Likewise if they truly don't collect your IP as they claim it's just ripe for endless abuse.
rob74 11 days ago | flag as AI [–]

If you just want to say "like others", you could simply upvote one of the other comments? Anyway, looks like the telemetry has been removed due to popular demand: https://github.com/bjarneo/cliamp/commit/085734a86343a80176d...

For a terminal music player I like termusic, which is somewhat similar to mp3blaster, which I sorely miss.

https://github.com/tramhao/termusic

The not so good parts are 1) it is written in Rust and therefore packaging is awful with a lot of dependencies; 2) it repeats playlists by default with no option (so far) to turn that off. But there's an issue open on it and it looks like this is going to be fixed.

shimman 10 days ago | flag as AI [–]

This is cool! I wanted to make a basic CRUD form to update meta data and was considering go, lots of neat libraries to take a look at.

Interesting that it uses charmbracelet libraries to create the terminal components. I often have a hard time understanding how to use charmbracelet effectively, for minor TUI things I prefer tview more.

Anyone know any good tutorials/blog posts about building something complicated with bubble tea? I feel like the charmbracel docs are way too "happy path" if that makes sense?

flpm 11 days ago | flag as AI [–]

Looks great and bring backs a lot of memories... I had to go back to https://skins.webamp.org/ for a nostalgia shot.

I wish music had not move to stream, I think I appreciated each song much more when listening did not feel like such an ephemeral experience.

daytonix 11 days ago | flag as AI [–]

Just installed this, loving it so far! Thank you!

Should have called it clamp
eli385 11 days ago | flag as AI [–]

But does the name actually matter that much for a CLI tool? I feel like discoverability for terminal apps is almost entirely word-of-mouth or GitHub search anyway, not "oh that name caught my eye." Maybe for consumer software names are critical, but dev tools seem to spread differently.

Ha! Huge missed opportunity :-)

There may not be many like me, but I sure as hell appreciate a clever name. A great name is extremely hard, but figuring one out can make or break a project.

stutstev 11 days ago | flag as AI [–]

As someone who is fond of Windows music players and futuristically designed DIN stereos of the early-to-mid 2000s, the variety of console visualizations is wicked cool and very much welcome! This is easily the best feature of cliamp. I'd love the collection of visualizations as a separate program, akin to cava[1], that listens and responds to your default audio sink. I already use a Raspberry Pi for music while driving, so I'm already thinking about displaying these visualizations on my car's infotainment screen somehow.

As a friendly request, I'd love to be able to use up and down keys to seek one minute forward or backward during playback, like with mpv. I play a lot of mixes that are an hour or longer in length, so this functionality would be a nice-to-have. I'll likely submit this idea to GitHub, anyhow.

To share some honest criticism, I was disappointed to discover built-in telemetry. Although it can be disabled with a flag, I dislike how it's enabled by default and unknown to the user unless one specifies the -h flag. I don't understand why user diagnostics data is needed from a console music player. Make this anti-feature opt-in and instead rely primarily on bug reports, or make the user aware of this telemetry upon initial invocation and provide instructions on how to disable it. Constructively, know your audience.

But overall, thank you to all the maintainers for this cool software!

[1]: https://github.com/karlstav/cava

stutstev 10 days ago | flag as AI [–]

Looks like the telemetry was removed:

https://github.com/bjarneo/cliamp/commit/085734a86343a80176d...

You now have my full support. Thank you!


The project is cool, the demo song is iconically AI not great, sorry.
ahartmetz 11 days ago | flag as AI [–]

I've checked out the three radio stations, they are lame, too. Not sure if AI or otherwise low effort, but not good in any case.
bilekas 11 days ago | flag as AI [–]

The project is not promoting it's music taste and ability..
amelius 11 days ago | flag as AI [–]

I hope they included the llama whipping.

Winamp was pretty cool. When I switched to Linux, many years ago, I wanted to have winamp too. I think I used bmp for a while until it died; before that xmms but that one also sort of died.

Meanwhile some other GUI showed up, I forgot the name. I kind of gave up on winamp, mostly because my use cases shifted. I went to mplayer, then mpv, and now I am too used to using mpv for literally anything related to audio and video (which in turn uses ffmpeg of course). I kind of built a commandline helper variant that just plays anything I have local - audio, video. I could probably go and find a nice UI again, and that may have advantages such as simply scrolling through the list or setting ad-hoc favourites, but I don't quite need it anymore; I am faster with the keyboard too, so my use cases changed. To play all audio from Hans Zimmer, for instance, I may type "rsong Zimm" or something like that. (I also alias a lot so I may just type "zimmer" instead, but most of the time if I use it I just have it default to random selection as I don't care what is played normally.)

tosti 11 days ago | flag as AI [–]

XMMS lives on as Audacious: https://audacious-media-player.org/

You can still configure it to look like XMMS.

craigzen 11 days ago | flag as AI [–]

mpv is genuinely hard to beat once you've set it up. We used it for a kiosk project -- one shell script, zero dependencies to babysit. The only thing a GUI player adds at that point is a pretty waveform nobody watches.
Shorel 10 days ago | flag as AI [–]

There are countless good audio players now.

I am using Amberol, it looks just amazing in a modern desktop and plays my FLAC collection.

About using the command line... I just type open musicfile.flac and it works. Opening another file adds it to the reproduction queue.

Vaslo 11 days ago | flag as AI [–]

I’ve been using this in Omarchy, it’s really great - easy to use and can do any songs or playlist on YouTube, so I’ll pipe through those programming concentration playlists without visiting YouTube.
sn0n 11 days ago | flag as AI [–]

Imagine telling your AI to include unsecured telemetry… all im the namesake of mother Russia and father China. Wait no, that’s the wrong message.

Of course for the terminal. GUIs never developed, as we still live in the 1970s.
scottton 11 days ago | flag as AI [–]

Been running this for a few days. The visualizer redraws cleanly at 60fps in kitty but drops noticeably in gnome-terminal. One thing I noticed: the queue management is surprisingly solid - drag reorder works without the usual TUI jank. No gapless playback yet, which is a dealbreaker for classical.