unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Yoni Rabkin <yoni@rabkins.net>
To: Richard Stallman <rms@gnu.org>
Cc: emacs-devel@gnu.org
Subject: Re: Emms and the Spotify Search API
Date: Sat, 08 Jun 2024 08:08:53 -0400	[thread overview]
Message-ID: <87o78b4ox6.fsf@rabkins.net> (raw)
In-Reply-To: <E1sFmEW-0004A0-8f@fencepost.gnu.org> (Richard Stallman's message of "Fri, 07 Jun 2024 22:55:08 -0400")

Richard Stallman <rms@gnu.org> writes:

> [[[ To any NSA and FBI agents reading my email: please consider    ]]]
> [[[ whether defending the US Constitution against all enemies,     ]]]
> [[[ foreign or domestic, requires you to follow Snowden's example. ]]]
>
>   > To be clear: I'm not considering streaming from Spotify via Emms. I'm
>   > only considering whether to support the Spotify music database search
>   > API in Emms.

Apologies in advance to the emacs-devel team, I know that this answer is
not emacs-specific. But this is where Richard asked the question, so
this is where I will answer. If possible, further discussion should
probably continue on the Emms mailing list, emms-help@gnu.org
(https://lists.gnu.org/mailman/listinfo/emms-help)

> In practical terms, what is the use of searching the Spotify music
> database?

> What specific next steps would it enable a user to do?

Media files, often audio files of music, can store metadata in them
which describes the content of the media file. The metadata is often the
name of the artist, band, name of the album, track name, composer, etc.,
it can even contain an image of the album cover.

Emms tries to display and organize music by using the metadata. So the
better the metadata, the better Emms can organize and display it.

Emms can edit the metadata of common formats of media files by calling
external binaries such as `mid3v2' and `vorbiscomment' (both are
typically available on a fully free OS such as trisquel.)

But media files can also have incorrect or incomplete metadata, while
others have no metadata at all. Searching music databases for
information allows the user to collect the missing or incorrect
information, which they can then use to update the file via Emms.

> Is there a useful next step that can be done without nonfree software?
> Please correct me if there is one, but I tend to think the answer is
> no.

The result of a music database search is simply some JSON (a lightweight
text data-interchange format) which Emms converts to SEXP and tries to
display in a structured way to the user. Then, Emms will make it easy
for the user to copy specific bits of information into the metadata of
the file (see editing metadata above.)

For example, searching for "Dave Brubeck" may return "The Dave Brubeck
Quartet (US) 1951 - 1967", as well as the names of several other groups
Dave Brubeck was a part of, and their dates. Sometimes a lot of
information is returned. For example, an album could have 30 different
releases in different countries and in different formats (vinyl, CD,
cassette, etc.)

It is then up to the user to decide if any of those are useful
descriptors of the audio they have at hand, and if they want to copy
that information into that file's metadata.

I hope that the description of the process above provides a good view of
what we are trying to achieve.

>   > What I'd like feedback on is whether or not adding support for search on
>   > Spotify's music database would be tantamount to supporting or
>   > encouraging people to use Spotify's proprietary streaming client and
>   > services.
>
> If the feature to search the database has only one use, and that is to
> follow it up by accessing the database using Spotify's DRM-afflicting
> client software, then the search feature would be tantamount to
> endorsing that software.

> But if the search feature is useful in some other ways, then depending
> on what those other ways are, perhaps the conclusion would be
> otherwise.

Since the result is just structured information, the user can then do
anything they want with it.

However, this doesn't mean that using spotify's service is OK. There can
be other issues.

Using such a service typically requires that you generate cryptographic
credentials, aka an "API key". This key identifies the developer so that
Spotify (or another service) can tell which application is making the
call, and contact the developer if that application is misbehaving. I
don't know if Spotify permit free software to get a key (there are
services which require that the key be kept secret.) If each user needs
to generate their own developer account with Spotify, this may require
using non-free software and also force those users to make a Spotify
account.

Similarly, I haven't dug into the Discogs music database service
requirements.

For comparison, Emms already supports search via the MusicBrainz service
(which other pieces of free software use as well.) The Emms user is not
required to sign up with MusicBrainz in any way, nor interact with
MusicBrainz in any way outside of using Emms to search their database.

-- 
   "Cut your own wood and it will warm you twice"



      reply	other threads:[~2024-06-08 12:08 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-06-05 15:26 Emms and the Spotify Search API Yoni Rabkin
2024-06-05 18:04 ` Adam Porter
2024-06-05 18:07   ` Yoni Rabkin
2024-06-05 18:21     ` Adam Porter
2024-06-08  2:54       ` Richard Stallman
2024-06-08  6:44         ` Eli Zaretskii
2024-06-08 11:23         ` Yoni Rabkin
2024-06-11 15:02           ` Richard Stallman
2024-06-08  2:55 ` Richard Stallman
2024-06-08 12:08   ` Yoni Rabkin [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87o78b4ox6.fsf@rabkins.net \
    --to=yoni@rabkins.net \
    --cc=emacs-devel@gnu.org \
    --cc=rms@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).