Always great to see new ways to integrate with Spotify. I think that if you're paying for a Spotify Premium subscription you should be able to stream music wherever you want!
However Spotify doesn't agree. If this is based on librespot its using stuff Spotify doesn't support and could easily shut down for unauthorized clients any time.
Their supported paths are iOS and Android SDKs for mobile, and the Web Playback SDK for desktop [1]. I've been using the web SDK in anger to build a jukebox app [2] and its only so-so.
First, you're under the confines of a web browser which has some pretty big tradeoffs over the experience and system integrations you can build.
Next, song playback works as advertised but there are many things you can't do like introspect the queue or prevent Spotify Radio from kicking in.
The latter is downright hostile to controlling exactly what songs you hear. I assume that always going into auto-recommendation mode is intentional to juice playback stats.
Kudos to spotifyd for offering total control over how and where you stream music you're paying for.
Just one minor tweak of what plays next can totally rip off independent artists on the platform. We have reached an era where algorithms aren't transparent, so artists like me are bewildered that for all the promoting we do on our own music, we rarely get any views and listens unless we literally spend thousands of dollars on advertising to break the visibility barrier...
For example, if I tweet a link to my own song (hosted on spotify) not only will Twitter potentially block people from seeing the link, their URL shortener may break the link to Spotify (Because the CEO doesn't want traffic leaving Twitter) and then even if the link goes to Spotify, they do a ton of things to siphon listeners that came for my music away from listening to my music, including NOT playing more of my music after the intended song plays. The net result is that hours of promotion as an artist only generates a few leads that often get ushered away from your content... It happens in many other ways for creators, artists, and even businesses without anyone being able to know that it's happening.
The future of being an independent entrepreneur is totally disrupted by social media as it slowly creates a stranglehold on the Internet. If we all don't start acknowledging this and calling out anti competitive practices and platform scams, we'll all be weeded out from being able to make our own living and we'll be forced to work for employers for minimum wages... The Future of the Internet looks grim from where I see it.
This is a problem inherent with walled garden social media. Their garden, their rules. Instead of trying to police behavior we don't like in those walled gardens (which is mostly like trying to walk in quicksand) we should be supporting open protocols and systems that don't require a walled garden at all, like the internet used to be.
An open garden cannot compete with Facebook, Twitter or Spotify. We need regulation and legislation which clearly outlines what is and is not okay, while creating black box behaviours that is impossible to navigate.
Maybe not for your exact use-case. But "open" doesn't need large numbers, market saturation or a monopoly: those are traits that come from investor-fueled business-models.
A mastodon account that has great communication with seven other accounts is a 100% success! It doesn't need access to billions of people, it just needs to fulfill a need: talk to several fine people. And it often does this just fine with a very small social graph, even.
A musician doesn't need a million streams, they need enough revenue to be an income. On spotify (or youtube, etc.) that, indeed, means "millions of streams". But it could just as well be five tshirts sold, twenty-eight .zip files @ €9.88 sold, and three vinyl shipped in a month.
The "numbers" that mark "competing with" faang, really don't matter. We don't need to make billions, we just need to make a good income.
Mastodon is not an “open garden” and can easily, if not more easily, be as arbitrarily administered as any of the social media platforms you’ve mentioned. Each servers admin can and have cut off access to other nodes.
See what’s happening with journa.host as an example.
If it has to be "better" then it must improve. But improvement doesn't mean "competing with FAANG". It just means being good enough today, and keep improving from there.
My income 35 years ago was vastly different from today. I needed far less, but it also grew over time. But that doesn't mean I must make millions today to consider my life a success. I'm happy today. Isn't that "successful"?
This. You can always host your own music on your own site. Of course then you need to deal with monetisation and how you actually get paid. But you have control!
Sincerely, as Spotify (and the rest of the streaming services) are forced to make more and more user-hostile decisions to keep their revenue growth curve going up and to the right, it might make sense to jump ship early.
Even if you run your own site, search engines and SEO work against you in many similar ways. Music has been run on a "pay for play" basis for many years now, it's creeping into aspects of pretty much every kind of entrepreneurial business.
If you don't participate in promotion on social media for your art or business, there is absolutely no contact with new customers unless you run a brick and mortar or maybe rent billboards.
In order to monetize streams on your own personal web site you'd likely need to run ads, charge for user accounts, and/or generate paid memberships, which is harder than pulling teeth even as a well known musician.
One of the best entrepreneurial decisions to make in early start ups is to take control of your customers. This is regardless of the business, if someone is selling their products on Etsy or Amazon, part of the money goes to the company Etsy or Amazon.
While, on the other hand the business could sell their products on their website and therefore get 100% of the money on their website. Many companies sell on their website for this reason.
Actually, the EU has passed the DMA which will prevent exactly that for very large (i.e. Facebook/Twitter scale) providers.
I suspect some companies/features may not be available in the EU because of this, but I hardly lament this if it means the garden walls are being torn down.
If your money making model depends on hoping real hard that a giant megacorp throws you a few pennies once in a while I would argue your whole premise needs a rethink.
But to answer your question directly, artists make money the same way they always did - making art for rich people that appeals to their tastes.
Open protocols don't make for open platforms. Mastodon is "open" yet big server admins are free to block anyone else they don't want, going back to the closed garden model. It is for good reason of course, there always be bad actors, but open or not it's all to easy for organization to use same tools to further their own goals
Couldn't you make the same argument about email? It's an open protocol but anyone can block you.
Even though that's the case, I think email is much more open than WhatsApp or Signal, and a big part of that is the fact that it's a federated open protocol.
> they do a ton of things to siphon listeners that came for my music away from listening to my music, including NOT playing more of my music after the intended song plays.
I understand the criticism that it's hard for you to get an audience to notice you. But once somebody has listened to a tune of yours and then doesn't actively seek out more of it ... could it be that they just prefer to listen to something else instead? Competition is toughand it may feel easy to blame it on big tech, but sometimes peoples taste is just not something you can legislate..
I think listening to an entire song of some unknown artist is a great sign that more tracks should be queued up.
Essentially, that artist generated traffic for Spotify, and Spotify channels that traffic to more known tracks that are more likely to generate conversions to paying customers.
> even if the link goes to Spotify, they do a ton of things to siphon listeners that came for my music away from listening to my music, including NOT playing more of my music after the intended song plays
If always playing songs from the same artists is what people wanted (e.g. lead to more overall listening time), Spotify would 100% do that.
You can't pick what a radio station plays next after starting one of your songs, likewise Spotify gets to pick what their users prefer (visibly: not always songs from the exact same artist).
I think what people want and what Spotify wants is probably not the same.
I don't have specific knowledge but they probably try to optimize for retention.
As such if they concluded that for example discovery is an important part of retention then switching artists might bring less listening time (which is not issue as long as you don't cancel) but more attachment to the platform.
Additionally the way they distribute royalties (as I understand it it's tied to the total of stream not your usage) might have some strange optimization. Like maybe they need to guarantee a minimum for the big player otherwise they might leave or in the opposite maybe they try to drive content away to pay them less and lower their influence.
Note: all of this is random speculation, I have no idea what happens just tried to think of possible use case where what user and Spotify want is not aligned.
Users don’t know what they want. This is hugely true of the on-play from spotify or any other service. They’re delivering something that works, but who is to say there aren’t 50 other algorithms that work as well?
I don’t think more listening time is the objective. Spotify is like a gym. They want you to subscribe but then never show up, or only show up for promoted content
I feel like promoting your own music has always been a massively uphill struggle, and the successful ones still got there by playing hundreds upon hundreds of shows.
There's a huge element of luck too, who happens to hear you, whether or not you strike some chord with the public in some way. But mainly, it's just hard work. Many artists took a very long time, playing shows in small venues for years, building up local fanbases... and then eventually saw some small measure of success. Many more saw nothing.
I'm hesitant to blame the internet for this. Sure there are some artists who seemed to get plucked from nowhere, and were catapulted to international success overnight. But most, most just worked hard, and got there eventually.
> the successful ones still got there by playing hundreds upon hundreds of shows... it's just hard work.
This is the vision of the music industry we all would like to have. Hard work, pluckiness, some element of luck and "striking a chord" with the public and you, too, can be a success! It is a dangerous fallacy that drives many musicians into the trap the top comment is complaining about.
The reality is a lot uglier.
Ever since large music conglomerates conquered (integrated) the entire promotion/publishing/distribution/sales stack in the 70s/80s, becoming successful in music has been about fighting giants on their home turf. That's AFTER you beat the odds by getting a label A&R person (or the contemporary equivalent) to like you. The markets, gatekeepers, processes, and legal agreements are all set up to screw you, hard, because every one of those is run by a different face of the same multi-billion dollar company with serious lawyer and lobbying budgets, and you're a small entity with no legal budget (and probably no experience).
This was the very successful industry profit model for decades before the Internet, and the generations of executives since then have been focused on regaining that regulatory and legal positioning in the "new industry".
These two famous articles explain the structure of the pre/early internet music indistry very clearly: Steve Albini (famous music producer) wrote "the problem with music" in 1993[1], and Courtney Love "did the math" [2] of how an impossibly good record deal would work out for the artist in 2000. They're enetertaining and interesting reads. Every step along that journey, think of the modern music industry equivalent, and you'll find it is facing (or has already lost) exactly the battle the top comment is bemoaning with Spotify. The large players are working hard to achieve the vertical integration and control they once had, and it is working.
I should note: there is no board of shadowy figures out to screw artists. This is natural dynamics of any labor market with a persistent glut. The buyer controls the price, and if it's a market where the sellers are passionate and driven to sell because they believe "it just takes hard work and luck", they will lower the price indefinitely... until they are even taking on predatory debt just to get their product out there.
Please stop spreading the myth that "it just takes hard work." It convinces too many good people to walk into an exploitative industry and thank their exploiters for the screwing. What it actually takes, is relentlessly beating giant megacorps at their own game. Most of the famous ones are actively getting screwed for the privilege of riding on a tour bus. There is a lot that music fans can do to help the musicians they love, and it starts with understanding the musician's fight.
When I realized this about 1990-ish after reading some contracts that they had to sign, I completely stopped buying music from stores. The only music I bought since then was directly from the (small) artists.
> There is a lot that music fans can do to help the musicians they love, and it starts with understanding the musician's fight.
For my part here, I go to (a lot) of local shows, and buy their merch/vinyl/tapes whatever. I tell everyone I know about them, and urge them to go along too (they mostly don't, but it's always worth a try).
I've read both those articles, they're quite well-known, and I'm sure they were on the money at the time. However, the fact remains, that playing gigs is the way. It doesn't guarantee success, a significant part of it is luck. But if you can't pull a crowd, you're not going to get anywhere.
This is somewhat orthogonal to exploitative music contracts - which perhaps have got a little better? Those articles are 22 and 29 years old, surely things have changed in the interim.
Of the local musicians I know, only a handful are professional. And they play in covers bands mostly. However, those that have made it overseas (Aldous Harding and Marlon Williams) are doing great. I don't think they're trapped in unfair record deals, but I suppose I could be wrong. They both got there playing shows, not by putting links on twitter and complaining that nobody listened to their music.
Sorry, but if you can't fill local venues, what chance do you stand internationally?
With the use of easy websites and services to create a song, everyone can create a song. Ultimately, there are 2 factors which make a song "successful":
1. market desire: What are people listening to today? What genres of music are in "demand" right now?
2. experience: If someone who has been learning music theory for the past 7 years and then works on a song, the likely outcome is that the song will sound better than someone creating a song with no experience.
> that came for my music away from listening to my music, including NOT playing more of my music after the intended song plays.
To be entirely fair at least for me in lot of cases I end up adding maybe 2 songs of an artist total to my playlist. Assuming random passerby is going to like rest of your stuff just because they liked one song is a stretch.
The platforms always counter your moves. At times I've found that shared links simply don't work, or they divert to a 404 page. It's often hard to figure out what is happening unless you have several different workstations over several different IP addresses.
It would be wild if a YouTuber did some documented video tests on this issue at some point.
I work with Spotify links and the Spotify API regularly for work and have never seen a link to a playlist or track randomly 404 or not work. Spotify share links are really basic, they're just an ID and type of link, like "/track/{id}" or "/playlist/{id}".
Not saying you're wrong, I've just personally never had issues with them, and I work with lots of share links from a variety of artists.
I think that you are a bit too hung up about what happens where on the internet, especially considering that your complaint is about bad faith actions of the large platforms.
I agree with the problem (getting distribution is not easy), but not necessarily with the solution (calling out anti-competitive practices).
If the problem is serious enough, the capitalist solution would be to develop a platform that solves the problem for independent artists. However, as others have pointed out, the real customers for Spotify are not indie artists but rather paying users, and established artists.
While it is tempting to blame platforms for commercial failure. One has two recognize the truth of the business: making music follows a long-tailed distribution, and ultimately the listeners decide who rips those benefits.
I've never heard of such a thing, to be honest. Many in my nerd group painted minis and made their own cosplays. It's not like theater kids were in the popular group looking down on us so I'm really not sure what other kinds of artists there would have been in high school
When Spotify was young they were extremely developer and ecosystem friendly. It gets progressively worse and worse over time.
The biggest change I personally suffered from is when they pulled out of their integration with Djay, a DJ app. This integration was amazing for bedroom DJs like myself, being able to use Spotify to organize DJ music and DJ directly from it. Then they sunset the entire integration.
Now Djay and even bigger apps like Pioneer Rekordbox integrate with Tidal... Do the labels prefer Tidal over Spotify for some reason? Or did Spotify decide to get out of this game for reasons of their own?
> When Spotify was young they were extremely developer and ecosystem friendly. It gets progressively worse and worse over time.
This is somewhat tangential, but I feel like this happens often, as internal power and culture shifts away from being developer-driven to consumer- or manager-driven.
This doesn't happen for every company, thankfully.
> Do the labels prefer Tidal over Spotify for some reason? Or did Spotify decide to get out of this game for reasons of their own?
Yes, labels and artists get a bigger cut of the subscription cost from Tidal. And before the buy-out by Square last year, Tidal's parent company was majority-owned by Jay-Z and had lots of buy-in from music industry insiders.
Tidal was basically a music streaming platform made by the music industry itself to have some leverage in negotiations with Spotify / Alphabet / Apple / Amazon.
It's since evolved into something else, but it's not surprising that Tidal can get some unique deals due to its close industry ties.
Back when I worked at a competitor that got pushed aside by Spotify, the internal narrative was that the labels would always give a good deal to a young company, then turn the screws on them while giving good deals to a younger competitor, so that they could keep everyone small and preserve the idea that there was an alternative to piracy without risking any real changes to their business.
I think the integration was initially scrapped due to problems with licensing (streams <30s don't result in a payout, and after that 100% payout; so it's either unfair or expensive under the current model). Good question about why they're leaving the space to their competitors.
> Do the labels prefer Tidal over Spotify for some reason? Or did Spotify decide to get out of this game for reasons of their own?
Me, being a naive speculator: Maybe it has something to do with the time. The original contracts between spotify + labels were probably written 15 years ago. Over time they might have changed numbers like how big spotify's cut is, but never revised the rest of the blueprint contracts.
I used to work in music and had to deal with requirements forced on us by labels and such. Those contracts aren't "written 15 years ago and barely revisited" music industry lawyers wouldn't leave a stone unturned of turning it will benefit their client.
Labels do prefer Tidal because it's a service made by the music industry. However, Spotify is lacking features it used to have because they are product driven and such integrations are not on product people's radar (like you said - lazy and don't care).
That is who they always blame, but it is just a ploy. Like netflix, the dominant player always wants control
Remember when Netflix first started they had amazing API's and all kinds of cool things where built off them, then one day they got big enough and shut them all down, of course they claim it was the "evil industry" that made them do it, but I simply do not believe them, nor do I believe spotify.
This pattern has been repeated over and over since the dawn of the internet, Early Platform is open, and dev focused to bring people in, then over time they wall off the garden to only their apps...
Google, Netflix, Twitter, Facebook, and countless others all follow this pattern.
Your assumption is correct. The record labels are their business partners. Spotify does not dictate the terms while the record labels hold all the popular content.
Qobuz and Tidal both have developer friendly APIs. You can absolutely build your own client.
Roon will index either or both of them with your local mp3 library. It decorates with third-party metadata services, and will stream hi-res to almost any hardware device you can throw at it.
> Qobuz and Tidal both have developer friendly APIs.
Last time I looked, Tidal didn't offer a public API. They were 100% closed and developer unfriendly. You had to "borrow" their client ID for use with reverse engineered clients. Has this changed? If so can you link to the docs please?
I guarantee you any company doing what Spotify does would love to cut out the middleman.
The problem is that middleman owns near-everything your users want.
They hold all the cards, they can just say "hey, either you do X or you don't get our music library" and now your customers don't have ~95% music library they wanted.
I'd wager Spotify's reluctance to "just let you listen to fucking music" might be related to that, if it was just API you could integrate with any player you could make indie-only Spotify equivalent that just... uses Spotify API to play whatever is not on it.
> I assume that always going into auto-recommendation mode is intentional to juice playback stats.
That’s one of my favorite features, sometimes I’m too distracted driving or doing something else to manage Spotify, but that doesn’t mean I want the background music to stop entirely.
Yes it's a killer platform and Spotify app feature.
But for a developer building a custom listening experience it needs to be completely optional.
Right now you literally can't build an experience that plays just one song and stops after because "radio" automatically kicks in. You need to do crazy hacks to pause the current song before it ends or enqueue a silent track and intercept that, if you don't want to occasionally hear a small bit of an unwanted radio song before correcting.
That’s one of my least favorite features, sometimes I’m too distracted driving or doing something else to manage Spotify and i want my albums to restart from beginning, but then it goes to some radio i don't want. And no, clicking "repeat playlist" button doesn't work because they flip it off randomly.
It's built on RSpotify, which describes itself as:
> RSpotify is a wrapper for the Spotify Web API, inspired by spotipy. It includes support for all the authorization flows, and helper functions for all endpoints.
According to spotifyd/Cargo.toml is uses both librespot and rspotify.
Librespot is the a level playback client that reverse engineered what the native Spotify desktop apps do to get, decode and play a music stream as a connected device.
RSpotify is a high level client that uses the Spotify Web API which can control what is playing on any connected device.
Neither of which should be confused with the Spotify Web Playback SDK which turns your browser into a connected device provided it supports the right DRM bits.
Maybe this is just me, but I take an issue with projects that use GitHub's community features but don't publish their source code. Feels somewhat unfair.
Currently not open source but I long have been thinking about open sourcing it.
What's wrong with using GH community features?
It's a side / passion project so no time or budget to build any support or community stuff. I considered GitHub, Reddit and Discord and all have pros/cons.
Nothing technically wrong, but GitHub is primarily a code host, the "code place", if you will. So when people use it for issues/feedback its mostly because they have the supporting source on the side.
At the end of the day, services such as Spotify want to make profits too. I guess we can't blame them for not getting carried away and displaying ads on their website.
Greed is possibly the most common human emotion in the world.
I used something different. Basic details for your entertainment/edification/comedy source material follow mostly so you can shortcut a comparison if you're building something at your place.
2) Class D amp, Aiyima, Fosi, Loxjie etc Aliexpress is one place to get these. I've used and like Aiyima A03 and their ali store delivers fast.
3) Some nice, high-quality, 2nd hand speakers you like. Wharfedale, JBL, B&W, Acoustic Research, Yamaha. (Or get some active speakers you like and skip #2, eg B&O beolab 6000)
5) configure owntone with your spotify premium, takes less than a minute. (And with your music that you own - takes longer because you take more care).
You now have a multiroom setup with fantastic sound that you can control with http://owntone.local:3689/ including with your phone. And/or you can use the "Retune" app on droid and apple's "itunes remote" app on ios. Better sound than most alternatives for less dollars.
All integrates well with Homeasistant because of course it does.
I really like how mine turned out. Having half a dozen sets of speakers all playing the same music in perfect sync as you move from one room to another while doing chores on the weekend fills me with more joy that I would have guessed. YMMV.
I’ve a similar setup but added a dedicated DAC. Honestly not sure I could tell the difference, only got it because I read the built in DAC is not the best. Could be worth looking into if you care about great sound.
Not sure I understand the question. If you have airplay speakers something has to send music to them? Airplay 1 does multiroom just fine and always has.
Owntone on your local network gives a nice persisten connection to whichever speakers you decided to switch on. The music signal is not being relayed from your phone to the speakers so it doesn't degrade as you move about doing your thing.
You control owntone and tell owntone, enable the speakers in the bedroom, livingroom and deck setting each volume separately and play this m3u playlist of your music, or this album, or this spotify playlist or podcast or whatever to all of them at the same time, synchronized.
Owntone does the job of the apple music/itunes software on a mac (ie the software that ships with a mac laptop to play mp3 files), which does multiroom to airplay 1 speakers. Iphones don't do this and don't do it with spotify. I mean not even an iphone to an appleTV plugged into an amp does spotify reliably. Apple's phone controlling an appleTV box requires constant reboots to function which is enough to stop anybody from using spotify with that setup. Is that intentional? Spotify clearly think so. Doesn't look good but I don't have deeper evidence than these observations of what works and what does not.
Owntone development isn't being controlled by apple for their business interests, eg it does spotify, lastfm and works like apple doesn't in my experience of it with the stuff the devs wanted to work (get involved and hack it to your needs if you have more?) - whatever you think is the reason the apple software not working, it clearly doesn't and owntone does. It works controlled from android, or your laptop, or your desktop, or tablet with the music you want not what apple "allows" or "cares enough to not have be broken" or insert some other excuse (maybe there's a convincing one but I can't think of it).
orange-pi zero 2 boxes attached to wifi or ethernet for input and output to class D amp and speakers, also have to power them. You put the pi's running shairport sync where you want the speakers.
Eg plug the pi into power and the amp, plug the amp into power and the speakers. No other wires.
They all synchronise perfectly over wifi or ethernet, which is the point of shairport-sync. They identify themselves on your network as AirPlay 1 speakers. Note that they actually work with the spotify app directly in a reliable way just like AppleTV doesn't - your AppleTV will require a reboot every time you want it to be the output of spotify. So either I'm a better engineer with off the shelf parts and open source software than apple's full time paid professional engineers or maybe Spotify has a point when complaining about Apple non-competitive behaviour? I wish it were the former but somehow doubt it.
I'm glad this exists, but it's unfortunate that the reverse-engineered librespot that this depends on is necessary, thanks to Spotify backpedaling on their promises of a streaming-capable replacement for libspotify.
After spotify forbade the last library that could do this, I took spotify out of my mopidy/snapcast whole-house audio system, cancelled my premium subscription, and have spent the same money buying albums in MP3 from Amazon ever since. So far so good.
I’m what sense is that, exactly? I can sell my discs, play them however often and in whatever device I want. I can also rip as many times as I want onto as many computers as I want.
In the sense that you own the physical CD but only have a license to use the music on it. Ripping a CD is not legal in many countries including UK and probably the US [1], so do you 'own' the music any more than someone who has pirated it? I guess, in some sense.
Then I hate to break it to you but that’s totally not true. It might have PMs or engineers shitting themselves, but the lawyers don’t really care. It’s just not a big deal.
As someone who does own his music, but has Spotify for convenience: What OSS app provides a good experience across my Linux desktop and Android mobile?
I rip my own songs, but I want something that's better than Spotify to listen to it. Then again, I listen to music on my Alexa too, so I think it would be hard for something to interface with that.
Navidrome should be plenty, but it's just a subsonic server with a simple web front end. You can use any subsonic compliant client for Android, there's plenty.
I had Navidrome hooked up to my Sonos system as a test. Ultimately you are at the mercy of the walled gardens if you choose to use them, some are free-er than others.
I use Jellyfin [0] server on pi with tailscale, So I can access all media anywhere (DLNA also), and I can use DAC for high-res music (Android: USB Audio Player Pro [1]) as well.
As an alternative to Spotify - I've been working on TidalFS as a way to mount Tidal like a local filesystem. You can then use literally any music player to play your music as if it was all local files. You can even search.
I think there's an unofficial understanding that if someone puts out a way to access Spotify Free that removes or bypasses the limitations and constraints that Spotify imposes on free accounts, they would summon the lawyers.
What i find the most interesting is the zeroconf option [0].
For example you can set up your spotifyd daemon on a raspberry and have it always connected to speakers.
Now when someone is in your local network they can choose your spotifyd daemon and play spotify over the speakers without connecting to the speakers directly via bluetooth etc.
I have this. It’s great except it randomly fails and disconnects or refuses to play. Have tried many updates for multiple years and always the same. I resorted to airplay. Spotify doesn’t want to integrate with others and so the reverse engineered api doesn’t work great
I've got a setup where I play photo slideshows on my TV, and also want to play Spotify through my TV/speakers. I've resorted to just spinning up a Spotify webview when the RPI boots XFCE, and it works pretty reliably so far.
I do this with librespot on my always-on Pi running Kodi. Works well. It's the only reason I bother with Spotify. The instant it stops working, I cancel my Spotify subscription.
Yeah, but it's kinda clunky. It also uses the same librespot (or one of the various forks) under the hood.
And now they've also "improved" their default interface with ultra-skinny fonts. Granted, I have a ridiculously bad 1080p laptop screen, but the font is so skinny that I only see colored pixels instead of white.
I haven't looked at the Volumio interface in years. It's running on a Pi inside an old boombox, and in a VM on the PC in my garage with a USB sound card passed through.
I exclusively use it for Spotify Connect like I would a Chromecast Audio (if I had one).
Hi, I'm one of the spotifyd maintainers, happy to answer any questions people have - though I'm coming to this thread awfully late...
We recently cut a new release for the first time in over a year, which is very exciting for all of us (and I'm guessing why the project has been submitted here now :D)
Is there an existential threat looming? Could Spotify make an API change that would completely break libespot and Spotifyd? Any insights as to why/why not that might be likely?
Also, any plans to add the ability to save the tracks that are streamed? (for e.g. offline playback or for exporting to mp3 etc.)
I don’t think so; we’ve never had a regression related to the Spotify api that I’m aware of. I know librespot has big plans in the near future to switch to a newer version of the Spotify api so I think we’ll be good for now.
Does the team plan to have an official Windows release? I’m using an older version and with a few changes, was able to create a fork for windows. It works fine for my purposes but was wondering if it was ever considered.
There was an open MR to add windows support for awhile but I think it fizzled out due to lack of OP interest.[1]
None of the maintainer staff use Windows, but a working PR that doesn’t cause any regressions would likely be accepted.
any ideas to add reporting playback to spotify servers? it isn't fair if you ask me? you're forced to use premium but you are not even helping the artists
> If you have a PC with the Spotify app running, that appears as a remote play device to other clients.
The issue I've found with the PC setup, which I've been using after being somewhat unconvinced by Volumio, is that for dynamic playlists, the clients don't seem to agree on the contents. I have to manually go load the playlist on the player PC so that when the songs advance I can see it on my local computer. The player PC only does that, so I never interact with it.
It’s nowhere near a fully featured Spotify client, but for little scripts or UI things where I just want to see the current song it’s pretty lightweight and already works with the Spotify app I have installed (obviously this means it has a different end goal in mind than Spotifyd).
If you're interested in a better version of that I have a project that works with all players that support the MPRIS DBus interface: https://github.com/mariusor/mpris-ctl. I'm using it for keybindings to play/pause and show song information with a tiling windows manager.
I‘m kind of amazed that this is still working. I would have thought that Spotify is rather strict with their eco system.
I was always interested in their techstack, and how everything works on their end, but unfortunately I'm not into Java, which is the reason I never applied for a job there.
which is actually not true. you can change some code in the source, to allow playback on free accounts. Spotify hunts down anyone who posts code like that though
Isn't there a better way to do this? Rate limiting, splicing ads into the audio signal for non-paying users, providing a stable API for paying users only, etc. Beats siccing your lawyers on hapless geeks.
applying a patch to make something work - that seems super normal to me but I guess I'm a geek. Applying patch to a thing to use a service that advertises it supports free accounts? Why wouldn't it support a different client? Thatt seems kind of weird. Is it actually intentional or did they just screw up the library so you've got to work around the breakage like literally everythig in software?
So if you listen to a spotify free account that's fine unless you do it the wrong way and then it isn't. But nobody could ever make a mistake there. They're dodging paying by flagrantly using the wrong client?
I see that pretty differently but I haven't ever used a free spotify account and don't care to use spotify beyond supporting it on our hifi for others in my family so my view on it is far from complete and infallible.
It literally says, all over the documentation, requires Spotify premium. Spotify’s docs say that things like this require Spotify premium. They also very clearly enumerate features that are only included with the premium tier, which this provides. Without saying too much, the modification is very clearly to remove a “did you play us, if not die” check which is quite intentional.
You should be aware that this thing where you pretend to be confused because you don’t like the answer is a pretty weak defense. You might be impressed with your mental gymnastics, but I assure you that the court will not be.
Spotify has a stable api for free users too (as can be seen by devices sold with that capability, it just isn't public). Splicing and rate limiting would clash with caching I would imagine
Maybe I'm missing something but why don't more ppl just built their own (web-based?) media player and drop-in mp3s and mp4s...? It's not that difficult and is easily hosted on a server available anywhere behind a basic authenication gate. This solutions is esp. useful if you have any NAS setup.
What's the rationale for not building homebrew media players instead of railing against Spotify...?
So I need to purchase the MP3's in order to do this? Then I need to spend time on other web sites for music discovery?
This would work if you almost never venture outside of your existing music catalog. If that's you, it's probably also a better financial decision to just purchase your own music in stead of 'renting' it.
According to my 'Wrapped' I listened to 4600 different songs this year, from 3000 artists. Most of them I discovered because of Spotify. So for me, Spotify is very much worth it and I would not be able to self host anything to give me near the value that Spotify adds. And I can't even contemplate pirating all these songs, since I find that morally wrong because the paid services (for music) are decently affordable and provide good value.
> So I need to purchase the MP3's in order to do this?
Aye, aye.
> Then I need to spend time on other web sites for music discovery?
One cost of cultivating tastes, as opposed to being fed by a recommendation algorithm, is the risk of possibly hearing music you might not like, as well as the time required spent doing so.
There are open-source music recommendation algorithms but having survived radio payola I consider that approach a step backward.
> This would work if you almost never venture outside of your existing music catalog.
I favor bulk music downloads (more than I could ever listen to) and randomized playlists, but then, I may have a higher tolerance for my tastes not being pandered to.
> I can't even contemplate pirating all these songs,
Seems to me that you are doing precisely that.
> since I find that morally wrong because the paid services (for music) are decently affordable and provide good value.
Wait, you find it morally wrong to infringe copyright (a specious proposition in any case) because the paid services are affordable? What is the price point that makes piracy moral, then?
Honestly, at about €1 per MP3 (which is on the low end, looking at Beatport), I couldn't afford listening to the amount of different music I do now.
> fed by a recommendation algorithm
As opposed to being fed by the maintainer of some web site?
> I may have a higher tolerance for my tastes not being pandered to
> Seems to me that you are doing precisely that.
> What is the price point that makes piracy moral, then?
To me, your entire comment feels incredibly snobby. It's like you see people who use streaming services as lesser people, just because they use a different way to listen to music. It also feels like that opinion is based on an incredibly limited assumption of how people use streaming services.
I work in the industry, so I've watched Spotify's editorial playlists go from great to terrible, with increasing amounts of payola, nepotism, and corporate influence, leading to a slow homogenization of music culture.
Six or seven years ago there was genuine independent acts breaking through Spotify. Today, the ones who get played on the so-called recommendation algorithm are seriously propped up by a small team of relatively private, inaccessible curators of the major editorial playlists who only answer to established music industry professionals with their corporate agendas. Spotify's recommendations are not the fair system that you think it is, and is worse than radio tastemakers of the past as they have no skin in the game thanks to their anonymity.
> watched Spotify's editorial playlists ... leading to a slow homogenization of music culture
All based on the assumption that people only use editorial playlists and there's no other way.
> Spotify's recommendations are not the fair system that you think it is
I never wrote anything even remotely saying that I think their recommendations are 'fair'.
> worse than radio tastemakers of the past
Is it though? With radio, you had pretty much no choice. I can now pick from millions of playlists on a whim. If I find a new artist in some way, I can listen to all their music and I can instantly find artists with similar styles.
You assume that people only listen to curated playlists.
You gatekeep by implying that only genuine independent acts are worth listening to.
You imply that if Spotify wouldn't exist, people would have better ways to find music.
None of this is true. Most people would would just go back to listening to the same 10 songs being played on the radio over and over. Or they would venture to iTunes, Beatport or the likes, which are just as curated as Spotify.
For me, Spotfy is a nearly limitless collection of all the music I could want to listen to. Vacationing in Germany and hear a Polish song I like? Add it to Spotify and find more from the artist, while still on the highway. Feel nostalgic? Play Major Tom and some more Bowie on a whim while on the way to work. Want to discover music that sounds somewhat like another artist? Open Spotify Radio for the artist and let the Algo show me some other stuff. Suddenly have a craving for a genre I never listen to? Search for a playlist on the genre, which usually isn't curated by Spotify.
Through this process I recently found some songs by an artist who's most played song is at <3k plays. This is a musician who sings in an incredibly local dialect. I don't know how I would've found them otherwise. Especially since I found them while road tripping, not while reading some snobby music blog.
So please stop with the gatekeeping and just accept that people might actually like Spotify and use it in another way than just playing curated playlists. And even if they do just use it that way, accept it.
What's the gatekeeping? The biggest gatekeeping is Spotify's editorial system. No one is judging you on your music tastes, so you can stop with the projection and calling people 'snobs'. The problem is with artists not getting a fair shot. I can tell you from first hand experience that over 95% of artists that have >100k streams (which is nothing) know someone connected to Spotify -- the social dynamics of which heavily skew towards rich, trust fund kids.
It's great that you can find an artist that has <3k plays that sings in an incredibly local dialect. That artist is probably making $10 over the entire year. I don't think that's a fair deal for artists. Spotify is the single biggest gatekeeper for artists finding meaningful success. That is a fact.
Well, you need mp3s and mp4s to drop. Spotify and similar are more convenient than downloading music in various places (legal or not), to rip CDs, or to digitalise your analog audio (tape, vinyls,…).
can we get the same behavior on windows or linux computers? I have an Youtube music premium subscription and would like to control my computer which is connected to a very beefy set of speakers from my cellphone's youtube music client.
I thought this died with Spotify’s nerfing/killing of API access. I had a project going with Mopidy which relied on it that I just dusted off the other night after a year and it wouldn’t authenticate. Kept saying “requires Premium account” despite my account being Premium.
This uses librespot, not the original library that Spotify published and recently killed. Mopidy is also moving to librespot, but it's complicated with their gstreamer architecture (though I believe its mostly functional at this point).
Can't wait for mopidy to switch over - I have "Pirate Audio" PI hats that work are based around mopidy and I am not clever enough to figure out how to use the LCD screen with others.
Some other setups already in the comments, but to chime in with my own:
I gave up on 3rd party things. My automation VM includes a GUI environment, and I run the official Linux Spotify client. The only way my setup can break is if Spotify gives on Linux entirely.
Snapcast[1] transmits two streams to 7 different speaker setups:
* Music + text to speech
* Just text to speech
When TTS plays on the first stream, music volume is ducked for the duration. That setup is all pulseaudio junk. I could actually play any system audio to my entire house, or even provide an 3.5mm aux input near the VM host, although in practice I stick to Spotify for convenience and the ability to use the clients on any machine to control everything.
Speakers in some rooms turn on/off completely with the room, while others stay on but toggle between music and text-to-speech, to make sure I hear those notices (which are like doors opening, washer is done, etc).
My main work setup has a snapcast client, so I hear TTS events even with noise canceling headphones on. Some snapcast clients are placed on existing machines (i.e. TV computer), while a few are dedicated Raspberry Pis.
I'm pretty sure all Spotify clients also act as "Spotify Connect" targets. Anyone could use it (also I could run an Airplay target on it, but I don't bother)
I've been using this fork of rune audio called rAudio-1 (rern/rAudio-1 on github). I figure both have had spotifyd integrations, so I'll just blanket them both for this thoughtful inclusion.
I keep an old raspberry pi with rAudio-1 running under my desk, with a nice 60 dollar DAC HAT, that runs into a small amp with 2 rca cables, and then into speakers.
Generally I keep it playing a private shoutcast running music from my nas, but having spotifyd means I can interrupt it with anything I was just listening to on my phone - in the car, mowing the lawn, etc.
The continuity without the hassle is the kind of thing tech promised long ago. If it could make it one more step, the gap would be gone ... I should be able to just have all this software talking to each other, and knowing where I am, and playing automatically to whatever seems best, but the interoperability between them keeps it 1 foot from perfection.
Could someone please explain to me why this is cool/useful? I'm not a huge spotify user. Is the idea that I can set up the daemon on a networked computer in my home and then have it stream to speakers around my house?
Its an unofficial Spotify client for nix-based systems.
I suppose its cool if you run a riced nix environment, and you only want command-line tools. Or its cool for people who don't want to run the dedicated app or browser version.
In my experience, having tried a few different clients in the past, they sometimes fail due to changes on Spotify's side. I don't know if that situation has changed in the past few years.
Spotifyd is good to have considering Spotify deprecated and cut off the C library, thus breaking for example mopidy.
Unfortunately the MPRIS interface works weird. For example it didn't let me change the volume.
On top of that spotifyd seems to sometimes get "split brain" where it continues playing but I can't control it from my phone (Spotify Connect). My phone instead wants to play locally. Which is weird because Spotify normally only lets you play only from one device at the same time.
I've been struggling with Spotify's messed up developer experience for years. They deprecated libspotify years ago without an alternative, promised an upcoming alternative for years, and they eventually pulled the plug last year without even bothering to provide an alternative.
I've tested Librespot in the meantime, but it proved too cumbersome to configure and use as a non-standalone executable.
In the meantime mopidy-spotify (the project I've used for years on my RPis) has gone all the way to adding a Docker image just to support Librespot and the whole Rust environment that is required to build it. And, of course, it's not guaranteed that these projects will survive - Spotify can easily snap their fingers, change their API in a breaking way, and we're forced to play a catch-up game again. They have already done so in the past.
I therefore decided that a company that doesn't value my consumption use-cases, doesn't bother for the time I waste to adapt to their changes, and has a bad record of developer experience, is not worth my money. I wish the best of luck to the guys behind spotifyd, but I'm personally done after 10 years of chasing Spotify.
I've moved to Tidal in the meantime. It's still far from perfect, it still lacks an official Linux client and it's more buggy than Spotify. But at least there's a reversed engineered web API that so far they haven't bothered to fight nor change. And that's really all I need to build my music experience.
Yep, I have it running on a couple of Raspberry Pi and it works well. I hacked up one librespot on one of them to spit out track names in the event hooks so I could show them on an eink display hat!
I was in the same boat - I can't remember the exact issue now - but I had to both compile locally and revert back to an older version for it to work. There were issues on Github relating to my exact problem but I can't find them now. Currently running 0.3.3 as my daily driver, no issues.
Has anyone integrated this with airplay successfully? I would love to be able to use spotify connect to stream to my airplay speakers without leaving a phone or laptop engaged
We now have a few years of experience with music streaming. And what we've learned is that -- sure, it's convenient -- but honestly hasn't much improved the lot of artists and musicians. It's a new exploitative system that's perhaps slightly better than the old exploitative system.
We can do better. Literally, locally, and for friends. I used to do MPD, but now I'm glad for things like mstream that make this sort of thing even easier. I hope funkwhale and other federated things do better as well.
This has never been the dichotomy; but now that you mention it -- actually, yeah. I'd rather spend thousands of dollars on CDs (in that environment where shopping for them was like it used to be) than iTunes (etc., which I've tried but never found worth continually paying for)
There are still music stores, nothing is stopping you from buying music like we did before Napster let the cat out of the bag. People are allowed to have different utility functions and preferences, sorry yours seems to be going out of fashion.
Meh, I always pirated music before Spotify. Then I got a free test account and now am a happy paying customer for forever. As soon as someone with a reasonably similar library and better linux integration than a half abandoned electron app comes along i'll switch.If Artists feel so bad about they should form a union and collectively bargain for a better position.
I'm sure someone will find a use case for this. For example, a long time ago I hooked up a Raspberry pi to my receiver/speaker system and used mplayer to keep a persistent connection to a remote Internet radio stream. Whenever I wanted to listen to it, all I need to do was turn on my receiver and select that audio interface.
The fact that this is receiving downboats and 'but muh convenience, artists deserve to get fucked over because Spotify found a better way to exploit human psychology!' is truly an orange site moment. I pirate the majority of the music I listen to (and most artists except for super rich mainstream ones would rather their music spread as much as possible than receive literal pennies from a Spotify stream) and buy stuff from Bandcamp when an artist is actually still around and making stuff. I never listen to ads and have all the files saved locally in lossless formats. I've never had a Spotify account for anything other than a podcast that is exclusive to it and have never cared to switch, and can't even use the excuse that I'm too old and stubborn in my ways.
I prefer a world that supports artists to one that doesn't, but from a purely selfish perspective, there's already so much recorded music that I do love or will, if/when I eventually discover it, love, that I wouldn't run out of novel, great material that's to my taste, in two lifetimes. There are whole major genres I've barely even touched so far.
The effect on my lifetime QOL would be basically zero if no new commercial music were created ever again.
Between dead artists and art-for-art-sake artists we're not gonna run out of stuff to listen to, even if intellectual property was abolished tomorrow morning (as it should be). It only works for the 1 percent at the top anyway (due to power law distribution).
Can you or jrm4 explain why Spotify's royalty system (a 70/30 split in favour of the rights holder) is unfair?
If I had to guess I'd say it convinces artists to license their work for less money than they'd make if they stuck it on Bandcamp, but I'm not certain, and neither of you has explained it.
I specifically said "hasn't improved much" instead of "unfair" because I do realize that it wasn't particularly fair before?
At present, it seems like the most fair thing would be to just be honest about the fact that royalties from Spotify and royalties from piracy for the vast majority of artists is roughly equal. :)
Well , it’s either I listen to it using this easy platform for us common folk, or I don’t listen to them at all. Or i pirate. It’s not that deep , you can get off your high horse.
There's no high horse. Your message doesn't answer the argument. The fact (A) that one wouldn't buy music if Spotify weren't available is not related to (B) not caring about how Spotify treats artists.
Even if A is true, it doesn't imply that one has no empathy for artists.
You don't think it has any impact? Even on the margins? I think it's basically expected that musicians will give up some day and join the working world, in part because it's so hard to make a living in. If it's harder to make a living -> more people give up -> less music. If it's easier -> fewer people give up -> more music.
It’s not a question of whether it has no impact or not because that’s irrelevant. You would actively have to punish people for making music in order for music not to be made—that’s how strong that force is. (Well heck, maybe more music would be made in that case, out of spite and rebellion.)
No music at all is not the concern, music you like not being made by artists you admire is the concern. This is basically the entire premise of Patreon btw.
So surely there would be also some gifted people who happen to have the luxory to focus completely on the music they want to make, but those would be the exception.
this + a good TUI is likely to get me to subscribe to spotify premium. Does anyone know if there's a good TUI front end to YouTube music or Apple Music to save me an additional subscription (I already sub to Apple Music via a family share thing and Youtube Music because of Youtube Red/Premium).
However Spotify doesn't agree. If this is based on librespot its using stuff Spotify doesn't support and could easily shut down for unauthorized clients any time.
Their supported paths are iOS and Android SDKs for mobile, and the Web Playback SDK for desktop [1]. I've been using the web SDK in anger to build a jukebox app [2] and its only so-so.
First, you're under the confines of a web browser which has some pretty big tradeoffs over the experience and system integrations you can build.
Next, song playback works as advertised but there are many things you can't do like introspect the queue or prevent Spotify Radio from kicking in.
The latter is downright hostile to controlling exactly what songs you hear. I assume that always going into auto-recommendation mode is intentional to juice playback stats.
Kudos to spotifyd for offering total control over how and where you stream music you're paying for.
1. https://developer.spotify.com/documentation/web-playback-sdk...
2. https://www.getjukelab.com/