From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Yoni Rabkin Newsgroups: gmane.emacs.devel Subject: Re: Emms and the Spotify Search API Date: Sat, 08 Jun 2024 08:08:53 -0400 Message-ID: <87o78b4ox6.fsf@rabkins.net> References: <87a5jz76ms.fsf@rabkins.net> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="25714"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Cc: emacs-devel@gnu.org To: Richard Stallman Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sat Jun 08 14:10:17 2024 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1sFutl-0006KW-2l for ged-emacs-devel@m.gmane-mx.org; Sat, 08 Jun 2024 14:10:17 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sFut2-0006mG-UH; Sat, 08 Jun 2024 08:09:35 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sFusy-0006lc-Ls; Sat, 08 Jun 2024 08:09:29 -0400 Original-Received: from smtprelay0011.hostedemail.com ([216.40.44.11] helo=relay.hostedemail.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sFusw-0002Q4-Nh; Sat, 08 Jun 2024 08:09:28 -0400 Original-Received: from omf20.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 1BC08A09BC; Sat, 8 Jun 2024 12:08:57 +0000 (UTC) Original-Received: from [HIDDEN] (Authenticated sender: yoni@rabkins.net) by omf20.hostedemail.com (Postfix) with ESMTPA id 9327020026; Sat, 8 Jun 2024 12:08:54 +0000 (UTC) In-Reply-To: (Richard Stallman's message of "Fri, 07 Jun 2024 22:55:08 -0400") X-Ethics: Use GNU X-Stat-Signature: o8kg4ykbw7rncehuc7bikcifmijdroyf X-Rspamd-Server: rspamout02 X-Rspamd-Queue-Id: 9327020026 X-Session-Marker: 796F6E69407261626B696E732E6E6574 X-Session-ID: U2FsdGVkX1/9tl43gUPYJRvjZ8/P+2fEjLmt15F9EnI= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rabkins.net; h=from:to:cc:subject:in-reply-to:references:date:message-id:mime-version:content-type; s=dkim1; bh=kkvIK7K6o3CujCYZqtl1NHpT3GNDOYHXFbl2o4uznxk=; b=BNhmPlMggVWs1Z2JbuBlKfEsSHx0U8c8I8IhA03iiSPRNvOVg0nTbunqJl3UK7S3J8ZmsyQ5Tk7fLav67+7jgLZGHoMjRkGvgYv+jPAZnKu1vqaOFQ/SQeIPTk8WxbtQas0utm0XLhPH+/y8n4RmyY0Yh83A/fENk2QE/5clokM= X-HE-Tag: 1717848534-267893 X-HE-Meta: U2FsdGVkX19r2t5yBKW+Mf6oier3qPpVuAdAYvih5fsN1r2WjR1pmEpu18PdOOSruksY+yvz3BoC+7J3GtzsXkuC3KPhh/U1nRfNqaEE+qzNTo5HvrHsn/Z63mWlq1kNbvoZoHBCVVqicOQVGCqbX0KfNke7BmXSDgVhipgoBwnOBm1UmaWH64HmD9W+uvd510PBgTcj7KnjVxeIdb5uEcVgBgvmv2cy2HMpRx0b9wdmJxdqMnJlIPLctY1bdHo239Zm2DcH7ons83fLAd7y9xyJcrj/YY83T+3W0tuB0/RZwZTdKm0GUO0htyhyp9KqAZ5Dy3EwyFI= Received-SPF: pass client-ip=216.40.44.11; envelope-from=yoni@rabkins.net; helo=relay.hostedemail.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, UNPARSEABLE_RELAY=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:319895 Archived-At: Richard Stallman 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"