this post was submitted on 27 Jun 2024
329 points (94.3% liked)

linuxmemes

21197 readers
74 users here now

Hint: :q!


Sister communities:


Community rules (click to expand)

1. Follow the site-wide rules

2. Be civil
  • Understand the difference between a joke and an insult.
  • Do not harrass or attack members of the community for any reason.
  • Leave remarks of "peasantry" to the PCMR community. If you dislike an OS/service/application, attack the thing you dislike, not the individuals who use it. Some people may not have a choice.
  • Bigotry will not be tolerated.
  • These rules are somewhat loosened when the subject is a public figure. Still, do not attack their person or incite harrassment.
  • 3. Post Linux-related content
  • Including Unix and BSD.
  • Non-Linux content is acceptable as long as it makes a reference to Linux. For example, the poorly made mockery of sudo in Windows.
  • No porn. Even if you watch it on a Linux machine.
  • 4. No recent reposts
  • Everybody uses Arch btw, can't quit Vim, and wants to interject for a moment. You can stop now.

  • 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

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

    [–] [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] 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

    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

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

    [–] [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 (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] 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

    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] 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

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

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

    Nothing worth listening to has been produced since 1989 /s