this post was submitted on 27 Jun 2024
331 points (94.6% liked)

linuxmemes

20880 readers
7 users here now

I use Arch btw


Sister communities:

Community rules

  1. Follow the site-wide rules and code of conduct
  2. Be civil
  3. Post Linux-related content
  4. No recent reposts

Please report posts and comments that break these rules!

founded 1 year ago
MODERATORS
 
top 39 comments
sorted by: hot top controversial new old
[–] [email protected] 41 points 4 months ago (1 children)

I actually even made my own bullshit-Spotify. As in, I've got a server running on a single-board computer which reads my music folder and serves a small music player as a webpage.

I didn't want to install a music player client on my work laptop, but still wanted to listen to my own songs there.

[–] [email protected] 12 points 4 months ago

bullshit-Spotify

The only proper use-case.

[–] [email protected] 24 points 4 months ago* (last edited 4 months ago) (2 children)
#!/usr/bin/env bash
mpc load $1
mpc volume 80
mpc random on
mpc play

Name it shufflenplay so then you can shufflenplay <playlist name>

[–] [email protected] 13 points 4 months ago* (last edited 4 months ago) (1 children)

Oh man are we sharing mpd scripts? I have this one that lets me search through music directory and add anything to the play queue (so I can add a single track or an entire album or whatever):

#!/bin/bash

MUSIC_DIR=$(grep -m 1 -E '^\s*music_directory\s+' "$XDG_CONFIG_HOME/mpd/mpd.conf" | awk '{printf $2}' | tr -d \" | tr -d \')
MUSIC_DIR="${MUSIC_DIR/#\~/$HOME}"

cd "$MUSIC_DIR"
CHOICE="$(find . | cut -c 3- | dmenu)" || exit 1;

mpc insert "$CHOICE"
mpc play

There's also this one that lets me save the currently playing song to a playlist of my choice. It's good if I'm listening to a new album or a new artist and suddenly think "yeah, this song really fits with the mood of X playlist":

#!/bin/bash

MUSIC_DIR=$(grep -m 1 -E '^\s*playlist_directory\s+' "$XDG_CONFIG_HOME/mpd/mpd.conf" | awk '{printf $2}' | tr -d \" | tr -d \')

choice="$(mpc lsplaylists | dmenu)" || { echo "No choice." ; exit 1; }
MUSIC_DIR="${MUSIC_DIR/#\~/$HOME}"

mpc current -f '%file%' >> "$MUSIC_DIR/$choice.m3u"

Here's my script to shuffle play an existing playlist as well:

#!/bin/sh

choice="$(mpc lsplaylists | dmenu)"
mpc clear
sleep 0.1
mpc load "$choice"
sleep 0.1
mpc shuffle
sleep 0.1
mpc play

The sleeps are to prevent Cantata (graphical mpd client) from shitting itself if I run this script while it's open. Also notice mpc shuffle instead of mpc random on. It shuffles the current playlist, but keeps the linear play order, so that I can add songs to play right after the current one.

[–] [email protected] 4 points 4 months ago

Oooh those are nice! I'll have to try mpc shuffle out then, and even though I generate my playlists with beets, I'll definitely try out the save to playlist one!

[–] [email protected] 4 points 4 months ago* (last edited 4 months ago) (1 children)

I think your script didn't format correctly:

[–] [email protected] 4 points 4 months ago

https://files.catbox.moe/5ex40l.jpg this is how it looks on my end (for some reason I can't upload photos rn, it errors out)

[–] [email protected] 20 points 4 months ago (1 children)
[–] [email protected] 7 points 4 months ago (3 children)

It even works for the music library!? Jellyfin is crazy rad.

[–] [email protected] 7 points 4 months ago

Really well actually. The mobile app does not support download "caching" of music, but third party apps like synfonium do.

The jellyfin music experience is really good, not perfect, but still really good.

[–] [email protected] 3 points 4 months ago

For kinda every type of media. I use it as a cloud (private VPN) music repository/library as well.

[–] [email protected] 3 points 4 months ago

Yeah I switched to it from Plex. Plex wouldn't stop forgetting my libraries and revoking permissions.

[–] [email protected] 13 points 4 months ago (1 children)

i have different directories named after moods/styles filled with hard links to my music. works better than playlists for me

[–] [email protected] 1 points 4 months ago (1 children)

So real. I've always thought music apps like iTunes/Spotify etc. were superfluous when you already have a file system and sym links.

[–] [email protected] 5 points 4 months ago

i used symlinks first, but they break when you rename target files or directories.

as long as it's one file system, hard links work better for me. so one day i replaced them all with hard links.

[–] [email protected] 8 points 4 months ago

real. I was using "mpv --shuffle soundcloud-playlist-link-here" for a while because soundcloud's shuffle literally does not work

[–] [email protected] 5 points 4 months ago

Audacious with Winamp skins it’s where it’s at.

[–] [email protected] 5 points 4 months ago

I have all music on my phone and host Navidrome server on LAN, also on my phone in Termux.

[–] [email protected] 5 points 4 months ago

Mplayer? What year is it? I thought everyone is on mpv now 8-)

[–] [email protected] 4 points 4 months ago

Do yourself the favor and upgrade to mpv

[–] [email protected] 2 points 4 months ago (4 children)

But how do you get latest tracks?

[–] [email protected] 10 points 4 months ago (1 children)
[–] [email protected] 11 points 4 months ago (3 children)

No. Low quality multi-generation lossy re-encodes.

Soulseek or doubledouble.top

[–] [email protected] 1 points 4 months ago

I'm so glad I don't care about/don't notice audio quality. I could listen to a literal microwave oven and I'd consider it a beautiful, high fidelity song.

[–] [email protected] 1 points 4 months ago (1 children)

But can that be automated? I have a yaml file and a glorified crib job that checks my subscriptions and playlists every 8h and downloads new stuff automatically.

[–] [email protected] 1 points 4 months ago

I doubt it.

[–] [email protected] 1 points 4 months ago (1 children)

Yeah okay but how do you discover new music?

[–] [email protected] 4 points 4 months ago (2 children)

Shazam what I hear around me and like. Often it's just bus drivers listening to music, and since I sit in the front if possible, I can discover music. Or just radio, whether it's FM, DAB+ or internet. AM is usually limited to news and bazillion chinese stations.

[–] [email protected] 6 points 4 months ago* (last edited 4 months ago) (1 children)

Haha so many times I've heard stuff playing that sounds catchy in like random sandwich shops, and hunt down where I can get a clear detection on it.

It's actually pretty impressive what the average smartphone mic can pick up ... For better and worse. =\

But I've found some favorite songs that way. It beats the old days of trying really hard to discern some words in the lyrics and hoping a search engine would help!

[–] [email protected] 2 points 4 months ago

I'm impressed with my pixel's ability to do it. I forget it's on sometimes and I'll walk in a pub. Having only been inside 5 seconds and my phone in my pocket the whole time, it already has the song playing on display on the lock screen. Its almost like it works better when the volume is lower. I have a harder time detecting music with it if I turn the volume up or hold it near a speaker. Put it my pocket and have 30 people talk over it? Probably has a 95%+ successful detection rate in those conditions

[–] [email protected] 5 points 4 months ago

you should swap Shazam for the open source "Audile" :

https://f-droid.org/en/packages/com.mrsep.musicrecognizer/

[–] [email protected] 8 points 4 months ago (1 children)

Soulseek > Freyr > yt-dlp

Soulseek is better for more popular tracks and artists and in normally better quality.

Freyr can be fed a spotify/apple music link, find the highest quality version and pull the file from YouTube music or YouTube. Then it will automatically write the appropriate metadata and cover art to the songs.

If all else fails, yt-dlp to directly rip from YouTube.

Or buy it legally. In the past I've gotten songs by buying from Artists' website, bandcamp, and iTunes.

[–] [email protected] 1 points 4 months ago (2 children)

Are those Android or Linux tools?

[–] [email protected] 4 points 4 months ago (1 children)

Nicotine+ is a FOSS multi-platform gui for Soulseek and runs on Linux, *BSD, macOS, and Windows.

Freyr is a CLI tool that can either built manually for Linux I believe or ran in Docker on Linux, macOS, and Windows.

yt-dlp is a CLI tool that has compiled binaries or can be installed through a package manager on Linux, BSD, macOS, and Windows.

[–] [email protected] 1 points 4 months ago

As an alternative to Nicotine+ I use slskd in a docker hosted in my raspberry pi. That way I can search/download and share files even when my main computer isn't turned on.

[–] [email protected] 2 points 4 months ago (1 children)

I don't know what Soulseek or Freyr are (I'll look into what they are), but you can use Seal (F-Droid) to download files using yt-dlp on Android.

[–] [email protected] 1 points 4 months ago

Thanks, installed!

[–] [email protected] 0 points 4 months ago

Nothing worth listening to has been produced since 1989 /s

[–] [email protected] 0 points 4 months ago

They don't, the ppl who do this are probably listening to the same boomer rock albums